Timespan
class Timespan extends Field
Constants
TYPE |
|
MAX_FILTERS |
|
TIMESPAN_FROM_FIELD_ID |
|
TIMESPAN_TO_FIELD_ID |
|
TIMESPAN_ROW_FIELD_ID |
|
Methods
Adds three items for the timespan field to render past, current and future (upcoming) items.
Adds the properties of the current field to the form editor passed to this method.
Adds field specific properties to the table, like callbacks, replaces and/or column formats.
Every field, that makes use of this method, will implement the field property 'is_unique', setting the field unique.
Fills the placeholders needed for workflows.
Formats the values before they will be inserted into the table at the ItemList component.
Gets a field from the faceted search.
Returns the label needed for the HTML generated email.
Returns the value needed for the HTML generated mail.
Modifies the form field fdl for custom fields in order to display them properly.
Modifies the list field fdl for custom fields.
Before the faceted filters are updated, prepare the values to be storage friendly and useful.
Additionally writes the start_at timestamp into the form data, that - if needed - a faceted field can be created, which renders useful when it comes to sorting the table for timespan fields.
Replaces the placeholders with the values of their fields.
When list items will be created or updated through the webservice API, this gets interesting as this determines whether a field has predefined values (like select-, and checkbox-fields, as these contain 'pop_data[]').
Validates the resources and their bookings.
Details
at line 96
void
addFieldToFaceted(Faceted $faceted, string $fieldId, array $fieldFdl, ListProperties $list)
Adds three items for the timespan field to render past, current and future (upcoming) items.
at line 31
void
addFormEditorProperties(FormEditor $feditor, ListsController $mod, array $disabledFieldProperties)
Adds the properties of the current field to the form editor passed to this method.
Fills the array $disabledFieldProperties, passed as reference, with the values that are necessary for the field configuration. This array will be used later to disable the field properties by setting them 'hidden'.
at line 72
bool
addTableFieldProperties(string $fieldId, array $fieldFdl, Table $table, array $columnFormat, array $sortableFields, array $groupFields)
Adds field specific properties to the table, like callbacks, replaces and/or column formats.
By using this method, be aware that 3 (three) parameters are used as reference in order to modify multiple values at once. Usually, a table callback would be enough to get this working. However, setting a column format is allowed too, as well as setting sortable fields and group fields (if grouping is enabled by the fields). Although this uses reference parameters, the return type is boolean, since the value is used to make sure that this field really is displayed. Whenever this method returns FALSE, the field will be skipped and doesn't appear in the table.
in
Field at line 233
protected void
addUniqueProperty(FormEditor $formEditor, ListsController $mod)
Every field, that makes use of this method, will implement the field property 'is_unique', setting the field unique.
in
Field at line 100
void
addWorkflowPlaceholders(ListsController $mod, array $fieldFdl, ListItem|null $listItem, array $placeholders, bool $descriptive)
Fills the placeholders needed for workflows.
in
Field at line 274
void
formatValueForDisplay(array $fieldFdl, $fieldValue)
Formats the values before they will be inserted into the table at the ItemList component.
This should be used if some special formats need to be applied, e.g. numeric values and their decimals.
in
Field at line 201
void
getFacetedField(string $fieldId, array $facetedFields, int $counter, bool $ignoreLimit, bool $returnStatus)
Gets a field from the faceted search.
in
Field at line 135
string
getHTMLLabel(array $fdl, string $fieldId)
Returns the label needed for the HTML generated email.
in
Field at line 148
string|null
getHTMLValue(array $fdl, string $key, $data)
Returns the value needed for the HTML generated mail.
in
Field at line 163
bool
isSelectable()
Adds the check for this field whether it is selectable or not.
This is important for fields available for calendar hooks. todo - check what is "selectable" why is a field not selectable?
at line 151
void
modifyFormFieldFdl(ListProperties $list, array $fieldFdl, string $showOnly, array $finishedFdl = [], bool $overwritable = false)
Modifies the form field fdl for custom fields in order to display them properly.
It's important to know, that the field fdl AND the finished fdl are passed as reference parameters, which enables the method to modify both the current field fdl (is some information about the field may change) and the finished fdl (what will be added to the form after all - what might end in additional fields like those created by resource fields - _count - or by the timespan field - timespan_from, timespan_to, timespan_row.
in
Field at line 77
void
modifyListFieldFdl(ListItem $listItem, array $fieldFdl, bool $readonly, bool $setSavedValues)
Modifies the list field fdl for custom fields.
in
Field at line 249
null|mixed
prepareFilterValue(array $fieldFdl)
Before the faceted filters are updated, prepare the values to be storage friendly and useful.
at line 222
void
processSavingInformation(ListItem $listItem, array $formData, array $fieldFdl)
Additionally writes the start_at timestamp into the form data, that - if needed - a faceted field can be created, which renders useful when it comes to sorting the table for timespan fields.
in
Field at line 123
mixed
replacePlaceholdersWithValues(array $placeholders, array $fieldFdl)
Replaces the placeholders with the values of their fields.
in
Field at line 263
bool
requiredValueFits(array $fieldFdl, string $fieldValue)
When list items will be created or updated through the webservice API, this gets interesting as this determines whether a field has predefined values (like select-, and checkbox-fields, as these contain 'pop_data[]').
Upon calling this method on a certain field object, the data provided by a user is matched against the predefined values of that field. If they match, this method returns true, otherwise false.
in
Field at line 223
bool
validateResource(ListsController $mod, array $fieldFdl, bool $roomRequested, bool $ticketRequested, array $fieldErrors, bool $result)
Validates the resources and their bookings.