firewall/automation: Add optional tabulator tree view to show categories as rule separators/folders (#9015)
* firewall/automation: Automatically group categories into buckets to generate a tree view. The sequence is not changed, whenever a rule category changes, a new bucket will be opened. This means categories can exist as duplicates and do not change any sorting logic. The user can just move the rule via sequence number and category to place it in the correct bucket.
* automation/filter: Add category name to bucket row, but not to its children
* automation/filter: Display tags instead of circles, add empty tag as default category
* firewall/automation: Add formatter to group rows with the same color as first category but low opacity
* firewall/automation: Set opacity on whole grid row when disabled, and remove custom opacity style on icons
* firewall/automation: Adjust header formatters for consistency
* firewall/automation: Do not render colored rows as this can become very noisy
* automation/filter: Style the bucket-row to appear like a real header
* automation/filter: Style category text
[27 lines not shown]
bootgrid: provide more styling possibilities from formatters
While the onRendered callback was already there, it is now wrapped
with the cell component as a parameter for usage in the callback.
This allows a construct such as:
onRendered((cell) => cell.getRow().getElement().style.backgroundColor = 'red');
For example, the value of a cell may be used to determine that
a row should be more/less opaque, such as if an item is disabled.
(cherry picked from commit c42e77aefca61ab314c904d6b21edf9c42f0a1a6)
make: more changes, mfc mostly works
We want to avoid WRKDIR use since it's not defined in the plugins
base directory case (and we don't want to create it which looks like
a category). Pivot to MFCDIR instead.
firewall/automation: Pagination works as the bucket rows are generated on the fly in the response handler. Sorting in the response handler is not necessary