class NestedForm

Class NestedForm.

Constants

DEFAULT_KEY_NAME

REMOVE_FLAG_NAME

REMOVE_FLAG_CLASS

Properties

protected mixed $key
protected string $relationName
protected Model $model

NestedForm key.

protected Collection $fields

Fields in form.

protected array $original

Original data for this field.

protected Form $form

Methods

__construct(string $relation, Model $model = null)

Create a new NestedForm instance.

Model|null
model()

Get current model.

mixed|null
getKey()

Get the value of the model's primary key.

$this
setKey(mixed $key)

Set key for current form.

$this
setForm(Form $form = null)

Set Form.

getForm()

Get form.

$this
setOriginal(array $data, string $relatedKeyName = null)

Set original values for fields.

mixed
prepare(array $input)

Prepare for insert or update.

void
setFieldOriginalValue(string $key)

Set original data for each field.

array
prepareRecord(array $record)

Do prepare work before store and update.

array|mixed
fetchColumnValue(array $data, string|array $columns)

Fetch value in input data by column name.

$this
pushField(Field $field)

No description

Collection
fields()

Get fields of this form.

$this
fill(array $data)

Fill data to all fields in form.

array
getTemplateHtmlAndScript()

Get the html and script of template.

formatField(Field $field)

Set errorKey elementName elementClass for fields inside hasmany fields.

mixed
__call(string $method, array $arguments)

Add nested-form fields dynamically.

text(mixed $column, mixed $label)

No description

checkbox(mixed $column, mixed $label)

No description

radio(mixed $column, mixed $label)

No description

select(mixed $column, mixed $label)

No description

multipleSelect(mixed $column, mixed $label)

No description

textarea(mixed $column, mixed $label)

No description

hidden(mixed $column, mixed $label)

No description

Id
id(mixed $column, mixed $label)

No description

Ip
ip(mixed $column, mixed $label)

No description

Url
url(mixed $column, mixed $label)

No description

color(mixed $column, mixed $label)

No description

email(mixed $column, mixed $label)

No description

mobile(mixed $column, mixed $label)

No description

slider(mixed $column, mixed $label)

No description

Map
map(mixed $latitude, mixed $longitude, mixed $label)

No description

editor(mixed $column, mixed $label)

No description

file(mixed $column, mixed $label)

No description

image(mixed $column, mixed $label)

No description

date(mixed $column, mixed $label)

No description

datetime(mixed $column, mixed $label)

No description

time(mixed $column, mixed $label)

No description

year(mixed $column, mixed $label)

No description

month(mixed $column, mixed $label)

No description

dateRange(mixed $start, mixed $end, mixed $label)

No description

DateTimeRange
datetimeRange(mixed $start, mixed $end, mixed $label)

No description

timeRange(mixed $start, mixed $end, mixed $label)

No description

number(mixed $column, mixed $label)

No description

currency(mixed $column, mixed $label)

No description

hasMany(mixed $relationName, mixed $callback)

No description

switch() $$column, $label)

No description

display(mixed $column, mixed $label)

No description

rate(mixed $column, mixed $label)

No description

Divide
divider()

No description

password(mixed $column, mixed $label)

No description

decimal(mixed $column, mixed $label)

No description

html(mixed $html, mixed $label)

No description

tags(mixed $column, mixed $label)

No description

icon(mixed $column, mixed $label)

No description

embeds(mixed $column, mixed $label)

No description

Details

at line 105
__construct(string $relation, Model $model = null)

Create a new NestedForm instance.

NestedForm constructor.

Parameters

string $relation
Model $model

at line 119
Model|null model()

Get current model.

Return Value

Model|null

at line 129
mixed|null getKey()

Get the value of the model's primary key.

Return Value

mixed|null

at line 153
$this setKey(mixed $key)

Set key for current form.

Parameters

mixed $key

Return Value

$this

at line 167
$this setForm(Form $form = null)

Set Form.

Parameters

Form $form

Return Value

$this

