Skip to content
Snippets Groups Projects

Added wrapper to limit to match similar modules.

1 file
+ 13
13
Compare changes
  • Side-by-side
  • Inline
+ 13
13
@@ -48,10 +48,10 @@ class FormAlter {
$configuration = $section->getThirdPartySetting('layout_builder_limit', 'limit', LayoutBuilderLimit::DEFAULT_CONFIGURATION);
// Set current values from form.
$values = $form_state->getValues();
if (isset($values['layout_builder_limit']['scope'])) {
$configuration['scope'] = $values['layout_builder_limit']['scope'];
if (isset($values['layout_builder_limit']['settings'][$configuration['scope']])) {
$configuration['settings'][$configuration['scope']] = $values['layout_builder_limit']['settings'][$configuration['scope']];
if (isset($values['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['scope'])) {
$configuration['scope'] = $values['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['scope'];
if (isset($values['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['settings'][$configuration['scope']])) {
$configuration['settings'][$configuration['scope']] = $values['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['settings'][$configuration['scope']];
}
}
// Get configuration array and stub default settings.
@@ -60,7 +60,7 @@ class FormAlter {
$scope = $configuration['scope'];
$settings = $configuration['settings'] ?? [];
$form['layout_builder_limit'] = [
$form['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit'] = [
'#title' => t('Limit settings'),
'#type' => 'details',
'#weight' => 0,
@@ -68,7 +68,7 @@ class FormAlter {
$wrapper_id = 'layout-builder-limit-scope-settings';
$form['layout_builder_limit']['scope'] = [
$form['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['scope'] = [
'#title' => t('Limit by'),
'#type' => 'select',
'#options' => [
@@ -86,7 +86,7 @@ class FormAlter {
'#default_value' => $scope,
];
$form['layout_builder_limit']['scope_update'] = [
$form['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['scope_update'] = [
'#type' => 'submit',
'#value' => t('Update scope'),
'#name' => $wrapper_id,
@@ -100,7 +100,7 @@ class FormAlter {
]
];
$form['layout_builder_limit']['settings'] = [
$form['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['settings'] = [
'#type' => 'container',
'#attributes' => [
'id' => $wrapper_id,
@@ -111,19 +111,19 @@ class FormAlter {
switch ($scope) {
case LayoutBuilderLimit::LIMIT_REGION:
foreach ($section->getLayout()->getPluginDefinition()->getRegions() as $region_id => $region) {
$form['layout_builder_limit']['settings']['region'][$region_id] = [
$form['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['settings']['region'][$region_id] = [
'#type' => 'fieldset',
'#title' => t('Region "%label" limits', ['%label' => $region['label']]),
];
self::attachSettingsForm($form['layout_builder_limit']['settings']['region'][$region_id], $settings['region'][$region_id]);
self::attachSettingsForm($form['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['settings']['region'][$region_id], $settings['region'][$region_id]);
}
break;
case LayoutBuilderLimit::LIMIT_SECTION:
$form['layout_builder_limit']['settings']['section'] = [
$form['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['settings']['section'] = [
'#type' => 'fieldset',
'#title' => t('Section limits'),
];
self::attachSettingsForm($form['layout_builder_limit']['settings']['section'], $settings['section']);
self::attachSettingsForm($form['layout_settings']['layout_builder_limit_wrapper']['layout_builder_limit']['settings']['section'], $settings['section']);
break;
}
@@ -141,7 +141,7 @@ class FormAlter {
public function submitConfigureSectionForm($form, FormStateInterface $form_state) {
$sectionStorage = $form_state->getFormObject()->getSectionStorage();
$section = $sectionStorage->getSection($form_state->getValue('layout_builder_limit_delta'));
$settings = LayoutBuilderLimit::getDefaultConfiguration($section, $form_state->getValue('layout_builder_limit'));
$settings = LayoutBuilderLimit::getDefaultConfiguration($section, $form_state->getValue(['layout_settings', 'layout_builder_limit_wrapper', 'layout_builder_limit']));
$section->setThirdPartySetting('layout_builder_limit', 'limit', $settings);
}
Loading