class FacetedLegacy extends Container

deprecated Use FacetedFilter

Constants

SYSTEM_TEMPLATE_UI_FOLDER

CONTAINER_LINK_MODE_REPLACE

Link modes. Should the ajax respone replace the original content, or should it be appended/prepended

CONTAINER_LINK_MODE_APPEND

CONTAINER_LINK_MODE_PREPEND

DISPLAY_TYPE_CHECKBOX

DISPLAY_TYPE_TEXT

DISPLAY_TYPE_DATE

DISPLAY_TYPE_TOGGLE

AJAX_REQUEST_FACET_PARAMETER_PLACEHOLDER

Properties

$xf_link from  UIComponent
$link_id from  UIComponent
array $GPvars from  UIComponent
Controller $mod from  UIComponent
protected array $local_template_marker from  UIComponent
protected bool $_overwrite_param_array from  UIComponent
protected bool|array|ModelCollection $marker_content from  UIComponent
string $mod_object_manager from  UIComponent
protected bool $_orig_marker_content from  UIComponent
protected array $_allowed_params_filter from  UIComponent
string $unique_dom_id from  UIComponent
protected string $uid from  UIComponent
string read-only $_content

When used in template this property will contain the XML/HTML within the XUI Nodes

from  UIComponent
$link from  UIAjaxComponent
protected string $js_class from  UIAjaxComponent
protected array $js_options from  UIAjaxComponent
protected array $css_classes from  UIAjaxComponent
protected array $xui_payload from  UIAjaxComponent
protected array $xuiLinkedContainers from  UIAjaxComponent
protected bool $deferredLoading from  UIAjaxComponent
protected bool $deferredLoadingMessage from  UIAjaxComponent
protected string|callable $content from  Container
protected string $placeholderContent from  Container

Methods

__construct(string $link_id = null)

UIComponent constructor.

string
__toString()

No description

string
addCategory(string $label, string $categoryKey, string $modelProperty = null, array $propertyLabels = null, ModelCollection $referenceCollection = null, string $referenceLableProperty = null)

adds a new category for items beeing grouped by the short_id will be used as parameter

void
addFacetedCategories(FacetedCategoryList $facetedCategories)

adds multiple new categories for items being grouped by the short_id will be used as parameter

void
addFacetedCategory(FacetedCategory $category)

adds a new category for items being grouped by the short_id will be used as parameter

bool
addItem(string $categoryKey, string $label, string $value, int $count = null, string $condition = null)

Adds an item to a category

void
addLinkedContainer(UIAjaxComponent $linkedContainer, $linkMode = self::CONTAINER_LINK_MODE_REPLACE)

Link a container that will also be reloaded, if an ajax link has the current container as target.

string
add_category(string $label, string $short_id, bool $auto_add_all_item = false, bool $as_combobox = false, bool $collapsable = false, string|null $moreLink = null) deprecated

No description

add_css_class($css_class)

Adds a custom css class to the root element of this component.

add_dependency(string $dep_name, UIAjaxComponent $dep_obj, bool $reloadOnUpdate = false)

Add an UIAjaxComponent object and register it under a certain name.

bool
add_item(string $category_short_id, string $label, string $value, string|Condition $condition = null, bool $active = false, int $indent = 0) deprecated

No description

add_url_parameter(mixed $key, mixed $value)

Adds a parameter to url parameter list.

applyFacetFilters(Collection $collection, string $excludeCategory = null)

Applies scope conditions of the facets for the given ModelCollection.

enable_periodical_update(int $interval)

Enables the periodical update via ajax.

mixed
get($var)

Get Variable / Option

array|Condition[]|string[]
getAllActiveConditions()

Return all active conditions

false|mixed
getCurrentAjaxLink(array $params)

No description

array
getCurrentFilter()

Returns the current active filters (e.g.: ['category' => ['1' => true], 'date' => ['start' => $start, 'end' => $end]])

array
getCurrentFilterAjax()

No description

bool
getHasFilter()

Returns if there is an active filter

getModelCollection()

Returns the model collection

string
mixed
get_active_value_for_category(string $category_short_id)

Works only after process()

array
get_all_active_items(string|bool $category_short_id = false)

returns an array of all active items

false|string[]
get_current_filter() deprecated

No description

mixed
get_dependency($dep_name)

Returns a dependent object in order to interact with it

string
get_unique_dom_id()

