FormInlineAjaxController extends AbstractFormEngineAjaxController

Handle FormEngine inline ajax calls

Table of Contents

Methods

createAction()  : ResponseInterface
Create a new inline child via AJAX.
detailsAction()  : ResponseInterface
Show the details of a child record.
expandOrCollapseAction()  : ResponseInterface
Store status of inline children expand / collapse state in backend user uC.
synchronizeLocalizeAction()  : ResponseInterface
Adds localizations or synchronizes the locations of all child records.
addRegisteredRequireJsModulesToJavaScriptItems()  : void
backendUserHasUcInlineView()  : bool
Method to check whether the backend user has the property inline view for the current IRRE item.
compileChild()  : array<string|int, mixed>
Compile a full child record
compileChildChild()  : array<string|int, mixed>
With useCombination set, not only content of the intermediate table, but also the connected child should be rendered in one go. Prepare this here.
createExecutableStringRepresentationOfRegisteredRequireJsModules()  : array<string|int, mixed>
Gets result array from FormEngine and returns string with js modules that need to be loaded and evaluated by JavaScript.
extractSignedParentConfigFromRequest()  : array<string|int, mixed>
Validates the config that is transferred over the wire to provide the correct TCA config for the parent table
getBackendUserAuthentication()  : BackendUserAuthentication
getErrorMessageForAJAX()  : array<string|int, mixed>
Generates an error message that transferred as JSON for AJAX calls
getInlineExpandCollapseStateArray()  : array<string|int, mixed>
Get expand / collapse state of inline items
getInlineExpandCollapseStateArrayForTableUid()  : array<string|int, mixed>
Return expand / collapse state array for a given table / uid combination
getInlineFirstPidFromDomObjectId()  : int|string|null
Get inlineFirstPid from a given objectId string
getInlineRelatedRecordsUidArray()  : array<string|int, mixed>
Gets an array with the uids of related records out of a list of items.
getLabelsFromLocalizationFile()  : array<string|int, mixed>
Parse a language file and get a label/value array from it.
getLanguageService()  : LanguageService|null
getRelativePathToStylesheetFile()  : string
Resolve a CSS file position, possibly prefixed with 'EXT:'
mergeChildResultIntoJsonResult()  : array<string|int, mixed>
Merge stuff from child array into json array.
removeFromArray()  : array<string|int, mixed>
Remove an element from an array.
serializeJavaScriptModuleInstructionItems()  : array<string|int, mixed>

Methods

createAction()

Create a new inline child via AJAX.

public createAction(ServerRequestInterface $request) : ResponseInterface
Parameters
$request : ServerRequestInterface
Return values
ResponseInterface

detailsAction()

Show the details of a child record.

public detailsAction(ServerRequestInterface $request) : ResponseInterface
Parameters
$request : ServerRequestInterface
Return values
ResponseInterface

expandOrCollapseAction()

Store status of inline children expand / collapse state in backend user uC.

public expandOrCollapseAction(ServerRequestInterface $request) : ResponseInterface
Parameters
$request : ServerRequestInterface

the incoming request

Return values
ResponseInterface

the filled response

synchronizeLocalizeAction()

Adds localizations or synchronizes the locations of all child records.

public synchronizeLocalizeAction(ServerRequestInterface $request) : ResponseInterface

Handle AJAX calls to localize all records of a parent, localize a single record or to synchronize with the original language parent.

Parameters
$request : ServerRequestInterface

the incoming request

Return values
ResponseInterface

the filled response

addRegisteredRequireJsModulesToJavaScriptItems()

protected addRegisteredRequireJsModulesToJavaScriptItems(array<string|int, mixed> $result, JavaScriptItems $items) : void
Parameters
$result : array<string|int, mixed>
$items : JavaScriptItems

backendUserHasUcInlineView()

Method to check whether the backend user has the property inline view for the current IRRE item.

protected backendUserHasUcInlineView(BackendUserAuthentication $backendUser) : bool

In existing or old IRRE items the attribute may not exist, then the json_decode will fail.

Parameters
$backendUser : BackendUserAuthentication
Return values
bool

compileChild()

Compile a full child record

protected compileChild(array<string|int, mixed> $parentData, string $parentFieldName, int $childUid, array<string|int, mixed> $inlineStructure) : array<string|int, mixed>
Parameters
$parentData : array<string|int, mixed>

Result array of parent

$parentFieldName : string

Name of parent field

$childUid : int

Uid of child to compile

$inlineStructure : array<string|int, mixed>

Current inline structure

Tags
todo:

This clones methods compileChild from TcaInline Provider. Find a better abstraction

todo:

to also encapsulate the more complex scenarios with combination child and friends.

Return values
array<string|int, mixed>

Full result array

