本文整理汇总了PHP中Anomaly\Streams\Platform\Ui\Form\FormBuilder::getSkips方法的典型用法代码示例。如果您正苦于以下问题:PHP FormBuilder::getSkips方法的具体用法?PHP FormBuilder::getSkips怎么用?PHP FormBuilder::getSkips使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Anomaly\Streams\Platform\Ui\Form\FormBuilder
的用法示例。
在下文中一共展示了FormBuilder::getSkips方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: handle
/**
* Handle the command.
*/
public function handle()
{
if (!$this->builder->canSave()) {
return;
}
$form = $this->builder->getForm();
foreach ($this->builder->getSkips() as $fieldSlug) {
$form->removeField($fieldSlug);
}
}
示例2: compile
/**
* Compile rules from form fields.
*
* @param FormBuilder $builder
* @return array
*/
public function compile(FormBuilder $builder)
{
$rules = [];
$entry = $builder->getFormEntry();
$stream = $builder->getFormStream();
$locale = $this->config->get('streams::locales.default');
/* @var FieldType $field */
foreach ($builder->getEnabledFormFields() as $field) {
if ($field->isDisabled()) {
continue;
}
if (in_array($field->getField(), $builder->getSkips())) {
continue;
}
$fieldRules = array_filter(array_unique($field->getRules()));
$fieldRules = $field->extendRules($fieldRules);
if (!$stream instanceof StreamInterface) {
$rules[$field->getInputName()] = implode('|', $fieldRules);
continue;
}
if ($assignment = $stream->getAssignment($field->getField())) {
$type = $assignment->getFieldType();
if ($type->isRequired()) {
$fieldRules[] = 'required';
}
if (!isset($fieldRules['unique']) && $assignment->isUnique() && !$assignment->isTranslatable()) {
$unique = 'unique:' . $stream->getEntryTableName() . ',' . $field->getColumnName();
if ($entry && ($id = $entry->getId())) {
$unique .= ',' . $id;
}
$fieldRules[] = $unique;
}
if ($assignment->isTranslatable() && $field->getLocale() !== $locale) {
$fieldRules = array_diff($fieldRules, ['required']);
}
}
$rules[$field->getInputName()] = implode('|', array_unique($fieldRules));
}
return array_filter($rules);
}
示例3: build
/**
* Build the fields.
*
* @param FormBuilder $builder
*/
public function build(FormBuilder $builder)
{
$skips = $builder->getSkips();
$stream = $builder->getFormStream();
$entry = $builder->getFormEntry();
$this->input->read($builder);
/**
* Convert each field to a field object
* and put to the forms field collection.
*/
foreach ($builder->getFields() as $field) {
// Continue if skipping.
if (in_array($field['field'], $skips)) {
continue;
}
// Continue if not enabled.
if (!array_get($field, 'enabled', true)) {
continue;
}
$builder->addFormField($this->factory->make($field, $stream, $entry));
}
}