Generates a unique dom id, dependent on the provided UID, as well as the current context.

Template|null
get_view(string|bool $section = false)

Return new template view If using within module xui the tpl file should be named [class_name].tpl e.g. xui_core_table.tpl within the module's template folder

init()

put your comment there.

bool
is_active(mixed $category_short_id, mixed $item_value)

Returns true if the passed item is currently active

string
parse_template(string $template_content, array|bool $marker_array = false)

No description

string|null
parse_template_cb_wrapper(mixed $matches)

No description

mixed|string
parse_xtag($xml_source)

No description

false|string
printAjaxLink(array $params)

No description

false|mixed
printCurrentAjaxLink(array $params)

No description

process()

Process all parameters

process_xui()

Optional processing method.

render()

Default render method. wraps the content provided by render_xui_content in a unique div and generates a JS object for the GUI

mixed
render_xtag_element()

No description

string|Template
render_xui()

Render XUI Object

void
reset_marker_content()

restores original content of marker_content

void
set(mixed $var, mixed $value = false) deprecated

Set Variable / Option

void
setCategoryDefaultValue(string $categoryKey, array $defaultValue)

The default value(s) for a category. Use item value(s) for checkbox and ['start'=>$X,'end'=>$Y] for date.

void
setCategoryDisplayType(string $categoryKey, string $displayType)

Set display type of facet (Faceted::DISPLAYTYPE[*])

void
setCategoryIconClass(string $categoryKey, string $iconClass)

Set icon class

void
setCategoryIsRequired(string $categoryKey, bool $isRequired = true)

At least one facet element has to be selected.

void
setCategoryOptions(string $categoryKey, array $options)

Set options for the category

void
setCategoryPropertySubselect(string $categoryKey, string $propertySelect)

Set subselect query to join foreign table id with title

void
setCategoryResultClosure(string $categoryKey, Closure $closure)

Set a closure to process queried results CLosure signature: function($row) returns modified $row

void
setCustomValue(string $categoryShortId, array $itemValues)

Sets a custom value

void
setDeferredLoading(bool $bool, string $message = '')

Set true to load the content deferred. Displays a placeholder while loading the content. Optional you can pass a message which will replace the default loading message.

setHorizontalMode($horizontal = true)

Set Display to horizontal mode

bool
setItems(string $categoryKey, array $items)

Set the items of a category manually (e.g. Start/End Date for a date filter)

setLoadURL(string $url)

No description

void
setMaxFacetElements(int $maxElements)

Set the max amount aof facet elements per category

void
setModelCollection(ModelCollection $modelCollection)

No description

setPlaceholderContent(string $placeholderContent)

Setting Placeholder Content will automatically enable deferred loading

void
setTargetContainer(UIAjaxComponent $targetContainer)

Set the target container for this facet element

set_active(mixed $categoryShortId, mixed $itemValues, mixed $overwrite = false)

Set Active Item

set_additional_class(string $additional_class)

this class will be added to the outer wrapping div

void
set_array(mixed $member_array, mixed $vars)

Set Variable / Option for an array

set_content(string|callable $content)

No description

set_get_parameter_name(string $get_parameter_name)

name of the get parameter - default is uid_filter

void
set_marker_content(mixed $marker_content = false)

sets marker_content to passed data -> restore original content with reset_marker_content()

set_mod(mixed $mod)

Set link to owning module

set_option(string $key, mixed $val)

Sets options. This options will be used in the JS element of this XUI class.

set_render_mode(string $mode = 'classic')

this class will be added to the outer wrapping div

void
set_render_params(mixed $input_params = array())

Used to inject params. Only allowed params will be used (see $allowed_params_filter)

set_title(string $title)

title displayed before the first category

set_uid($uid)

No description

set_url_parameters(array $parameters)

Sets the url parameter that is used for component loading.

void
set_xui_target(UIAjaxComponent $xui_target) deprecated

No description

Details

in UIComponent at line 64
__construct(string $link_id = null)

UIComponent constructor.

Parameters

string $link_id

in UIComponent at line 328
string __toString()

No description

Return Value

string

at line 944
string addCategory(string $label, string $categoryKey, string $modelProperty = null, array $propertyLabels = null, ModelCollection $referenceCollection = null, string $referenceLableProperty = null)

adds a new category for items beeing grouped by the short_id will be used as parameter

Parameters

string $label

