-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
User configurable columns #418
Comments
Related #78 |
UX improvementsHere are the UX improvements we are planning to implement in the near future. Resizable columns (finished #448)We'll improve upon the prototype that is now available behind the
We'll adjust the algorithm as follows:
These minor tweaks will make for a more intuitive and user-friendly resize behavior. Horizontal scrollSometimes the user needs to see lots of columns at the same time, due to their specific workflow. We'll add support for a horizontal-scroll mode, to accomodate such needs. In this mode, the omnitable will list all of the enabled columns, all the time (the automatic column drop algorithm will be disabled). All columns will be displayed at their defined width, ignoring the flex attribute (which only makes sense in the "fit" mode, that we have today). A horizontal scroll bar will be visible. The header and "select row" checkboxes will always be visible, no matter where you scroll. The headers will always be aligned with the corresponding column. This mode is 100% compatible with the resizable columns feature (it is even easier to support it). The expand row area will be disabled entirely. User configuration UIRe RM:26479 We'll add a table configuration menu (button with dropdown). The button will be placed in the top-right part of the omnitable (aligned with the expand arrows). The dropdown will allow you to switch between the two layout modes, "fit" (current layout mode) and "scroll" (horizontal scroll mode, described above). The UI will allow you to add/drop columns and to sort them. Depending on the layout mode, it will behave a little bit different, to make sure that the operation is intuitive for the user. Scroll modeI will start with this mode, since it's the easier to explain. Here is a mockup of how it will look like: You can drag on the sort nubs to arrange the columns as desired. You can add/drop columns using the Fit modeThis one is a bit trickier to get right, because of the added complexity of the automatic column drop algorithm. Here is how it differs from the You can adjust both the order of columns and their priority using the same drag-and-sort UI. Using the The The Alongside this, the Mockup of the three states of the enabled toggles: In the picture there is one enabled and visible column (the first one), six enabled and hidden columns (visible in the expand area) and four disabled columns. Save layoutAll of the user configuration is fully serializable. This opens up lots of possibilities:
|
Fixed multiple issues with the interaction between the settings UI and the resize columns feature. Fixed performance issue. BREAKING CHANGE: dropped cosmoz-omnitable-column-{index} classes BREAKING CHANGE: dropped visibleColumns BREAKING CHANGE: dropped disabledColumns Re #418
Fixed multiple issues with the interaction between the settings UI and the resize columns feature. Fixed performance issue. BREAKING CHANGE: dropped cosmoz-omnitable-column-{index} classes BREAKING CHANGE: dropped visibleColumns BREAKING CHANGE: dropped disabledColumns Re #418
# [7.0.0](v6.7.0...v7.0.0) (2021-09-07) ### Bug Fixes * resize handle misaligned when filters are set ([94766c1](94766c1)) * **settings:** resize columns and settings UI fixes ([7cf52d5](7cf52d5)), closes [#418](#418) ### BREAKING CHANGES * **settings:** dropped cosmoz-omnitable-column-{index} classes * **settings:** dropped visibleColumns * **settings:** dropped disabledColumns
User should be able to open up a list of all available column and set for any column if it should be
disabled
,enabled
or default.The column list could also:
To do: Refine this .....
The text was updated successfully, but these errors were encountered: