Class HasManyDataObjectManager
Provides a tabuar list in your form with view, edit and add links to edit records with a "has-one"-relationship. Detail-views are shown in a greybox-iframe. Features pagination in the overview as well as the detail-views.
CAUTION: You need to make sure that the original form-call to the main controller (e.g. EditForm()) returns a form which includes this field even if no data is loaded, to provide a "starting point" for action_callfieldmethod and ReferencedField.
All URL data sent to and from ComplexTableField is encapsulated in $_REQUEST['ctf'] to avoid side-effects with the main controller.
Example-URL for a "DetailForm"-call explained: "/admin/family/?executeForm=EditForm&action_callfieldmethod&fieldName=Individual&childID=7&methodName=edit" - executeForm Name of the form on the main rendering page (e.g. "FamilyAdmin") - action_callfieldmethod Trigger to call a method of a single field in "EditForm" instead of rendering the whole thing - fieldName Name of the targeted formField - methodName Method on the formfield (e.g. "ComplexTableField") - childID Identifier of the database-record (the targeted table is determined by the $sourceClass parameter)
- Object
-
ViewableData
implements
IteratorAggregate
-
RequestHandler
-
FormField
-
TableListField
-
ComplexTableField
-
DataObjectManager
-
HasManyDataObjectManager
Direct known subclasses
Methods summary
public
|
#
__construct(
Most of the code below was copied from HasManyComplexTableField. Painful, but necessary, until PHP supports multiple inheritance. |
public
|
|
public
|
|
public
|
|
public
|
#
setParentClass( mixed $class )
(Optional) Setter for a correct parent-relation-class. Defaults to the record loaded into the surrounding form as a fallback. Caution: Please use the classname, not the actual column-name in the database. |
public
string
|
|
public
|
|
public
|
|
public
|
|
public
|
#
saveInto(
Method to save this form field into the given data object. By default, makes use of $this->dataValue() |
public
|
Methods inherited from DataObjectManager
AddForm(),
AddLink(),
AddTitle(),
BaseLink(),
ConfirmDelete(),
CurrentLink(),
FieldHolder(),
FilterDropdown(),
FirstLink(),
HasFilter(),
Headings(),
LastLink(),
Link(),
NestedType(),
NextLink(),
Paginated(),
PaginatedLink(),
PerPageDropdown(),
PluralTitle(),
PopupWidth(),
PrevLink(),
RelativeLink(),
SearchValue(),
ShowAll(),
ShowAllLink(),
SingleTitle(),
Sortable(),
addPermission(),
allow_assets_override(),
allow_css_override(),
getColumnWidths(),
getCustomFieldsFor(),
getQueryString(),
getRawDetailFields(),
getSetting(),
handleDuplicate(),
handleItem(),
loadSort(),
loadSourceFilter(),
removePermission(),
saveComplexTableField(),
setAddTitle(),
setColumnWidths(),
setConfirmDelete(),
setFilter(),
setFilterEmptyString(),
setPerPageMap(),
setPluralTitle(),
setPopupWidth(),
setSingleTitle(),
setSourceFilter(),
setUseViewAll(),
setWideMode(),
set_confirm_delete(),
set_popup_width(),
sourceID()
Methods inherited from ComplexTableField
IsAddMode(),
ItemCount(),
Items(),
PopupHeight(),
Title(),
add(),
createFieldSet(),
getFieldsFor(),
getParentClass(),
getParentIdName(),
getParentIdNameRelation(),
getParentRecord(),
getValidatorFor(),
getViewer(),
isComposite(),
setController(),
setDetailFormValidator(),
setParentIdName(),
setPopupCaption(),
setPopupSize(),
setRelationAutoSetting(),
setTemplatePopup(),
sourceClass(),
sourceFilter()
Methods inherited from TableListField
Actions(),
Can(),
ExportLink(),
FieldList(),
FirstItem(),
GroupedItems(),
HasGroupedItems(),
HasSummary(),
LastItem(),
ListStart(),
Name(),
NamePlural(),
NameSingular(),
PageSize(),
PrintLink(),
ShowPagination(),
SummaryFields(),
SummaryTitle(),
TotalCount(),
Utility(),
addSummary(),
ajax_refresh(),
colFunction_avg(),
colFunction_sum(),
delete(),
disableSorting(),
export(),
filterString(),
generateExportFileData(),
getCastedValue(),
getCsvQuery(),
getCsvSeparator(),
getExtraLinkParams(),
getPermissions(),
index(),
isFieldSortable(),
performReadonlyTransformation(),
permissions_for_object(),
printall(),
removeCsvHeader(),
removeSummary(),
setCSVFieldFormatting(),
setClick_AjaxLoad(),
setClick_PopupLoad(),
setCsvSeparator(),
setCustomCsvQuery(),
setCustomQuery(),
setCustomSourceItems(),
setExtraLinkParams(),
setFieldCasting(),
setFieldFormatting(),
setFieldList(),
setFieldListCsv(),
setHighlightConditions(),
setPageSize(),
setPermissions(),
setShowPagination(),
setTemplate()
Methods inherited from FormField
Field(),
LeftTitle(),
Message(),
MessageType(),
Required(),
RightTitle(),
SmallFieldHolder(),
Type(),
Value(),
addExtraAttribute(),
addExtraClass(),
allowHTML5(),
allow_html5(),
attrName(),
attrTitle(),
attrValue(),
createTag(),
dataValue(),
debug(),
describe(),
extraClass(),
forTemplate(),
getCustomValidationMessage(),
getForm(),
getTabIndex(),
getTabIndexHTML(),
hasClass(),
hasData(),
id(),
isDisabled(),
isReadonly(),
jsValidation(),
name_to_label(),
performDisabledTransformation(),
removeExtraAttribute(),
removeExtraClass(),
rootFieldSet(),
securityTokenEnabled(),
setAutocomplete(),
setContainerFieldSet(),
setCustomValidationMessage(),
setDisabled(),
setError(),
setForm(),
setHTML5Attribute(),
setLeftTitle(),
setName(),
setReadonly(),
setRightTitle(),
setTabIndex(),
setTitle(),
setValue(),
transform(),
useHTML5(),
use_html5(),
validate()
Methods inherited from RequestHandler
allowedActions(),
checkAccessAction(),
getRequest(),
handleRequest(),
hasAction(),
httpError()
Methods inherited from ViewableData
ATT_val(),
BaseHref(),
CSSClasses(),
ColumnBreak(),
ColumnCalc(),
ColumnNumber(),
ColumnPad(),
ColumnPos(),
CurrentMember(),
CurrentPage(),
Debug(),
Even(),
EvenOdd(),
First(),
FirstLast(),
HasPerm(),
IsAjax(),
JS_val(),
Last(),
Me(),
Middle(),
MiddleString(),
Modulus(),
MultipleOf(),
Odd(),
Pos(),
RAW_val(),
SQL_val(),
ThemeDir(),
ThemeName(),
Top(),
TotalItems(),
XML_val(),
__get(),
__isset(),
__set(),
buildCastingCache(),
cachedCall(),
castingClass(),
castingHelper(),
castingHelperPair(),
castingObjectCreator(),
castingObjectCreatorPair(),
customise(),
defineMethods(),
escapeTypeForField(),
getField(),
getIterator(),
getSecurityID(),
getXMLValues(),
hasField(),
hasValue(),
i18nLocale(),
iteratorProperties(),
obj(),
renderWith(),
setCustomisedObj(),
setField()
Methods inherited from Object
__call(),
__toString(),
__wakeup(),
addMethodsFrom(),
addStaticVars(),
addWrapperMethod(),
add_extension(),
add_static_var(),
allMethodNames(),
cacheToFile(),
cacheToFileWithArgs(),
clearCache(),
combined_static(),
create(),
createMethod(),
create_from_string(),
exists(),
extInstance(),
extend(),
getCustomClass(),
getExtensionInstance(),
getExtensionInstances(),
get_extensions(),
get_static(),
hasExtension(),
hasMethod(),
has_extension(),
invokeWithExtensions(),
is_a(),
loadCache(),
parentClass(),
parse_class_spec(),
remove_extension(),
sanitiseCachename(),
saveCache(),
set_stat(),
set_static(),
set_uninherited(),
stat(),
strong_create(),
uninherited(),
uninherited_static(),
useCustomClass()
Magic methods summary
Properties summary
public
mixed
|
$joinField | |
public
mixed
|
$addTitle |
#
Determines the fields of the detail pop-up form. It can take many forms: |
public
string
|
$RelationType | |
protected
string
|
$htmlListEndName | |
protected
string
|
$htmlListField | |
public
string
|
$template |
#
Template for main rendering |
public
string
|
$itemClass |
#
Classname for each row/item |
protected
boolean
|
$relationAutoSetting |
#
Automatically detect a has-one relationship in the popup (=child-class) and save the relation ID. |
protected
mixed
|
$markingPermission |
Properties inherited from DataObjectManager
$actions,
$allow_assets_override,
$allow_css_override,
$column_widths,
$confirmDelete,
$confirm_delete,
$filter,
$filter_empty_string,
$filter_label,
$filter_map,
$filtered_field,
$hasNested,
$isNested,
$per_page,
$per_page_map,
$popupClass,
$popupWidth,
$popup_width,
$search,
$showAll,
$singleTitle,
$sort,
$sort_dir,
$start,
$templatePopup,
$url_handlers,
$use_view_all
Properties inherited from ComplexTableField
$controller,
$defaultAction,
$detailFormFields,
$detailFormValidator,
$parentClass,
$parentIdName,
$permissions,
$popupCaption,
$popupHeight,
$requirementsForPopupCallback,
$showPagination,
$sourceItems,
$sourceJoin,
$viewAction
Properties inherited from TableListField
$IsReadOnly,
$Markable,
$MarkableTitle,
$__cachedQuery,
$cachedSourceItems,
$clickAction,
$csvFieldEscape,
$csvFieldFormatting,
$csvHasHeader,
$csvSeparator,
$customCsvQuery,
$customQuery,
$customSourceItems,
$disableSorting,
$exportButtonLabel,
$extraLinkParams,
$fieldCasting,
$fieldFormatting,
$fieldList,
$fieldListCsv,
$groupByField,
$highlightConditions,
$methodName,
$pageSize,
$paginationBaseLink,
$readOnly,
$sourceClass,
$sourceFilter,
$sourceSort,
$summaryFieldList,
$summaryTitle,
$totalCount
Properties inherited from FormField
$autocomplete,
$containerFieldSet,
$customValidationMessage,
$description,
$disabled,
$dontEscape,
$extraAttributes,
$extraClass,
$extraClasses,
$fieldHTML5,
$form,
$html5Attributes,
$leftTitle,
$message,
$messageType,
$name,
$possible_autocomplete_values,
$readonly,
$rightTitle,
$tabIndex,
$title,
$use_html5,
$value
Properties inherited from RequestHandler
$allowed_actions,
$brokenOnConstruct,
$request
Properties inherited from ViewableData
$casting,
$customisedObject,
$default_cast,
$failover,
$iteratorPos,
$iteratorTotalItems