The label displayed in the facet

string $categoryKey

has to be unique

string $modelProperty

What property of the ModelCollection represents this facet

array $propertyLabels

A reference array for the property values [$property_value => $label, ...]

ModelCollection $referenceCollection

The property is a foreign id for this reference model (No $propertyLabels needed)

string $referenceLableProperty

The property to use as label from the reference model

Return Value

string

at line 1010
void addFacetedCategories(FacetedCategoryList $facetedCategories)

adds multiple new categories for items being grouped by the short_id will be used as parameter

Parameters

FacetedCategoryList $facetedCategories

Return Value

void

at line 981
void addFacetedCategory(FacetedCategory $category)

adds a new category for items being grouped by the short_id will be used as parameter

Parameters

FacetedCategory $category

Return Value

void

at line 1128
bool addItem(string $categoryKey, string $label, string $value, int $count = null, string $condition = null)

Adds an item to a category

Parameters

string $categoryKey
string $label

// Label for the option

string $value

// Value of this option

int $count

// Hit count

string $condition

Return Value

bool

in UIAjaxComponent at line 158
void addLinkedContainer(UIAjaxComponent $linkedContainer, $linkMode = self::CONTAINER_LINK_MODE_REPLACE)

Link a container that will also be reloaded, if an ajax link has the current container as target.

Parameters

UIAjaxComponent $linkedContainer
$linkMode

Return Value

void

at line 924
string add_category(string $label, string $short_id, bool $auto_add_all_item = false, bool $as_combobox = false, bool $collapsable = false, string|null $moreLink = null) deprecated

deprecated use addCategory() add new category for items beeing grouped by the short_id will be used as parameter

No description

Parameters

string $label
string $short_id

has to be unique

bool $auto_add_all_item

add an item "All" to the category

bool $as_combobox

Display a SELECT Field?

bool $collapsable

category will collapse if no entry is selected. can be expanded with js

string|null $moreLink

Additional link displayed below the facets

Return Value

string $short_id

in UIAjaxComponent at line 196
add_css_class($css_class)

Adds a custom css class to the root element of this component.

Parameters

$css_class

in UIAjaxComponent at line 134
add_dependency(string $dep_name, UIAjaxComponent $dep_obj, bool $reloadOnUpdate = false)

Add an UIAjaxComponent object and register it under a certain name.

this component will use that name to retrieve the object in order to interact with it.

If reloadOnUpdate is set, the dependent container will be reloaded after the update of the current container. !Beware: The reload url of the dependency container will be the one set in its data attribute and not a possible "new url" used to update the current container. If you want to reload multiple containers at once when the current container is an ajax link target, use $this->addLinkedContainer()

Parameters

string $dep_name
UIAjaxComponent $dep_obj
bool $reloadOnUpdate

Set true to reload dependency if this component is updated.

at line 1113
bool add_item(string $category_short_id, string $label, string $value, string|Condition $condition = null, bool $active = false, int $indent = 0) deprecated

deprecated use addItem() add an item to the faceted. The category, this item belongs to has to be added before

No description

Parameters

string $category_short_id
string $label
string $value
string|Condition $condition

e.q "id = 1"

bool $active

Is Item selected?

int $indent

Return Value

bool

in UIAjaxComponent at line 94
add_url_parameter(mixed $key, mixed $value)

Adds a parameter to url parameter list.

Parameters

mixed $key
mixed $value

at line 119
Collection applyFacetFilters(Collection $collection, string $excludeCategory = null)

Applies scope conditions of the facets for the given ModelCollection.

The scope for $excludeCategory will not be included.

Parameters

Collection $collection
string $excludeCategory

Return Value

Collection

Exceptions

Exception

in UIAjaxComponent at line 218
enable_periodical_update(int $interval)

Enables the periodical update via ajax.

The ajax calls will be execute after an interval of seconds passed by parameter one.

Parameters

int $interval

in UIComponent at line 187
mixed get($var)

Get Variable / Option

Parameters

$var

Return Value

mixed

at line 614
array|Condition[]|string[] getAllActiveConditions()

Return all active conditions

Return Value

array|Condition[]|string[]

No description

Parameters

array $params

Return Value

false|mixed

at line 641
array getCurrentFilter()

Returns the current active filters (e.g.: ['category' => ['1' => true], 'date' => ['start' => $start, 'end' => $end]])

Return Value

array

