class UserFormFieldEditorExtension extends Extension (View source)

Properties

protected T $owner

The object this extension is applied to.

from  Extension

Methods

public
__construct()

No description

public static 
add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

public
setOwner(object $owner)

Set the owner of this extension.

public
mixed
withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

public
clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

public
T
getOwner()

Returns the owner of this extension.

public static 
string
get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

public
mixed
invokeExtension(object $owner, string $method, array ...$arguments)

Invoke extension point. This will prefer explicit extend prefixed methods.

protected
updateCMSFields(FieldList $fields)

Adds the field editor to the page.

public
getFieldEditorGrid()

Gets the field editor, for adding and removing EditableFormFields.

public
void
createInitialFormStep(bool $force = false)

A UserForm must have at least one step.

protected
onAfterWrite()

Ensure that at least one page exists at the start

protected
onAfterPublish()

Remove any orphaned child records on publish

protected
onAfterUnpublish()

Remove all fields from the live stage when unpublishing the page

protected
onAfterDuplicate(DataObject $oldPage, bool $doWrite, null|array $manyMany)

Duplicate the Fields() relation.

public
bool|null
isModifiedOnDraft()

Checks child fields to see if any are modified in draft as well. The owner of this extension will still use the Versioned method to determine its own status.

protected
onAfterRevertToLive()

No description

void
HasManyList() $EditableFormField> Fields()

No description

Details

__construct()

No description

static add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

Parameters

string $class
string $extensionClass
mixed $args

setOwner(object $owner)

Set the owner of this extension.

Parameters

object $owner

The owner object

mixed withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

Parameters

mixed $owner

Owner to set

callable $callback

Callback to invoke

array $args

Args to pass to callback

Return Value

mixed

clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

T getOwner()

Returns the owner of this extension.

Return Value

T

static string get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

Parameters

string $extensionStr

E.g. "Versioned('Stage','Live')"

Return Value

string

Extension classname, e.g. "Versioned"

mixed invokeExtension(object $owner, string $method, array ...$arguments)

Invoke extension point. This will prefer explicit extend prefixed methods.

Parameters

object $owner
string $method
array ...$arguments

Return Value

mixed

protected FieldList updateCMSFields(FieldList $fields)

Adds the field editor to the page.

Parameters

FieldList $fields

Return Value

FieldList

GridField getFieldEditorGrid()

Gets the field editor, for adding and removing EditableFormFields.

Return Value

GridField

void createInitialFormStep(bool $force = false)

A UserForm must have at least one step.

If no steps exist, create an initial step, and put all fields inside it.

Parameters

bool $force

Return Value

void

protected onAfterWrite()

Ensure that at least one page exists at the start

protected onAfterPublish()

Remove any orphaned child records on publish

protected onAfterUnpublish()

Remove all fields from the live stage when unpublishing the page

protected onAfterDuplicate(DataObject $oldPage, bool $doWrite, null|array $manyMany)

Duplicate the Fields() relation.

When duplicating a UserDefinedForm, ensure the group ends aren't duplicated twice, but also ensure they are connected to the correct duplicated Group.

Parameters

DataObject $oldPage
bool $doWrite
null|array $manyMany

See also

DataObject::duplicate

bool|null isModifiedOnDraft()

Checks child fields to see if any are modified in draft as well. The owner of this extension will still use the Versioned method to determine its own status.

Return Value

bool|null

See also

Versioned::isModifiedOnDraft

protected onAfterRevertToLive()

No description

See also

Versioned::doRevertToLive

void HasManyList() $EditableFormField> Fields()

No description

Parameters

) $EditableFormField> Fields(

Return Value

void