Commit 9c2cb59
committed
- fix bug in columnpicker: column select menu would list all columns twice.
- adjusted setActiveCellInternal() and gotoCell() interface: instead of multiple boolean parameters, now a single settings object is passed in: examples have been adjusted accordingly. This makes the latter public API (and the setActiveCellInternal() internal API as well) behave more in line with 'explaining variables' best practices: see also http://blog.ometer.com/2011/01/20/boolean-parameters-are-wrong/ & http://programmers.stackexchange.com/questions/161970/is-defining-a-variable-to-name-a-method-argument-a-good-practice & http://programmers.stackexchange.com/questions/147977/is-it-wrong-to-use-a-boolean-parameter-to-determine-behavior & http://martinfowler.com/bliki/FlagArgument.html
- reorganized the LESS theme file: `prefix &` appender usage is great ( https://github.com/SomMeri/less4j/wiki/Less-language-Nesting#appender & http://blog.slaks.net/2013-09-29/less-css-secrets-of-the-ampersand/ ) but we cannot use it ( thanks to there being no movement on less/less.js#1075 to allow producing any kind of 'reduced' parent selector ) - the `slick-row` and `slick-cell` rules have been adjusted to ensure a `selected` or `active` row and cell is now visible
- also note that in relation to the above item, several fixes have been applied as the new colspan/rowspan feature implies that your `active` row (`activePosY`) is not necessarily identical to the `activeRow` of your `activeCellNode`: hence both navigation code and CSS styling now do not expect the `active-row` to always be the `activeRow` row: you may observe this corrected behaviour in the examples/example-0042-row-span.html example when navigating the grid: rowspanning cells can be 'active' while the actual 'active row' (tracked by `activePosY`) is not the top row of the current rowspanning cell: go to row 7 in the example and navigate left and right to observe that these new fixes now ensure that you stay on row 7 instead of being 'pulled up' to the top row of each of the rowspanning cells that you will visit and 'activate' while navigating left & right on that row.
- some examples showed that the minimal header row width enlargement (on scrollbar width' orth) is too small when the grid columns do not fill the available space, e.g. examples/example-0008-compound-editors.html: now the old slickgrid behaviour has been restored with a twist: the HEADER_ROW_WIDTH_CORRECTION constant defines the amount of extra width allotted to the right for each header/footer row.
- fixed bug where invalidating a row did not update the row DOM node attributes (classes, styles, etc.) on render; this was the main culprit why, for instance, selected rows would forever remain marked as selected -- until they disappear from view and later on may be completely regenerated, that is. Now the same 'metadata ~ attributes' processing methodology used for updating cell DOM nodes is also used for row DOM nodes.
- fixed bug where userland changes to a cells rowspan and/or colspan did not reflect properly in the rerender process: now the cleanup and update-on-dirty render process identifies DOM nodes lingering in the cache while they are now being overlapped by another colspan/rowspan-ing node: these nodes are now deleted. See examples/example-0042-row-span.html.
- fixed bug where userland rowheight changes did not reflect properly in the subsequent render/update process. See example-0042-row-span.html.
- augmented the getCellNodeBox() API to include rowspan/colspan info; this is used, for example, to produce corrected redraw range specs.
- ditto for getCellFromElement() API.
- as mentioned above, revisited the navigation code (goto* APIs) and applied several fixes (jumping over rows when gotoDown(), etc.); also fixes a crash due to a misunderstanding about the purpose of each field in the span object returned by these goto*() APIs.
- fixed a few crashes due to APIs being invoked by userland code using out-of-range row/cell coordinates.
- new public API: invalidateCellSpan() accepts a span (row/cell/rowspan/colspan) to invalidate; use this to invalidate a range of cells, e.g. following a selection range edit action.1 parent 560ed59 commit 9c2cb59
File tree
8 files changed
+744
-484
lines changed- controls
- examples
- plugins
8 files changed
+744
-484
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
97 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
98 | 99 | | |
99 | | - | |
| 100 | + | |
100 | 101 | | |
101 | 102 | | |
102 | 103 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
116 | | - | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
117 | 120 | | |
118 | 121 | | |
119 | 122 | | |
| |||
129 | 132 | | |
130 | 133 | | |
131 | 134 | | |
132 | | - | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
133 | 139 | | |
134 | 140 | | |
135 | 141 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
157 | | - | |
158 | | - | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
159 | 160 | | |
160 | 161 | | |
161 | 162 | | |
162 | 163 | | |
163 | 164 | | |
| 165 | + | |
| 166 | + | |
164 | 167 | | |
165 | 168 | | |
166 | 169 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
104 | | - | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
105 | 108 | | |
106 | 109 | | |
107 | 110 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
560 | 560 | | |
561 | 561 | | |
562 | 562 | | |
563 | | - | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
564 | 567 | | |
565 | 568 | | |
566 | 569 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments