/** * Forgery constructor * * @param string $entity */ public function __forge($entity) { $this->entity = $entity; $this->scaffold = \Magelight\Admin\Models\Scaffold\Scaffold::forge(); $this->scaffold->loadEntities(); $this->setConfigs('scaffold-' . $entity, $this->url(self::URL_PATTERN, ['entity' => $entity])); $this->setHorizontal(); $fieldSet = \Magelight\Webform\Blocks\Fieldset::forge(); $this->model = $this->scaffold->getEntityModel($this->entity); foreach ($this->scaffold->getEntityFields($this->entity) as $field) { $fieldConfig = $this->scaffold->getEntityFieldConfig($this->entity, $field); $row = \Magelight\Webform\Blocks\Row::forge(); /** @var $fieldInput \Magelight\Webform\Blocks\Elements\Input */ $fields = []; $fieldInput = self::callStaticLate([(string) $fieldConfig->class, 'forge']); $fieldInput->setName($field); $label = !empty($fieldConfig->label) ? (string) $fieldConfig->label : $field; $hint = !empty($fieldConfig->hint) ? (string) $fieldConfig->hint : ''; $fields[] = $fieldInput; if ((bool) (string) $fieldConfig->allow_null) { $checkboxNull = \Magelight\Webform\Blocks\Elements\LabeledCheckbox::forge(); $checkboxNull->setName("set-null[{$field}]"); $checkboxNull->setContent('Set NULL'); $fields[] = $checkboxNull; } $row->addField($fields, $label, $hint); $fieldSet->addRow($row); } $this->addFieldset($fieldSet); $this->createResultRow(true); $this->addButtonsRow([\Magelight\Webform\Blocks\Elements\Button::forge()->setType('submit')->setContent('Save')]); }
/** * Forgery * * @param $entity * @param $page */ public function __forge($entity, $page) { $this->setEntity($entity); $this->setPage($page); $this->scaffold = \Magelight\Admin\Models\Scaffold\Scaffold::forge(); $this->scaffold->loadEntities(); $this->sectionReplace('pager', \Magelight\Core\Blocks\Pager::forge($this->getCollection())->setRoute(\Magelight\App::getInstance()->getCurrentAction()['match'], ['entity' => $entity])->addClass('pagination-small')->addClass('pagination-centered')); }
/** * Forgery */ public function __forge() { $this->scaffold = \Magelight\Admin\Models\Scaffold\Scaffold::forge(); $this->entities = $this->scaffold->loadEntities(); }