/** * Create the item, which is a single EmbedField * * @param $item * @return string */ protected function createItemField($item) { $embedField = new EmbedField("__embed_data", $this->key, $this->field, [], $item); return '<div class="col-md-12">' . '<div class="form-group sharp-field sharp-field-embed">' . $embedField->make() . '</div></div>'; }
/** * Create the form field * * @param $key * @param SharpEntityFormField $field * @param Object $instance : the Model object valuated * @param string $listKey * @return null|string */ protected function createField($key, SharpEntityFormField $field, $instance, $listKey) { $attributes = $field->attributes ?: []; $attributes["autocomplete"] = "off"; $this->addClass("form-control", $attributes); switch ($field->type) { case 'text': $field = new TextField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'password': $field = new PasswordField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'textarea': $field = new TextareaField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'choose': $field = new ChooseField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'check': $field = new CheckField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'markdown': $field = new MarkdownField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'file': $field = new FileField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'list': $field = new ListField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'ref': $field = new RefField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'refSublistItem': $field = new RefSublistItemField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'pivot': $field = new PivotTagsField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'date': $field = new DateField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'hidden': $field = new HiddenField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'label': $field = new LabelField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'embed': $field = new EmbedField($key, $listKey, $field, $attributes, $instance); return $field->make(); case 'embed_list': $field = new EmbedListField($key, $listKey, $field, $attributes, $instance); return $field->make(); } return null; }