-
Notifications
You must be signed in to change notification settings - Fork 3k
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[8.0.0.-beta2-rev1] nestedHeaders and hiddenColumns don't work together #6879
Comments
This was broken in 8.0.0-beta2-rev1 https://jsfiddle.net/AMBudnik/dcohnzvu/ Here's a second case to check. Steps to reproduce
Result after the selection of the Demoshttps://jsfiddle.net/AMBudnik/5c82p1xL/ 7.4.2 (works well) Inform forum, and forum and Zen 25290, Gro 32275, Zen 26217, forum, and forum |
Still broken on latest rev |
We should also test cases reported here #7160 after fixing this issue. |
stable v8.0.0 https://jsfiddle.net/AMBudnik/z87h1v2g/ looks like the mentioned revision |
Any ETA on this? Would love to upgrade to v.8 but this affects us heavily |
Hi @m4m4m4 the issue is currently in development |
I add so that it does not disappear a PoC (unfinished) https://github.com/handsontable/handsontable/tree/feature/issue-6839 |
Move methods about creating IndexMaps from Core to IndexMapper. Implement "mapNamesIgnoreList" option for index changes listener. Add tests for NestedHeaders plugin cooperation with hiding columns. Issue: #6879
The module provides the ability to observe the changes that happened in the index map values during the code running. Currently, only the "hiding" index map types can be observable. The commit covers all module implementation with unit tests. The "crossHidingColumns" meta property is moved from the tree data to the source settings. Thanks to this, building a tree structure from scratch (it happens after the "updateSettings" call) does not cause metadata loss. To the "hideColumn" and "showColumn" tree modifiers, there is added a logic that ignores the action when the collapsible node is detected. This allows postponing the bug fix related to collapsible headers to the next phase. Issue: #6879
Add more tests for the NestedHeaders plugin cooperation with hidden columns (using hidden map). Add missing tests for new method added to the NestedHeaders' state manager and add integration tests for the ChangesObservable module cooperation with IndexMapper object. Issue: #6879
That changes fixes the headers selection when the NestedHeaders plugin is enabled. When the plugin is enabled it blocks the native columns selection within the Selection module. The plugin is responsible for column selection. Depends on what header level is clicked and how the tree structure looks like the plugin based on its state selects the correct columns. To achieve that the new hook "beforeHighlightingRowHeader" is added. The hook allows control the visual column index under the TH element will be modified. Issue: #6879
To decrease the overall memory footprint the index mapper instances are nulled. Additionally, the redundant unit test is removed. Issue: #6879
The change is compatible with how the build-in selection works. When no table header is selected it's possible to select the header using RMB. Otherwise, it's not possible. Issue: #6879
The commit fixes an issue where hiding columns causes nested headers to glitch. Several modules had to be extended with new functionalities to get the state where nested headers work correctly. * New modifiers are added to the nodeModifier module. The nested headers tree structure can be manipulated by the new "hideColumn" and "showColumn" modifiers. Within the PR, the modifiers are split into separate files for better maintainability. * The "matrixGenerator" module is rewritten to support new tree metadata props (crossHiddenColumns). * For the IndexMapper module, the "changesObservable" module is added. The module allows observing the index changes changed during HoT runtime. Currently, only the "hiding" map is supported. Thanks to that the tree does not have to build from scratch but can be modified on index change. * To the IndexMapper, the new methods are added. The methods complement the IndexMapper API. So from the Handsontable instance, there is a possibility to create index maps and use them to manipulate rows/columns behavior. For instance: `hot.rowIndexMapper.createAndRegisterIndexMap`. * The header highlighting process is fixed. From, now on only the headers closest to the dataset are highlighted (grey). An only active highlight (blue) is applied to all header layers. It's worth noticing that the PR is focused on fixing the cooperation of the NestedHeaders plugin and the HidingColumns (and hiding map in general). The collapsible headers will be fixed in separate PR. Moreover, the PR changes how the selection of the nested headers is held. Previously no matter what header level was clicked the selection coordinates started from -1. The list of backward-compatible changes: * New `createAndRegisterIndexMap()` method for IndexMapper; * New `createChangesObserver()` method for IndexMapper; * New `unregisterAll()` method for IndexMapper; * New `beforeHighlightingColumnHeader` and `beforeHighlightingRowHeader` hooks. Issue: #6879
Description
If we set both plugins, not all column headers are displayed.
7.4.2 - https://jsfiddle.net/53dmngb7/1/
8.0.0. beta-1 - https://jsfiddle.net/7a4obtck/
Demo
https://jsfiddle.net/ep069nqy/1/
Your environment
The text was updated successfully, but these errors were encountered: