Completed
Push — 8.x-1.x ( 591469...d3c594 )
by Janez
02:00
created
src/RouteSubscriber.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -62,7 +62,7 @@
 block discarded – undo
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
 
Please login to merge, or discard this patch.
src/WidgetSelectorInterface.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -30,7 +30,7 @@
 block discarded – undo
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.
Please login to merge, or discard this patch.
src/Wizard/EntityBrowserWizard.php 1 patch
Doc Comments   +1 added lines, -3 removed lines patch added patch discarded remove patch
@@ -34,9 +34,7 @@
 block discarded – undo
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') {
Please login to merge, or discard this patch.
src/Plugin/EntityBrowser/Widget/Upload.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -125,7 +125,7 @@
 block discarded – undo
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
         }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -208,8 +208,7 @@
 block discarded – undo
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
     }
Please login to merge, or discard this patch.
src/Controllers/EntityBrowserController.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -43,12 +43,12 @@
 block discarded – undo
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)) {
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -45,8 +45,7 @@
 block discarded – undo
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.
Please login to merge, or discard this patch.
src/Plugin/Field/FieldWidget/EntityReferenceBrowserWidget.php 2 patches
Braces   +4 added lines, -8 removed lines patch added patch discarded remove patch
@@ -453,8 +453,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 
Please login to merge, or discard this patch.
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -170,7 +170,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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;
Please login to merge, or discard this patch.
modules/entity_form/entity_browser_entity_form.module 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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;
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -165,8 +165,7 @@
 block discarded – undo
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
       ];
Please login to merge, or discard this patch.
src/Form/GeneralInfoConfig.php 1 patch
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -90,9 +90,9 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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'] = [
Please login to merge, or discard this patch.
src/Form/WidgetsConfig.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -53,10 +53,10 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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',
Please login to merge, or discard this patch.