compileChildChild()

With useCombination set, not only content of the intermediate table, but also the connected child should be rendered in one go. Prepare this here.

protected compileChildChild(array<string|int, mixed> $child, array<string|int, mixed> $parentConfig, array<string|int, mixed> $inlineStructure) : array<string|int, mixed>
Parameters
$child : array<string|int, mixed>

Full data array of "mm" record

$parentConfig : array<string|int, mixed>

TCA configuration of "parent"

$inlineStructure : array<string|int, mixed>

Current inline structure

Return values
array<string|int, mixed>

Full data array of child

createExecutableStringRepresentationOfRegisteredRequireJsModules()

Gets result array from FormEngine and returns string with js modules that need to be loaded and evaluated by JavaScript.

protected createExecutableStringRepresentationOfRegisteredRequireJsModules(array<string|int, mixed> $result[, bool $skipInstructions = false ]) : array<string|int, mixed>
Parameters
$result : array<string|int, mixed>
$skipInstructions : bool = false

whether to skip JavaScriptModuleInstruction

Return values
array<string|int, mixed>

extractSignedParentConfigFromRequest()

Validates the config that is transferred over the wire to provide the correct TCA config for the parent table

protected extractSignedParentConfigFromRequest(string $contextString) : array<string|int, mixed>
Parameters
$contextString : string
Tags
throws
RuntimeException
Return values
array<string|int, mixed>

getErrorMessageForAJAX()

Generates an error message that transferred as JSON for AJAX calls

protected getErrorMessageForAJAX(string $message) : array<string|int, mixed>
Parameters
$message : string

The error message to be shown

Internal
Tags
todo

remove with TYPO3 v12.0

Return values
array<string|int, mixed>

The error message in a JSON array

getInlineExpandCollapseStateArray()

Get expand / collapse state of inline items

protected getInlineExpandCollapseStateArray() : array<string|int, mixed>
Return values
array<string|int, mixed>

getInlineExpandCollapseStateArrayForTableUid()

Return expand / collapse state array for a given table / uid combination

protected getInlineExpandCollapseStateArrayForTableUid(string $table, int $uid) : array<string|int, mixed>
Parameters
$table : string

Handled table

$uid : int

Handled uid

Return values
array<string|int, mixed>

getInlineFirstPidFromDomObjectId()

Get inlineFirstPid from a given objectId string

protected getInlineFirstPidFromDomObjectId(string $domObjectId) : int|string|null
Parameters
$domObjectId : string

The id attribute of an element

Return values
int|string|null

Pid or null

getInlineRelatedRecordsUidArray()

Gets an array with the uids of related records out of a list of items.

protected getInlineRelatedRecordsUidArray(string $itemList) : array<string|int, mixed>

This list could contain more information than required. This methods just extracts the uids.

Parameters
$itemList : string

The list of related child records

Return values
array<string|int, mixed>

An array with uids

getLabelsFromLocalizationFile()

Parse a language file and get a label/value array from it.

protected getLabelsFromLocalizationFile(string $file) : array<string|int, mixed>
Parameters
$file : string

EXT:path/to/file

Return values
array<string|int, mixed>

Label/value array

getRelativePathToStylesheetFile()

Resolve a CSS file position, possibly prefixed with 'EXT:'

protected getRelativePathToStylesheetFile(string $stylesheetFile) : string
Parameters
$stylesheetFile : string

Given file, possibly prefixed with EXT:

Return values
string

Web root relative position to file

mergeChildResultIntoJsonResult()

Merge stuff from child array into json array.

protected mergeChildResultIntoJsonResult(array<string|int, mixed> $jsonResult, array<string|int, mixed> $childResult) : array<string|int, mixed>

This method is needed since ajax handling methods currently need to put scriptCalls before and after child code.

Parameters
$jsonResult : array<string|int, mixed>

Given json result

$childResult : array<string|int, mixed>

Given child result

Return values
array<string|int, mixed>

Merged json array

removeFromArray()

Remove an element from an array.

protected removeFromArray(mixed $needle, array<string|int, mixed> $haystack[, bool $strict = false ]) : array<string|int, mixed>
Parameters
$needle : mixed

The element to be removed.

$haystack : array<string|int, mixed>

The array the element should be removed from.

$strict : bool = false

Search elements strictly.

Return values
array<string|int, mixed>

The array $haystack without the $needle

serializeJavaScriptModuleInstructionItems()

protected serializeJavaScriptModuleInstructionItems(JavaScriptModuleInstruction $instruction) : array<string|int, mixed>
Parameters
$instruction : JavaScriptModuleInstruction
Tags
todo

This is a temporary "solution" and shall be handled in JavaScript directly

Return values
array<string|int, mixed>

        
On this page

Search results