at line 179
Form getForm()

Get form.

Return Value

Form

at line 192
$this setOriginal(array $data, string $relatedKeyName = null)

Set original values for fields.

Parameters

array $data
string $relatedKeyName

Return Value

$this

at line 219
mixed prepare(array $input)

Prepare for insert or update.

Parameters

array $input

Return Value

mixed

at line 236
protected void setFieldOriginalValue(string $key)

Set original data for each field.

Parameters

string $key

Return Value

void

at line 255
protected array prepareRecord(array $record)

Do prepare work before store and update.

Parameters

array $record

Return Value

array

at line 302
protected array|mixed fetchColumnValue(array $data, string|array $columns)

Fetch value in input data by column name.

Parameters

array $data
string|array $columns

Return Value

array|mixed

at line 326
$this pushField(Field $field)

No description

Parameters

Field $field

Return Value

$this

at line 338
Collection fields()

Get fields of this form.

Return Value

Collection

at line 350
$this fill(array $data)

Fill data to all fields in form.

Parameters

array $data

Return Value

$this

at line 365
array getTemplateHtmlAndScript()

Get the html and script of template.

Return Value

array

at line 387
protected Field formatField(Field $field)

Set errorKey elementName elementClass for fields inside hasmany fields.

Parameters

Field $field

Return Value

Field

at line 421
mixed __call(string $method, array $arguments)

Add nested-form fields dynamically.

Parameters

string $method
array $arguments

Return Value

mixed

at line 53
Text text(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Text

at line 53
Checkbox checkbox(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Checkbox

at line 53
Radio radio(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Radio

at line 53
Select select(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Select

at line 53
MultipleSelect multipleSelect(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

MultipleSelect

at line 53
Textarea textarea(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Textarea

at line 53
Hidden hidden(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Hidden

at line 53
Id id(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Id

at line 53
Ip ip(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Ip

at line 53
Url url(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Url

at line 53
Color color(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Color

at line 53
Email email(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Email

at line 53
Mobile mobile(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Mobile

at line 53
Slider slider(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Slider

at line 53
Map map(mixed $latitude, mixed $longitude, mixed $label)

No description

Parameters

mixed $latitude
mixed $longitude
mixed $label

Return Value

Map

at line 53
Editor editor(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Editor

at line 53
File file(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

File

at line 53
Image image(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Image

at line 53
Date date(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Date

at line 53
Datetime datetime(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Datetime

at line 53
Time time(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Time

at line 53
Year year(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Year

at line 53
Month month(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Month

at line 53
DateRange dateRange(mixed $start, mixed $end, mixed $label)

No description

Parameters

mixed $start
mixed $end
mixed $label

Return Value

DateRange

at line 53
DateTimeRange datetimeRange(mixed $start, mixed $end, mixed $label)

No description

Parameters

mixed $start
mixed $end
mixed $label

Return Value

DateTimeRange

at line 53
TimeRange timeRange(mixed $start, mixed $end, mixed $label)

No description

Parameters

mixed $start
mixed $end
mixed $label

Return Value

TimeRange

at line 53
Number number(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Number

at line 53
Currency currency(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Currency

at line 53
HasMany hasMany(mixed $relationName, mixed $callback)

No description

Parameters

mixed $relationName
mixed $callback

Return Value

HasMany

at line 53
SwitchField switch() $$column, $label)

No description

Parameters

) $$column
$label

Return Value

SwitchField

at line 53
Display display(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Display

at line 53
Rate rate(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Rate

at line 53
Divide divider()

No description

Return Value

Divide

at line 53
Password password(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Password

at line 53
Decimal decimal(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Decimal

at line 53
Html html(mixed $html, mixed $label)

No description

Parameters

mixed $html
mixed $label

Return Value

Html

at line 53
Tags tags(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Tags

at line 53
Icon icon(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Icon

at line 53
Embeds embeds(mixed $column, mixed $label)

No description

Parameters

mixed $column
mixed $label

Return Value

Embeds