Example #1
0
 /**
  * @param array $handlerNames
  * @return HandlerInterface[]
  */
 public function process(array $handlerNames)
 {
     $handlerObjects = [];
     foreach ($handlerNames as $name => $className) {
         $handlerObjects[$name] = $this->handlerPool->get($className);
     }
     return $handlerObjects;
 }
 /**
  * Prepare configuration data
  *
  * @return void
  */
 protected function prepareFields()
 {
     foreach ($this->data['fieldsets'] as $fieldsetName => $fieldset) {
         $this->data['fieldsets'][$fieldsetName]['source'] = $this->collectionFactory->create();
         if (isset($fieldset['provider'])) {
             $fieldsetObject = $this->fieldsetPool->get($fieldset['provider']);
             $this->data['fieldsets'][$fieldsetName] = $fieldsetObject->addDynamicData($this->data['fieldsets'][$fieldsetName]);
         }
         foreach ($this->data['fieldsets'][$fieldsetName]['fields'] as $fieldName => $field) {
             $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['origin'] = $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['origin'] ?: $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['name'];
             if ($fieldsetName != 0) {
                 $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['name'] = $this->data['fieldsets'][$fieldsetName]['name'] . '_' . $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['name'];
             }
             $this->saveFieldByType($field);
             $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['handler'] = $this->handlerPool->get($field['handler']);
             $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['dataType'] = isset($field['dataType']) ? $field['dataType'] : 'varchar';
         }
     }
 }