/** * @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']); }