CSS implementation of ExtJS Modern Locked Grid
keckeroo / css-locked-grid Goto Github PK
View Code? Open in Web Editor NEWCSS implementation of ExtJS Modern Locked Grid
License: GNU General Public License v3.0
CSS implementation of ExtJS Modern Locked Grid
License: GNU General Public License v3.0
When tabbing within grid filterbar, the fields are not scrolling into view the same way other grid cell navigation scrolls elements into view (Native scroll vs Virtual scroll behaviour). As well - the entire grid does not scroll in sync with the filterbar scrolling when tabbing between filter fields
Currently, if a grid configuration contains locked values which are out of order with how they should be ordered in grid layout (eg [ unlocked, right, unlocked, left vs left, unlocked, unlocked, right) , the rendering of locked and unlocked regions are incorrect.
Resolution: As with column weights, sort the columns based on locked config as well
When cell editing is enabled and you are editing a cell value the zIndex of the cell editor is set to '10 !important'
This value is the same zIndex as the locked region and so when scrolled into the locked region the cell editor overlays the locked region.
Either the cell editors zIndex needs to be dropped, or we increase the zIndex of the locked regions.
I think the fix here is to have the locked regions use a zIndex higher than 10, this avoids conflicts within the existing framework.
When a grid is a child item of a card layout container and NOT active, and the parent container is resized, the grid does not adjust refresh when made active (show).
Grid should always refresh when shown to update element sizes in case parent has been resized.
This is a duplicate issue of the cell editor, only this time it relates to the selection extender.
The selection extender square has a zIndex of 12, and thus is floating above the locked region which has a zIndex of 10.
The fix should probably be to increase the zIndex of the locked regions.
When using cssLockedGrid in floating grid - ensureVisible is scrolling cell wildly
Sometimes I see grid cells scrolling in the center region when they don't need to.
This is especially undesirable when attempting to double click on a grid cell to engage the cell editor as the cell you are double clicking on then scrolls away and you end up somewhere else.
This looks like it only happens when the grid is within a floating component, and looks to be an issue with positional calculations between relative and absolute positioning.
When configuring groupField for a store, the expand/collapse tool is missing from the locked grid
When zoomed out, a cell tooltip will not appear over the correct cell (appears on cells above)
When making use of setColumns to (re)configure grid, locked region dividers are not correctly placed.
Possibly resolved by commit 2d1c559
This has also shown another visual issue when resizing dialog boxes. The behaviour is quite erratic because of the fact that dialogs are centered (and then can be uncentered by moving them - which results in very odd resizing behaviour)
Originally posted by @keckeroo in #18 (comment)
Address following issues with resizer:
An exception can be generated on line 71 of Location.js
The code:
var count = isVirtualStore ? store.getCount() : store.getData.count();
should read:
var count = isVirtualStore ? store.getCount() : store.getData().count();
On windows - when there is no vertical scrolling the center region right side value is off by a scrollbar width - and shouldn't be.
When displayed - the header text for the group is correct, but as you scroll the center region of the grid, the group header text in the locked area scrolls as well.
Currently, when calculating the height of a region divider, it includes elements which should not have the divider extend into them (such as additional toolbars, docked non row items, etc).
Adjust so that only grid rows, summary rows, column headers, and other items which incorporate column data are included in calculating divider hight.
When both horizontal and vertical scrollbars are visible, a square is shown at the intersection of them. The square is transparent and permits grid content to show through. Correct background for the indicators to prevent this.
When focus or hover is over filterbar, using touchpad or mousewheel to scroll at that point causes entire grid to scroll. Adjustments for locked regions are not made.
The switch statement doesn't seem to be working in all cases. Replace with if/else statements
The resizer component, when not used as a splitter, is causing opposite edge of floating container to resize as well. Address and fix the regression
The panel resizer has some major visual artifacts and is continuing to increase region sizes even when it is not supposed to. Investigate use of minsize/maxsize configurations to see if these can be used to enhance or correct the behaviour
On line 32 of cssLockedGrid.grid.selectionModel the call to the deprecated function 'clearSelections' produces an error.
This fix is to use 'deselectAll'
When clicking column menu the location of Locked can change. Investigate and fix ...
The current select is not clear and should be when a column's locked region has changed or if columns have been reordered, hidden, etc
This is critical to ensure that translates are applied to the grid columns after rows are rendered.
When zooming in - and then refreshing browser, scrollbars are not drawn correctly resulting in odd sizing.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.