Browser client server-side column configuration
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
Evergreen circa 2.12
The browser client should support server-side default grid column settings, including column position and relative width, similar to the XUL client's "column_setting" feature. This allows admins to globally override the default settings applied in the TT2 files.
While it's possible to configure column position and width by creating local overrides of affected TT2 files, this is difficult to maintain.
I propose something along the lines of the XUL client, a well-known directory in the browser client code (e.g. /js/ui/
1. The file name will be based on the grid's persistKey attribute (e.g. "cat.bucket.
2. The JSON file structure will be the same as the column configuration JSON stored by the browser when the "Save Column Configuration" command is used. It's an array of objects with keys "name" and "flex".
3. An addition to the XUL version is supporting 2 types of default column settings, "defaults" and "required" settings. "Defaults" would override the settings in the TT2 files. "Required" settings would override both the TT2 files and any settings stored in the browser. (Presumably when a grid has a "required" configuration, the "Save Column Configuration" command would be disabled in the interface).
tags: |
added: webstaffcolumns removed: webstaffclient |
tags: | added: eg-grid |
While this approach would work, and I have no strong objection to it, I'd like to propose a variation that doesn't require that the EG admin mess around with files on the server: store them in the database as JSON blobs, possibly with an OU for scoping which ones to use, and either fetch the desired one when rendering a grid or fetching them en masse during app startup. To create or modify the templates, I further propose that a new column configuration action be added to specify saving the current config to the server.