/**
  * @param array|ArrayInterface $data The search widget data.
  * @return TableWidget Chainable
  */
 public function setData($data)
 {
     $objData = $this->dataFromObject();
     $data = array_merge_recursive($objData, $data);
     parent::setData($data);
     return $this;
 }
 /**
  * @param Container $container The DI container.
  * @return void
  */
 public function setDependencies(Container $container)
 {
     parent::setDependencies($container);
     $this->setHttpRequest($container['request']);
     // Fill FormInterface dependencies
     $this->setFormGroupFactory($container['form/group/factory']);
     // Fill LayoutAwareInterface dependencies
     $this->setLayoutBuilder($container['layout/builder']);
     // Required Dependencies
     $this->setWidgetFactory($container['widget/factory']);
 }
 /**
  * @param array|ArrayInterface $data The widget AND property data.
  * @return FormProperty Chainable
  */
 public function setData($data)
 {
     parent::setData($data);
     // Keep the data in copy, this will be passed to the property and/or input later
     $this->propertyData = $data;
     return $this;
 }
 /**
  * Retrieve the default data source filters (when setting data on an entity).
  *
  * Note: Adapted from {@see \Slim\CallableResolver}.
  *
  * @link   https://github.com/slimphp/Slim/blob/3.x/Slim/CallableResolver.php
  * @param  mixed $toResolve A callable used when merging data.
  * @return callable|null
  */
 protected function resolveDataSourceFilter($toResolve)
 {
     if (is_string($toResolve)) {
         $model = $this->proto();
         $resolved = [$model, $toResolve];
         // check for slim callable as "class:method"
         $callablePattern = '!^([^\\:]+)\\:([a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*)$!';
         if (preg_match($callablePattern, $toResolve, $matches)) {
             $class = $matches[1];
             $method = $matches[2];
             if ($class === 'parent') {
                 $resolved = [$model, $class . '::' . $method];
             }
         }
         $toResolve = $resolved;
     }
     return parent::resolveDataSourceFilter($toResolve);
 }
 /**
  * Inject dependencies from a DI Container.
  *
  * @param  Container $container A dependencies container instance.
  * @return void
  */
 public function setDependencies(Container $container)
 {
     parent::setDependencies($container);
     $this->setSidemenuGroupFactory($container['sidemenu/group/factory']);
 }