Syntax components can overwrite getSearchConfig() and implement their
own SearchConfig that then can overwrite runSQLBuilder() to access the
underlying QueryBuilder
This allows users to set custom CSS classes on aggregations potentially
restyling them differently for different use cases.
This makes startScope and finishScope part of the public API of the
Aggregation class. It should no longer be called within render() but is
instead called outside.
This might potentially break plugins implementing their own
aggregations. Needs to be checked
The different aggregation types add their own filters to ensure that the
appropriate data is selected. This used to happen in handle() but this
meant that theses filters were only ever updated when the syntax of the
page they are used in is updated.
Since we refer to getID() to filter serial schemas based on the global
ID to enable their use in includes, we can not have that in the handle
stage, otherwise output is always filtered for the include ID.
Schemas per se are type agnostic, isLookup property is removed. Data is stored and accessed differently based on how it is entered and retrieved.
The crucial change is introduction of the composite key of pid and rid. Previous page data utilizes rid = 0 to differentiate itself. Other types, notably lookup, have autoincrementing rid.
Database migration is not implemented yet.
By replacing $ID with $INFO['id'] the entries now work in sidebars and
especially in the new footers (see SPR-699) as expected.
Tested:
* Sorting
* Dynamic filters
* $STRUCT.tablename.field$ placeholder
* $ID placeholders
SPR-348
This syntax is used to load the full editor for a lookup table. It
inherits most functionality from the table syntax but uses a different
output class and will always select all columns.
* master:
use different branch now that the event has been merged
default to translated column labels in table aggregation
Show struct differences in diff view. SPR-31 closes#4
remove empty values withing multivals
fix entry tests
edit form styling SPR-320
added JavaScript for adding new inputs to multi edit fields