[$categoryKey => [$value => $selected, ...], ...]

at line 696
array getCurrentFilterAjax()

No description

Return Value

array

at line 725
bool getHasFilter()

Returns if there is an active filter

Return Value

bool

in UIAjaxComponent at line 255
XUILinkHelper getLinkHelper()

No description

Return Value

XUILinkHelper

at line 561
ModelCollection getModelCollection()

Returns the model collection

Return Value

ModelCollection

in Container at line 54
protected string getPlaceholderContent()

Place

Return Value

string

at line 715
mixed get_active_value_for_category(string $category_short_id)

Works only after process()

Parameters

string $category_short_id

Return Value

mixed

at line 572
array get_all_active_items(string|bool $category_short_id = false)

returns an array of all active items

Parameters

string|bool $category_short_id

If set checks only the status of that category

Return Value

array

at line 622
false|string[] get_current_filter() deprecated

deprecated Use getCurrentfilter()

No description

Return Value

false|string[]

in UIAjaxComponent at line 150
mixed get_dependency($dep_name)

Returns a dependent object in order to interact with it

Parameters

$dep_name

Return Value

mixed

in UIComponent at line 204
string get_unique_dom_id()

Generates a unique dom id, dependent on the provided UID, as well as the current context.

Return Value

string

in UIComponent at line 294
Template|null get_view(string|bool $section = false)

Return new template view If using within module xui the tpl file should be named [class_name].tpl e.g. xui_core_table.tpl within the module's template folder

Parameters

string|bool $section Name

Return Value

Template|null

Exceptions

Exception

in UIComponent at line 72
init()

put your comment there.

..

at line 905
bool is_active(mixed $category_short_id, mixed $item_value)

Returns true if the passed item is currently active

Parameters

mixed $category_short_id
mixed $item_value

Return Value

bool

in UIComponent at line 223
string parse_template(string $template_content, array|bool $marker_array = false)

No description

Parameters

string $template_content

HTML Template

array|bool $marker_array

Markers and Values

Return Value

string

Parsed HTML Content

in UIComponent at line 239
string|null parse_template_cb_wrapper(mixed $matches)

No description

Parameters

mixed $matches

Return Value

string|null

in UIComponent at line 265
mixed|string parse_xtag($xml_source)

No description

Parameters

$xml_source

Return Value

mixed|string

Exceptions

ContentException

No description

Parameters

array $params

Return Value

false|string

No description

Parameters

array $params

Return Value

false|mixed

at line 392
process()

Process all parameters

in UIAjaxComponent at line 76
protected process_xui()

Optional processing method.

This method is called when invoke the process method or automatically before the render method is called.

in UIAjaxComponent at line 281
render()

Default render method. wraps the content provided by render_xui_content in a unique div and generates a JS object for the GUI

Exceptions

Exception

in UIComponent at line 273
mixed render_xtag_element()

No description

Return Value

mixed

at line 512
string|Template render_xui()

Render XUI Object

Return Value

string|Template

in UIComponent at line 175
void reset_marker_content()

restores original content of marker_content

Return Value

void

in UIComponent at line 108
void set(mixed $var, mixed $value = false) deprecated

deprecated - It is preferred to have explicit setters/getters. Please check if you can rewrite usage to use explicit setters with documented options

Set Variable / Option

Parameters

mixed $var

Name of Variable to Set (Alternative: Assoc-Array for multiple variables)

mixed $value

Value of Variable

Return Value

void

at line 1095
void setCategoryDefaultValue(string $categoryKey, array $defaultValue)

The default value(s) for a category. Use item value(s) for checkbox and ['start'=>$X,'end'=>$Y] for date.

Parameters

string $categoryKey
array $defaultValue

Return Value

void

at line 1047
void setCategoryDisplayType(string $categoryKey, string $displayType)

Set display type of facet (Faceted::DISPLAYTYPE[*])

Parameters

string $categoryKey
string $displayType

Return Value

void

at line 1059
void setCategoryIconClass(string $categoryKey, string $iconClass)

Set icon class

Parameters

string $categoryKey
string $iconClass

Return Value

void

at line 1083
void setCategoryIsRequired(string $categoryKey, bool $isRequired = true)

At least one facet element has to be selected.

Parameters

string $categoryKey
bool $isRequired

Return Value

void

at line 1071
void setCategoryOptions(string $categoryKey, array $options)

