@@ -62,7 +62,7 @@ |
||
62 | 62 | /** @var $browser \Drupal\entity_browser\EntityBrowserInterface */ |
63 | 63 | $browser = $this->browserStorage->load($id); |
64 | 64 | if ($route = $browser->route()) { |
65 | - $collection->add('entity_browser.' . $browser->id(), $route); |
|
65 | + $collection->add('entity_browser.'.$browser->id(), $route); |
|
66 | 66 | } |
67 | 67 | } |
68 | 68 |
@@ -30,7 +30,7 @@ |
||
30 | 30 | * @return array |
31 | 31 | * Form structure. |
32 | 32 | */ |
33 | - public function getForm(array &$form, FormStateInterface &$form_state); |
|
33 | + public function getForm(array &$form, FormStateInterface&$form_state); |
|
34 | 34 | |
35 | 35 | /** |
36 | 36 | * Sets the default widget. |
@@ -34,9 +34,7 @@ |
||
34 | 34 | * The entity manager. |
35 | 35 | * @param $tempstore_id |
36 | 36 | * The shared temp store factory collection name. |
37 | - * @param null $machine_name |
|
38 | - * The SharedTempStore key for our current wizard values. |
|
39 | - * @param null $step |
|
37 | + * @param string|null $step |
|
40 | 38 | * The current active step of the wizard. |
41 | 39 | */ |
42 | 40 | public function __construct(SharedTempStoreFactory $tempstore, FormBuilderInterface $builder, ClassResolverInterface $class_resolver, EventDispatcherInterface $event_dispatcher, EntityManagerInterface $entity_manager, RouteMatchInterface $route_match, $tempstore_id, $entity_browser = NULL, $step = 'general') { |
@@ -125,7 +125,7 @@ |
||
125 | 125 | $files = $this->prepareEntities($form, $form_state); |
126 | 126 | array_walk( |
127 | 127 | $files, |
128 | - function (FileInterface $file) { |
|
128 | + function(FileInterface $file) { |
|
129 | 129 | $file->setPermanent(); |
130 | 130 | $file->save(); |
131 | 131 | } |
@@ -208,8 +208,7 @@ |
||
208 | 208 | $extensions = implode(' ', array_unique($extensions)); |
209 | 209 | if (!preg_match('/^([a-z0-9]+([.][a-z0-9])* ?)+$/', $extensions)) { |
210 | 210 | $form_state->setError($element, t('The list of allowed extensions is not valid, be sure to exclude leading dots and to separate extensions with a comma or space.')); |
211 | - } |
|
212 | - else { |
|
211 | + } else { |
|
213 | 212 | $form_state->setValueForElement($element, $extensions); |
214 | 213 | } |
215 | 214 | } |
@@ -43,12 +43,12 @@ |
||
43 | 43 | // Return the form as a modal dialog. |
44 | 44 | $form['#attached']['library'][] = 'core/drupal.dialog.ajax'; |
45 | 45 | $title = $this->t('Edit entity @entity', ['@entity' => $entity->label()]); |
46 | - $response = AjaxResponse::create()->addCommand(new OpenDialogCommand('#' . $entity->getEntityTypeId() . '-' . $entity->id() . '-edit-dialog', $title, $form, ['modal' => TRUE, 'width' => 800])); |
|
46 | + $response = AjaxResponse::create()->addCommand(new OpenDialogCommand('#'.$entity->getEntityTypeId().'-'.$entity->id().'-edit-dialog', $title, $form, ['modal' => TRUE, 'width' => 800])); |
|
47 | 47 | return $response; |
48 | 48 | } |
49 | 49 | else { |
50 | 50 | // Return command for closing the modal. |
51 | - $response = AjaxResponse::create()->addCommand(new CloseDialogCommand('#' . $entity->getEntityTypeId() . '-' . $entity->id() . '-edit-dialog')); |
|
51 | + $response = AjaxResponse::create()->addCommand(new CloseDialogCommand('#'.$entity->getEntityTypeId().'-'.$entity->id().'-edit-dialog')); |
|
52 | 52 | // Also refresh the widget if "details_id" is provided. |
53 | 53 | $details_id = $request->query->get('details_id'); |
54 | 54 | if (!empty($details_id)) { |
@@ -45,8 +45,7 @@ |
||
45 | 45 | $title = $this->t('Edit entity @entity', ['@entity' => $entity->label()]); |
46 | 46 | $response = AjaxResponse::create()->addCommand(new OpenDialogCommand('#' . $entity->getEntityTypeId() . '-' . $entity->id() . '-edit-dialog', $title, $form, ['modal' => TRUE, 'width' => 800])); |
47 | 47 | return $response; |
48 | - } |
|
49 | - else { |
|
48 | + } else { |
|
50 | 49 | // Return command for closing the modal. |
51 | 50 | $response = AjaxResponse::create()->addCommand(new CloseDialogCommand('#' . $entity->getEntityTypeId() . '-' . $entity->id() . '-edit-dialog')); |
52 | 51 | // Also refresh the widget if "details_id" is provided. |
@@ -453,8 +453,7 @@ discard block |
||
453 | 453 | // and use this information to return correct part of the form. |
454 | 454 | if (!empty($trigger['#ajax']['event']) && $trigger['#ajax']['event'] == 'entity_browser_value_updated') { |
455 | 455 | $parents = array_slice($trigger['#array_parents'], 0, -1); |
456 | - } |
|
457 | - elseif ($trigger['#type'] == 'submit' && strpos($trigger['#name'], '_remove_')) { |
|
456 | + } elseif ($trigger['#type'] == 'submit' && strpos($trigger['#name'], '_remove_')) { |
|
458 | 457 | $parents = array_slice($trigger['#array_parents'], 0, -static::$deleteDepth); |
459 | 458 | } |
460 | 459 | |
@@ -621,12 +620,10 @@ discard block |
||
621 | 620 | $entity_browser_id = $this->getSetting('entity_browser'); |
622 | 621 | if (empty($entity_browser_id)) { |
623 | 622 | return [$this->t('No entity browser selected.')]; |
624 | - } |
|
625 | - else { |
|
623 | + } else { |
|
626 | 624 | if ($browser = $this->entityTypeManager->getStorage('entity_browser')->load($entity_browser_id)) { |
627 | 625 | $summary[] = $this->t('Entity browser: @browser', ['@browser' => $browser->label()]); |
628 | - } |
|
629 | - else { |
|
626 | + } else { |
|
630 | 627 | drupal_set_message($this->t('Missing entity browser!'), 'error'); |
631 | 628 | return [$this->t('Missing entity browser!')]; |
632 | 629 | } |
@@ -636,8 +633,7 @@ discard block |
||
636 | 633 | $selection_mode_options = EntityBrowserElement::getSelectionModeOptions(); |
637 | 634 | if (isset($selection_mode_options[$selection_mode])) { |
638 | 635 | $summary[] = $this->t('Selection mode: @selection_mode', ['@selection_mode' => $selection_mode_options[$selection_mode]]); |
639 | - } |
|
640 | - else { |
|
636 | + } else { |
|
641 | 637 | $summary[] = $this->t('Undefined selection mode.'); |
642 | 638 | } |
643 | 639 |
@@ -170,7 +170,7 @@ discard block |
||
170 | 170 | } |
171 | 171 | } |
172 | 172 | |
173 | - $id = Html::getUniqueId('field-' . $this->fieldDefinition->getName() . '-display-settings-wrapper'); |
|
173 | + $id = Html::getUniqueId('field-'.$this->fieldDefinition->getName().'-display-settings-wrapper'); |
|
174 | 174 | $element['field_widget_display'] = [ |
175 | 175 | '#title' => $this->t('Entity display plugin'), |
176 | 176 | '#type' => 'select', |
@@ -220,7 +220,7 @@ discard block |
||
220 | 220 | '#type' => 'fieldset', |
221 | 221 | '#title' => $this->t('Entity display plugin configuration'), |
222 | 222 | '#tree' => TRUE, |
223 | - '#prefix' => '<div id="' . $id . '">', |
|
223 | + '#prefix' => '<div id="'.$id.'">', |
|
224 | 224 | '#suffix' => '</div>', |
225 | 225 | ]; |
226 | 226 | |
@@ -303,7 +303,7 @@ discard block |
||
303 | 303 | * A key for form state storage. |
304 | 304 | */ |
305 | 305 | protected function getFormStateKey(FieldItemListInterface $items) { |
306 | - return $items->getEntity()->uuid() . ':' . $items->getFieldDefinition()->getName(); |
|
306 | + return $items->getEntity()->uuid().':'.$items->getFieldDefinition()->getName(); |
|
307 | 307 | } |
308 | 308 | |
309 | 309 | /** |
@@ -315,7 +315,7 @@ discard block |
||
315 | 315 | |
316 | 316 | // Get correct ordered list of entity IDs. |
317 | 317 | $ids = array_map( |
318 | - function (EntityInterface $entity) { |
|
318 | + function(EntityInterface $entity) { |
|
319 | 319 | return $entity->id(); |
320 | 320 | }, |
321 | 321 | $entities |
@@ -329,8 +329,8 @@ discard block |
||
329 | 329 | // might result in unpredictable results. |
330 | 330 | $form_state->set(['entity_browser_widget', $this->getFormStateKey($items)], $ids); |
331 | 331 | |
332 | - $hidden_id = Html::getUniqueId('edit-' . $this->fieldDefinition->getName() . '-target-id'); |
|
333 | - $details_id = Html::getUniqueId('edit-' . $this->fieldDefinition->getName()); |
|
332 | + $hidden_id = Html::getUniqueId('edit-'.$this->fieldDefinition->getName().'-target-id'); |
|
333 | + $details_id = Html::getUniqueId('edit-'.$this->fieldDefinition->getName()); |
|
334 | 334 | |
335 | 335 | $element += [ |
336 | 336 | '#id' => $details_id, |
@@ -345,8 +345,8 @@ discard block |
||
345 | 345 | // We need to repeat ID here as it is otherwise skipped when rendering. |
346 | 346 | '#attributes' => ['id' => $hidden_id], |
347 | 347 | '#default_value' => implode(' ', array_map( |
348 | - function (EntityInterface $item) { |
|
349 | - return $item->getEntityTypeId() . ':' . $item->id(); |
|
348 | + function(EntityInterface $item) { |
|
349 | + return $item->getEntityTypeId().':'.$item->id(); |
|
350 | 350 | }, |
351 | 351 | $entities |
352 | 352 | )), |
@@ -398,7 +398,7 @@ discard block |
||
398 | 398 | */ |
399 | 399 | public static function processEntityBrowser(&$element, FormStateInterface $form_state, &$complete_form) { |
400 | 400 | $uuid = key($element['#attached']['drupalSettings']['entity_browser']); |
401 | - $element['#attached']['drupalSettings']['entity_browser'][$uuid]['selector'] = '#' . $element['#custom_hidden_id']; |
|
401 | + $element['#attached']['drupalSettings']['entity_browser'][$uuid]['selector'] = '#'.$element['#custom_hidden_id']; |
|
402 | 402 | return $element; |
403 | 403 | } |
404 | 404 | |
@@ -508,7 +508,7 @@ discard block |
||
508 | 508 | '#theme_wrappers' => ['container'], |
509 | 509 | '#attributes' => ['class' => $classes], |
510 | 510 | 'items' => array_map( |
511 | - function (ContentEntityInterface $entity, $row_id) use ($field_widget_display, $details_id, $field_parents) { |
|
511 | + function(ContentEntityInterface $entity, $row_id) use ($field_widget_display, $details_id, $field_parents) { |
|
512 | 512 | $display = $field_widget_display->view($entity); |
513 | 513 | $edit_button_access = $this->getSetting('field_widget_edit') && $entity->access('update', $this->currentUser); |
514 | 514 | if ($entity->getEntityTypeId() == 'file') { |
@@ -524,7 +524,7 @@ discard block |
||
524 | 524 | '#theme_wrappers' => ['container'], |
525 | 525 | '#attributes' => [ |
526 | 526 | 'class' => ['item-container', Html::getClass($field_widget_display->getPluginId())], |
527 | - 'data-entity-id' => $entity->getEntityTypeId() . ':' . $entity->id(), |
|
527 | + 'data-entity-id' => $entity->getEntityTypeId().':'.$entity->id(), |
|
528 | 528 | 'data-row-id' => $row_id, |
529 | 529 | ], |
530 | 530 | 'display' => $display, |
@@ -536,10 +536,10 @@ discard block |
||
536 | 536 | 'wrapper' => $details_id, |
537 | 537 | ], |
538 | 538 | '#submit' => [[get_class($this), 'removeItemSubmit']], |
539 | - '#name' => $this->fieldDefinition->getName() . '_remove_' . $entity->id() . '_' . $row_id . '_' . md5(json_encode($field_parents)), |
|
539 | + '#name' => $this->fieldDefinition->getName().'_remove_'.$entity->id().'_'.$row_id.'_'.md5(json_encode($field_parents)), |
|
540 | 540 | '#limit_validation_errors' => [array_merge($field_parents, [$this->fieldDefinition->getName()])], |
541 | 541 | '#attributes' => [ |
542 | - 'data-entity-id' => $entity->getEntityTypeId() . ':' . $entity->id(), |
|
542 | + 'data-entity-id' => $entity->getEntityTypeId().':'.$entity->id(), |
|
543 | 543 | 'data-row-id' => $row_id, |
544 | 544 | ], |
545 | 545 | '#access' => (bool) $this->getSetting('field_widget_remove'), |
@@ -678,7 +678,7 @@ discard block |
||
678 | 678 | } |
679 | 679 | // Submit was triggered by one of the "Remove" buttons. We need to walk |
680 | 680 | // few levels up to read value of "target_id" element. |
681 | - elseif ($trigger['#type'] == 'submit' && strpos($trigger['#name'], $this->fieldDefinition->getName() . '_remove_') === 0) { |
|
681 | + elseif ($trigger['#type'] == 'submit' && strpos($trigger['#name'], $this->fieldDefinition->getName().'_remove_') === 0) { |
|
682 | 682 | $parents = array_merge(array_slice($trigger['#parents'], 0, -static::$deleteDepth), ['target_id']); |
683 | 683 | } |
684 | 684 | |
@@ -735,7 +735,7 @@ discard block |
||
735 | 735 | // If an entity browser is being used in this widget, add it as a config |
736 | 736 | // dependency. |
737 | 737 | if ($browser_name = $this->getSetting('entity_browser')) { |
738 | - $dependencies['config'][] = 'entity_browser.browser.' . $browser_name; |
|
738 | + $dependencies['config'][] = 'entity_browser.browser.'.$browser_name; |
|
739 | 739 | } |
740 | 740 | |
741 | 741 | return $dependencies; |
@@ -18,7 +18,7 @@ discard block |
||
18 | 18 | /** |
19 | 19 | * Implements hook_inline_entity_form_reference_form_alter(). |
20 | 20 | */ |
21 | -function entity_browser_entity_form_inline_entity_form_reference_form_alter(&$reference_form, FormStateInterface &$form_state) { |
|
21 | +function entity_browser_entity_form_inline_entity_form_reference_form_alter(&$reference_form, FormStateInterface&$form_state) { |
|
22 | 22 | /** @var \Drupal\field\FieldConfigInterface $instance */ |
23 | 23 | $instance = $form_state->get([ |
24 | 24 | 'inline_entity_form', |
@@ -27,7 +27,7 @@ discard block |
||
27 | 27 | ]); |
28 | 28 | |
29 | 29 | /** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $form_display */ |
30 | - $entity_form_id = $instance->getTargetEntityTypeId() . '.' . $instance->getTargetBundle() . '.default'; |
|
30 | + $entity_form_id = $instance->getTargetEntityTypeId().'.'.$instance->getTargetBundle().'.default'; |
|
31 | 31 | // TODO - 'default' might become configurable or something else in the future. |
32 | 32 | // See https://www.drupal.org/node/2510274 |
33 | 33 | $form_display = \Drupal::entityTypeManager()->getStorage('entity_form_display')->load($entity_form_id); |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | ])); |
48 | 48 | |
49 | 49 | $cardinality = FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED; |
50 | - if($instance->getFieldStorageDefinition()->get('cardinality') !== $cardinality) { |
|
50 | + if ($instance->getFieldStorageDefinition()->get('cardinality') !== $cardinality) { |
|
51 | 51 | $cardinality = $instance->getFieldStorageDefinition()->get('cardinality') - $count_existing_selection; |
52 | 52 | } |
53 | 53 | |
@@ -119,7 +119,7 @@ discard block |
||
119 | 119 | $ief_id = $reference_form['#ief_id']; |
120 | 120 | $form_values = NestedArray::getValue($form_state->getValues(), $reference_form['#parents']); |
121 | 121 | $attach_entities = EntityBrowserElement::processEntityIds($form_values['entity_browser']['entity_ids']); |
122 | - $entities =& $form_state->get(['inline_entity_form', $ief_id, 'entities']); |
|
122 | + $entities = & $form_state->get(['inline_entity_form', $ief_id, 'entities']); |
|
123 | 123 | |
124 | 124 | // Determine the correct weight of the new element. |
125 | 125 | $weight = 0; |
@@ -165,8 +165,7 @@ |
||
165 | 165 | '#empty_value' => '_none', |
166 | 166 | '#default_value' => $plugin->getThirdPartySetting('entity_browser_entity_form', 'entity_browser_id'), |
167 | 167 | ]; |
168 | - } |
|
169 | - else { |
|
168 | + } else { |
|
170 | 169 | $element['message'] = [ |
171 | 170 | '#markup' => t('There are no entity browsers available. You can create one <a href="@url">here</a>.', ['@url' => Url::fromRoute('entity.entity_browser.collection')->toString()]), |
172 | 171 | ]; |
@@ -90,9 +90,9 @@ discard block |
||
90 | 90 | $entity_browser = $cached_values['entity_browser']; |
91 | 91 | |
92 | 92 | if (empty($entity_browser->id())) { |
93 | - $help_text = '<div class="clearfix eb-help-text"><h2>' . $this->t('Entity Browser creation instructions') . '</h2>'; |
|
94 | - $help_text .= '<p>' . $this->t('This is a multi-step form. In this first step you need to define the main characteristics of the Entity Browser (in other words, which plugins will be used for each functionality). In the following steps of this wizard, each individual plugin can be configured, when necessary.') . '</p>'; |
|
95 | - $help_text .= '<p>' . $this->t('You can find more detailed information about creating and configuring Entity Browsers at the <a href="@guide_href" target="_blank">official documentation</a>.', ['@guide_href' => 'https://drupal-media.gitbooks.io/drupal8-guide/content/modules/entity_browser/intro.html']) . '</p>'; |
|
93 | + $help_text = '<div class="clearfix eb-help-text"><h2>'.$this->t('Entity Browser creation instructions').'</h2>'; |
|
94 | + $help_text .= '<p>'.$this->t('This is a multi-step form. In this first step you need to define the main characteristics of the Entity Browser (in other words, which plugins will be used for each functionality). In the following steps of this wizard, each individual plugin can be configured, when necessary.').'</p>'; |
|
95 | + $help_text .= '<p>'.$this->t('You can find more detailed information about creating and configuring Entity Browsers at the <a href="@guide_href" target="_blank">official documentation</a>.', ['@guide_href' => 'https://drupal-media.gitbooks.io/drupal8-guide/content/modules/entity_browser/intro.html']).'</p>'; |
|
96 | 96 | $help_text .= '</div>'; |
97 | 97 | $form['help_text'] = [ |
98 | 98 | '#markup' => $help_text, |
@@ -100,10 +100,10 @@ discard block |
||
100 | 100 | } |
101 | 101 | |
102 | 102 | $displays = []; |
103 | - $display_description = $this->t('Choose here how the browser(s) should be presented to the end user. The available plugins are:') . '<ul>'; |
|
103 | + $display_description = $this->t('Choose here how the browser(s) should be presented to the end user. The available plugins are:').'<ul>'; |
|
104 | 104 | foreach ($this->displayManager->getDefinitions() as $plugin_id => $plugin_definition) { |
105 | 105 | $displays[$plugin_id] = $plugin_definition['label']; |
106 | - $display_description .= '<li><b>' . $plugin_definition['label'] . ':</b> ' . $plugin_definition['description'] . '</li>'; |
|
106 | + $display_description .= '<li><b>'.$plugin_definition['label'].':</b> '.$plugin_definition['description'].'</li>'; |
|
107 | 107 | } |
108 | 108 | $display_description .= '</ul>'; |
109 | 109 | $form['display'] = [ |
@@ -116,10 +116,10 @@ discard block |
||
116 | 116 | ]; |
117 | 117 | |
118 | 118 | $widget_selectors = []; |
119 | - $widget_description = $this->t('In the last step of the entity browser configuration you can decide how the widgets will be available to the editor. The available plugins are:') . '<ul>'; |
|
119 | + $widget_description = $this->t('In the last step of the entity browser configuration you can decide how the widgets will be available to the editor. The available plugins are:').'<ul>'; |
|
120 | 120 | foreach ($this->widgetSelectorManager->getDefinitions() as $plugin_id => $plugin_definition) { |
121 | 121 | $widget_selectors[$plugin_id] = $plugin_definition['label']; |
122 | - $widget_description .= '<li><b>' . $plugin_definition['label'] . ':</b> ' . $plugin_definition['description'] . '</li>'; |
|
122 | + $widget_description .= '<li><b>'.$plugin_definition['label'].':</b> '.$plugin_definition['description'].'</li>'; |
|
123 | 123 | } |
124 | 124 | $widget_description .= '</ul>'; |
125 | 125 | $form['widget_selector'] = [ |
@@ -132,10 +132,10 @@ discard block |
||
132 | 132 | ]; |
133 | 133 | |
134 | 134 | $selection_display = []; |
135 | - $selection_description = $this->t('You can optionally allow a "work-in-progress selection zone" to be available to the editor, while still navigating, browsing and selecting the entities. The available plugins are:') . '<ul>'; |
|
135 | + $selection_description = $this->t('You can optionally allow a "work-in-progress selection zone" to be available to the editor, while still navigating, browsing and selecting the entities. The available plugins are:').'<ul>'; |
|
136 | 136 | foreach ($this->selectionDisplayManager->getDefinitions() as $plugin_id => $plugin_definition) { |
137 | 137 | $selection_display[$plugin_id] = $plugin_definition['label']; |
138 | - $selection_description .= '<li><b>' . $plugin_definition['label'] . ':</b> ' . $plugin_definition['description'] . '</li>'; |
|
138 | + $selection_description .= '<li><b>'.$plugin_definition['label'].':</b> '.$plugin_definition['description'].'</li>'; |
|
139 | 139 | } |
140 | 140 | $selection_description .= '</ul>'; |
141 | 141 | $form['selection_display'] = [ |
@@ -53,10 +53,10 @@ discard block |
||
53 | 53 | $entity_browser = $form_state->getTemporaryValue('wizard')['entity_browser']; |
54 | 54 | |
55 | 55 | $widgets = []; |
56 | - $description = $this->t('The available plugins are:') . '<ul>'; |
|
56 | + $description = $this->t('The available plugins are:').'<ul>'; |
|
57 | 57 | foreach ($this->widgetManager->getDefinitions() as $plugin_id => $plugin_definition) { |
58 | 58 | $widgets[$plugin_id] = $plugin_definition['label']; |
59 | - $description .= '<li><b>' . $plugin_definition['label'] . ':</b> ' . $plugin_definition['description'] . '</li>'; |
|
59 | + $description .= '<li><b>'.$plugin_definition['label'].':</b> '.$plugin_definition['description'].'</li>'; |
|
60 | 60 | } |
61 | 61 | $description .= '</ul>'; |
62 | 62 | $default_widgets = []; |
@@ -67,7 +67,7 @@ discard block |
||
67 | 67 | $form['widget'] = [ |
68 | 68 | '#type' => 'select', |
69 | 69 | '#title' => $this->t('Add widget plugin'), |
70 | - '#options' => ['_none_' => '- ' . $this->t('Select a widget to add it') . ' -'] + $widgets, |
|
70 | + '#options' => ['_none_' => '- '.$this->t('Select a widget to add it').' -'] + $widgets, |
|
71 | 71 | '#description' => $description, |
72 | 72 | '#ajax' => [ |
73 | 73 | 'callback' => [get_class($this), 'tableUpdatedAjaxCallback'], |
@@ -121,7 +121,7 @@ discard block |
||
121 | 121 | $row['remove'] = [ |
122 | 122 | '#type' => 'submit', |
123 | 123 | '#value' => $this->t('Delete'), |
124 | - '#name' => 'remove' . $uuid, |
|
124 | + '#name' => 'remove'.$uuid, |
|
125 | 125 | '#ajax' => [ |
126 | 126 | 'callback' => [get_class($this), 'tableUpdatedAjaxCallback'], |
127 | 127 | 'wrapper' => 'widgets', |