54 Commits

Author SHA1 Message Date
67f70d54d9 Revert "Lazy search execution"
This reverts commit 95a8e37d98.
2024-01-18 16:14:43 +01:00
95a8e37d98 Lazy search execution
Move search out of aggregation constructors. It should only be executed
before actual rendering, not e.g. on metadata run
2024-01-18 16:10:44 +01:00
7234bfb14e 🤖 Automatic code style fixes 2023-09-13 09:45:56 +00:00
039b05b8ed add check for proper class hiearchy in table syntax
Plugins extend this class, but may not inherit from Aggregation, yet.
A proper error should be shown.
2023-08-09 09:32:11 +02:00
299ca8cc64 make it easier to adjust/extend the search queries
Syntax components can overwrite getSearchConfig() and implement their
own SearchConfig that then can overwrite runSQLBuilder() to access the
underlying QueryBuilder
2023-07-19 11:14:07 +02:00
af0ce8d2fb added classes config parameter
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
2023-06-26 15:09:40 +02:00
ce44c6393f Add indexing support
Using the index keyword, lists can now have an alphabetical Index at the
top level.
2023-06-26 14:15:23 +02:00
d90aa84868 some streamlining for the aggregation classes
Have an abstract base class for aggregations to ensure proper
signatures, reuse more code from the table syntax
2023-06-22 15:58:17 +02:00
659863b45d Fix code style 2022-09-27 12:35:36 +02:00
25ed0c0dbf avoid a couple of PHP8 warnings 2022-08-26 10:42:11 +02:00
0549dcc5bc PHP code sniffer autofixes 2022-01-13 14:50:12 +01:00
30bf61e6ee Apply aggregation type specific filters in render phase
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.
2022-01-13 11:48:27 +01:00
ca94dee68f Fix caching of struct aggregations
Remove a renderer check inappropriate for table views
2021-04-08 16:20:28 +02:00
34ea6e1056 Eliminate warnings in PHP 8 2021-02-16 14:02:14 +01:00
83de40a833 Remove remnants of obsolete $idColumn parameter 2020-04-17 21:16:53 +02:00
c797933d74 Remove default filter that limited aggregation tables to page data 2020-04-13 21:11:45 +02:00
61356325e2 Automatic coding style fixes 2020-04-09 16:54:27 +02:00
d400a5f063 Fix permission check in page aggregations 2020-04-09 11:26:08 +02:00
0ceefd5c55 Start unifying schema types
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.
2020-03-18 19:42:48 +01:00
06fee43a48 feat: Enable usage in sidebars etc.
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
2016-11-21 11:53:26 +01:00
6ce83f43d9 disable pagination on CSV export 2016-11-02 10:49:41 +01:00
3f2a8309ba cleaned up lookup syntax
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.
2016-08-11 12:05:00 +02:00
ba4522e61d Schema existence is now checked in Search
this avoids instantiating the schema twice
2016-08-11 11:23:10 +02:00
f25d10fd8e Utilize StructException's translation handling 2016-06-16 17:14:19 +02:00
b2c109bd1e Use existing exception instead of new msg handling 2016-06-16 17:00:07 +02:00
99966bd6f4 Localize error message 2016-06-16 16:43:27 +02:00
0659dc6476 Show error-message if schema does not exist
That way it is more clear where the problem lies and what to do.

SPR-501
2016-06-16 16:37:37 +02:00
ba76620163 Use DokuWiki new autoloader for class files
No longer do we need to register our own autoloader. Namespace had to be
vendor prefixed.
2016-04-28 15:40:12 +02:00
bd363da98f print stacktrace on allow debug 2016-03-23 10:48:48 +01:00
16b7d914c0 adjust cachung if an aggregation depends on dynamic values #75 2016-03-22 13:48:30 +01:00
0799375673 major refactoring of the whole table aggregation
this is still completely untested
2016-03-09 15:09:26 +01:00
27b5f635f3 build our own header links. closes #51 2016-03-08 15:35:23 +01:00
dbe5bc9dd7 proper cache handling for aggregations. closes #50 2016-03-08 15:16:58 +01:00
f317b9da93 keep aggregation renderer agnostic. closes #52 2016-03-08 14:03:58 +01:00
fde5d96699 fix bug in aggregation with no filters. closes #54 2016-03-08 14:01:59 +01:00
650e949340 have proper default label for pageid columns 2016-03-03 13:48:04 +01:00
f94f4c4faf fixed a bunch of minor things found by IntelliJ Idea 2016-02-25 12:19:53 +01:00
68c0d8be50 fixed some bugs in the table component 2016-02-25 11:54:35 +01:00
068a4d5322 fix table scope closing and unsetting the hash 2016-02-24 11:50:54 +01:00
904664008b Merge branch 'master' into imgType
* 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
2016-02-24 11:08:29 +01:00
01dd90de52 default to translated column labels in table aggregation
This also fixes errors that where thrown when headers were not
specified.
2016-02-24 09:43:38 +01:00
08e4e96e5b Implement better solution for table detection 2016-02-23 17:12:06 +01:00
eed15625ba Add lightbox to images and group them in gallery
SPR-322
2016-02-23 11:43:29 +01:00
f87e1c10e6 Add message if there are no results to show
Also add more annotations.

SPR-317, GitHub Issue #22
2016-02-18 15:45:02 +01:00
76e2c9ad77 Remove unused Code
In the previous commit all current parameter handling has been moved to
SearchConfig class, so this code is now unnecessary

Github Issue #22, SPR-317
2016-02-18 13:48:10 +01:00
1a07b69644 Let SearchConfig handle all configuration
SPR-309. SPR-317 GitHub Issue #22
2016-02-18 13:42:41 +01:00
fc8e256352 Use default internallink renderer for xhtml as well 2016-02-17 18:17:39 +01:00
eb3ad34e87 Add *~ and = comp and adjust to data functionality 2016-02-17 17:01:31 +01:00
93485d71e2 Fix limit controls 2016-02-17 16:28:09 +01:00
2987727967 Render output tables with data-like syntax
ToDo: summarize
2016-02-17 13:53:50 +01:00