Set options for the category

Parameters

string $categoryKey
array $options

Return Value

void

at line 1035
void setCategoryPropertySubselect(string $categoryKey, string $propertySelect)

Set subselect query to join foreign table id with title

Parameters

string $categoryKey
string $propertySelect

Return Value

void

at line 1023
void setCategoryResultClosure(string $categoryKey, Closure $closure)

Set a closure to process queried results CLosure signature: function($row) returns modified $row

Parameters

string $categoryKey
Closure $closure

Return Value

void

at line 825
void setCustomValue(string $categoryShortId, array $itemValues)

Sets a custom value

Parameters

string $categoryShortId
array $itemValues

Return Value

void

in UIAjaxComponent at line 115
void setDeferredLoading(bool $bool, string $message = '')

Set true to load the content deferred. Displays a placeholder while loading the content. Optional you can pass a message which will replace the default loading message.

Parameters

bool $bool
string $message

Return Value

void

at line 815
setHorizontalMode($horizontal = true)

Set Display to horizontal mode

Parameters

$horizontal

at line 1155
bool setItems(string $categoryKey, array $items)

Set the items of a category manually (e.g. Start/End Date for a date filter)

Parameters

string $categoryKey
array $items

Return Value

bool

in UIAjaxComponent at line 102
UIAjaxComponent setLoadURL(string $url)

No description

Parameters

string $url

Return Value

UIAjaxComponent

at line 752
void setMaxFacetElements(int $maxElements)

Set the max amount aof facet elements per category

Parameters

int $maxElements

Return Value

void

at line 742
void setModelCollection(ModelCollection $modelCollection)

No description

Parameters

ModelCollection $modelCollection

Return Value

void

in Container at line 44
Container setPlaceholderContent(string $placeholderContent)

Setting Placeholder Content will automatically enable deferred loading

Parameters

string $placeholderContent

Return Value

Container

at line 772
void setTargetContainer(UIAjaxComponent $targetContainer)

Set the target container for this facet element

Parameters

UIAjaxComponent $targetContainer

Return Value

void

at line 836
set_active(mixed $categoryShortId, mixed $itemValues, mixed $overwrite = false)

Set Active Item

Parameters

mixed $categoryShortId
mixed $itemValues
mixed $overwrite

at line 790
set_additional_class(string $additional_class)

this class will be added to the outer wrapping div

Parameters

string $additional_class

in UIComponent at line 124
void set_array(mixed $member_array, mixed $vars)

Set Variable / Option for an array

Parameters

mixed $member_array

Name of Variable to Set (Alternative: Assoc-Array for multiple variables)

mixed $vars

Value of Variable

Return Value

void

in Container at line 23
set_content(string|callable $content)

No description

Parameters

string|callable $content

at line 808
set_get_parameter_name(string $get_parameter_name)

name of the get parameter - default is uid_filter

Parameters

string $get_parameter_name

in UIComponent at line 167
void set_marker_content(mixed $marker_content = false)

sets marker_content to passed data -> restore original content with reset_marker_content()

Parameters

mixed $marker_content

Return Value

void

in UIComponent at line 90
set_mod(mixed $mod)

Set link to owning module

Parameters

mixed $mod

in UIAjaxComponent at line 207
set_option(string $key, mixed $val)

Sets options. This options will be used in the JS element of this XUI class.

Parameters

string $key

update_interval (int) | hide_loading (bool)

mixed $val

at line 799
set_render_mode(string $mode = 'classic')

this class will be added to the outer wrapping div

Parameters

string $mode

= classic, horizontal

in UIComponent at line 137
void set_render_params(mixed $input_params = array())

Used to inject params. Only allowed params will be used (see $allowed_params_filter)

Parameters

mixed $input_params

Return Value

void

at line 781
set_title(string $title)

title displayed before the first category

Parameters

string $title

in UIAjaxComponent at line 177
set_uid($uid)

No description

Parameters

$uid

in UIAjaxComponent at line 83
UIAjaxComponent set_url_parameters(array $parameters)

Sets the url parameter that is used for component loading.

Parameters

array $parameters

Return Value

UIAjaxComponent

at line 762
void set_xui_target(UIAjaxComponent $xui_target) deprecated

deprecated use ->addLinkedContainer(UIAjaxComponent $container)

No description

Parameters

UIAjaxComponent $xui_target

Return Value

void