gridx-rails 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/README.md +3 -3
- data/app/assets/javascripts/gridx/Grid.js +3 -2
- data/app/assets/javascripts/gridx/core/model/cache/_Cache.js +25 -8
- data/app/assets/javascripts/gridx/modules/Bar.js +1 -2
- data/app/assets/javascripts/gridx/modules/Body.js +15 -7
- data/app/assets/javascripts/gridx/modules/CellWidget.js +8 -4
- data/app/assets/javascripts/gridx/modules/ColumnLock.js +12 -12
- data/app/assets/javascripts/gridx/modules/ColumnResizer.js +9 -10
- data/app/assets/javascripts/gridx/modules/Dod.js +1 -0
- data/app/assets/javascripts/gridx/modules/Edit.js +18 -15
- data/app/assets/javascripts/gridx/modules/Filter.js +7 -3
- data/app/assets/javascripts/gridx/modules/Focus.js +45 -36
- data/app/assets/javascripts/gridx/modules/GroupHeader.js +2 -1
- data/app/assets/javascripts/gridx/modules/HLayout.js +1 -0
- data/app/assets/javascripts/gridx/modules/HScroller.js +1 -0
- data/app/assets/javascripts/gridx/modules/Header.js +8 -1
- data/app/assets/javascripts/gridx/modules/HeaderMenu.js +1 -0
- data/app/assets/javascripts/gridx/modules/HeaderRegions.js +2 -1
- data/app/assets/javascripts/gridx/modules/IndirectSelect.js +7 -34
- data/app/assets/javascripts/gridx/modules/IndirectSelectColumn.js +4 -13
- data/app/assets/javascripts/gridx/modules/Menu.js +5 -1
- data/app/assets/javascripts/gridx/modules/NavigableCell.js +3 -1
- data/app/assets/javascripts/gridx/modules/NestedSort.js +4 -1
- data/app/assets/javascripts/gridx/modules/Pagination.js +1 -0
- data/app/assets/javascripts/gridx/modules/Persist.js +1 -0
- data/app/assets/javascripts/gridx/modules/RowHeader.js +11 -10
- data/app/assets/javascripts/gridx/modules/SingleSort.js +1 -0
- data/app/assets/javascripts/gridx/modules/SummaryBar.js +1 -0
- data/app/assets/javascripts/gridx/modules/ToolBar.js +3 -0
- data/app/assets/javascripts/gridx/modules/TouchScroll.js +1 -0
- data/app/assets/javascripts/gridx/modules/TouchVScroller.js +28 -5
- data/app/assets/javascripts/gridx/modules/Traverse.js +1 -0
- data/app/assets/javascripts/gridx/modules/Tree.js +2 -1
- data/app/assets/javascripts/gridx/modules/VLayout.js +1 -0
- data/app/assets/javascripts/gridx/modules/VScroller.js +22 -11
- data/app/assets/javascripts/gridx/modules/View.js +11 -6
- data/app/assets/javascripts/gridx/modules/VirtualVScroller.js +8 -4
- data/app/assets/javascripts/gridx/modules/dnd/Column.js +3 -4
- data/app/assets/javascripts/gridx/modules/dnd/Row.js +3 -4
- data/app/assets/javascripts/gridx/modules/dnd/_Dnd.js +1 -0
- data/app/assets/javascripts/gridx/modules/extendedSelect/Cell.js +4 -3
- data/app/assets/javascripts/gridx/modules/extendedSelect/Column.js +6 -7
- data/app/assets/javascripts/gridx/modules/extendedSelect/Row.js +33 -15
- data/app/assets/javascripts/gridx/modules/filter/FilterBar.js +9 -7
- data/app/assets/javascripts/gridx/modules/filter/FilterDialog.js +1 -1
- data/app/assets/javascripts/gridx/modules/filter/FilterPane.js +1 -1
- data/app/assets/javascripts/gridx/modules/filter/QuickFilter.js +1 -0
- data/app/assets/javascripts/gridx/modules/move/Column.js +2 -1
- data/app/assets/javascripts/gridx/modules/move/Row.js +2 -1
- data/app/assets/javascripts/gridx/modules/pagination/PaginationBar.js +1 -0
- data/app/assets/javascripts/gridx/modules/pagination/PaginationBarDD.js +2 -0
- data/app/assets/javascripts/gridx/modules/select/Cell.js +10 -7
- data/app/assets/javascripts/gridx/modules/select/Column.js +3 -2
- data/app/assets/javascripts/gridx/modules/select/Row.js +27 -13
- data/app/assets/javascripts/gridx/support/QuickFilter.js +7 -2
- data/lib/gridx-rails/version.rb +1 -1
- data/test/dummy/log/test.log +5 -0
- metadata +2 -2
|
@@ -11,6 +11,7 @@ define([
|
|
|
11
11
|
/*=====
|
|
12
12
|
return declare(_Module, {
|
|
13
13
|
// summary:
|
|
14
|
+
// module name: persist.
|
|
14
15
|
// Provide a mechanism to persist various grid features when the grid is destroyed,
|
|
15
16
|
// so that when a new grid with the same id (or the same persist key) is created,
|
|
16
17
|
// all these features will be restored.
|
|
@@ -15,6 +15,7 @@ define([
|
|
|
15
15
|
/*=====
|
|
16
16
|
return declare(_Module, {
|
|
17
17
|
// summary:
|
|
18
|
+
// module name: rowHeader.
|
|
18
19
|
// This modules provides a header before each row.
|
|
19
20
|
// description:
|
|
20
21
|
// Row header can be used as a UI handler for row selection, especially when
|
|
@@ -151,15 +152,14 @@ define([
|
|
|
151
152
|
visualIndex = row.visualIndex(),
|
|
152
153
|
n = query('[visualindex="' + visualIndex + '"].gridxRowHeaderRow', t.bodyNode)[0],
|
|
153
154
|
bn = t.grid.dod? query('[visualindex="' + visualIndex + '"].gridxRow', t.grid.bodyNode)[0] : query('[visualindex="' + visualIndex + '"].gridxRow .gridxRowTable', t.grid.bodyNode)[0],
|
|
154
|
-
nt = n.firstChild,
|
|
155
155
|
cp = t.arg('cellProvider');
|
|
156
156
|
n.setAttribute('rowid', row.id);
|
|
157
157
|
n.setAttribute('rowindex', row.index());
|
|
158
158
|
n.setAttribute('parentid', t.model.treePath(row.id).pop() || '');
|
|
159
159
|
if(cp){
|
|
160
|
-
|
|
160
|
+
n.firstChild.firstChild.firstChild.firstChild.innerHTML = cp.call(t, row);
|
|
161
161
|
}
|
|
162
|
-
t._syncRowHeight(
|
|
162
|
+
t._syncRowHeight(n, bn);
|
|
163
163
|
},
|
|
164
164
|
|
|
165
165
|
_onAfterCell: function(cell){
|
|
@@ -168,7 +168,7 @@ define([
|
|
|
168
168
|
visualIndex = cell.row.visualIndex(),
|
|
169
169
|
n = query('[visualindex="' + visualIndex + '"].gridxRowHeaderRow', t.bodyNode)[0],
|
|
170
170
|
bn = query('[visualindex="' + visualIndex + '"].gridxRow .gridxRowTable', t.grid.bodyNode)[0];
|
|
171
|
-
t._syncRowHeight(n
|
|
171
|
+
t._syncRowHeight(n, bn);
|
|
172
172
|
},
|
|
173
173
|
|
|
174
174
|
_syncRowHeight: function(rowHeaderNode, bodyNode){
|
|
@@ -183,9 +183,11 @@ define([
|
|
|
183
183
|
function getHeight(){
|
|
184
184
|
return has('ie') <= 8 || t._isCollapse ? bodyNode.offsetHeight + 'px' : domStyle.getComputedStyle(bodyNode).height;
|
|
185
185
|
}
|
|
186
|
-
rowHeaderNode.style.height = getHeight();
|
|
186
|
+
rowHeaderNode.style.height = rowHeaderNode.firstChild.style.height = getHeight();
|
|
187
187
|
setTimeout(function(){
|
|
188
|
-
rowHeaderNode
|
|
188
|
+
if(rowHeaderNode && rowHeaderNode.firstChild){
|
|
189
|
+
rowHeaderNode.style.height = rowHeaderNode.firstChild.style.height = getHeight();
|
|
190
|
+
}
|
|
189
191
|
}, 0);
|
|
190
192
|
},
|
|
191
193
|
|
|
@@ -251,10 +253,9 @@ define([
|
|
|
251
253
|
for(var brn = this.grid.bodyNode.firstChild, n = this.bodyNode.firstChild;
|
|
252
254
|
brn && n;
|
|
253
255
|
brn = brn.nextSibling, n = n.nextSibling){
|
|
254
|
-
var bn = this.grid.dod? brn : brn.firstChild;
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
// n.firstChild.style.height = ie > 8? domStyle.getComputedStyle(brn.firstChild).height : brn.firstChild.offsetHeight + 'px';
|
|
256
|
+
var bn = this.grid.dod ? brn : brn.firstChild;
|
|
257
|
+
var h = ie > 8 ? domStyle.getComputedStyle(bn).height : bn.offsetHeight + 'px';
|
|
258
|
+
n.style.height = n.firstChild.style.height = h;
|
|
258
259
|
}
|
|
259
260
|
var t = this,
|
|
260
261
|
g = t.grid,
|
|
@@ -9,15 +9,18 @@ define([
|
|
|
9
9
|
/*=====
|
|
10
10
|
return declare(_Module, {
|
|
11
11
|
// summary:
|
|
12
|
+
// module name: toolBar.
|
|
12
13
|
// Add toolbar on top of grid.
|
|
13
14
|
// description:
|
|
14
15
|
// Add toolbar based on Bar module. This module is only for conveniency and backward compatibility.
|
|
15
16
|
// Using Bar module directly is recommended.
|
|
16
17
|
|
|
17
18
|
// widget: [readonly] Object
|
|
19
|
+
//
|
|
18
20
|
widget: null,
|
|
19
21
|
|
|
20
22
|
// domNode: [readonly] HTMLElement
|
|
23
|
+
//
|
|
21
24
|
domNode: null
|
|
22
25
|
});
|
|
23
26
|
=====*/
|
|
@@ -13,6 +13,7 @@ define([
|
|
|
13
13
|
/*=====
|
|
14
14
|
return declare(VScroller, {
|
|
15
15
|
// summary:
|
|
16
|
+
// module name: vScroller.
|
|
16
17
|
// A vertical scroller only for touch devices.
|
|
17
18
|
// description:
|
|
18
19
|
// Using dojox/mobile/scrollable, and no lazy-rendering (all rows are rendered out).
|
|
@@ -20,8 +21,15 @@ define([
|
|
|
20
21
|
=====*/
|
|
21
22
|
|
|
22
23
|
return declare(VScroller, {
|
|
24
|
+
constructor: function(){
|
|
25
|
+
if(has('ios') || has('android') || this.arg('touch')){
|
|
26
|
+
domClass.add(this.grid.domNode, 'gridxTouchVScroller');
|
|
27
|
+
this.domNode.style.width = '';
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
|
|
23
31
|
scrollToRow: function(rowVisualIndex, toTop){
|
|
24
|
-
if(has('ios') || has('android')){
|
|
32
|
+
if(has('ios') || has('android') || this.arg('touch')){
|
|
25
33
|
var d = new Deferred(),
|
|
26
34
|
rowNode = query('[visualindex="' + rowVisualIndex + '"]', this.grid.bodyNode)[0];
|
|
27
35
|
if(rowNode){
|
|
@@ -34,8 +42,24 @@ define([
|
|
|
34
42
|
return this.inherited(arguments);
|
|
35
43
|
},
|
|
36
44
|
|
|
45
|
+
scroll: function(top){
|
|
46
|
+
if(has('ios') || has('android') || this.arg('touch')){
|
|
47
|
+
this._scrollable.scrollTo({ y: top });
|
|
48
|
+
}else{
|
|
49
|
+
this.inherited(arguments);
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
position: function(){
|
|
54
|
+
if(has('ios') || has('android') || this.arg('touch')){
|
|
55
|
+
return this._scrollable.getPos().y;
|
|
56
|
+
}else{
|
|
57
|
+
return this.inherited(arguments);
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
|
|
37
61
|
_init: function(){
|
|
38
|
-
if(has('ios') || has('android')){
|
|
62
|
+
if(has('ios') || has('android') || this.arg('touch')){
|
|
39
63
|
var t = this,
|
|
40
64
|
g = t.grid,
|
|
41
65
|
view = g.view,
|
|
@@ -44,7 +68,6 @@ define([
|
|
|
44
68
|
bodyNode = g.bodyNode,
|
|
45
69
|
headerTable = h.firstChild,
|
|
46
70
|
scrollable = t._scrollable = new Scrollable();
|
|
47
|
-
domClass.add(g.domNode, 'gridxTouchVScroller');
|
|
48
71
|
h.style.height = headerTable.offsetHeight + 'px';
|
|
49
72
|
scrollable.init({
|
|
50
73
|
domNode: mainNode,
|
|
@@ -69,12 +92,12 @@ define([
|
|
|
69
92
|
});
|
|
70
93
|
t.aspect(g.hScroller, 'refresh', function(){
|
|
71
94
|
scrollable._h = bodyNode.scrollWidth > mainNode.clientWidth;
|
|
72
|
-
|
|
95
|
+
// scrollable._v = bodyNode.scrollHeight > mainNode.clientHeight;
|
|
73
96
|
});
|
|
74
97
|
t._onBodyChange = function(){
|
|
75
98
|
t._update();
|
|
76
99
|
};
|
|
77
|
-
|
|
100
|
+
// t._onForcedScroll = function(){};
|
|
78
101
|
t.model.when({
|
|
79
102
|
start: view.rootStart,
|
|
80
103
|
count: view.rootCount
|
|
@@ -55,6 +55,7 @@ define([
|
|
|
55
55
|
|
|
56
56
|
var Tree = declare(_Module, {
|
|
57
57
|
// summary:
|
|
58
|
+
// module name: tree.
|
|
58
59
|
// This module manages row expansion/collapsing in tree grid.
|
|
59
60
|
// description:
|
|
60
61
|
// To use tree grid, the store must have 2 extra methods: hasChildren and getChildren.
|
|
@@ -633,7 +634,7 @@ define([
|
|
|
633
634
|
});
|
|
634
635
|
});
|
|
635
636
|
}
|
|
636
|
-
}else if(e
|
|
637
|
+
}else if(t.grid._isCtrlKey(e) && isExpando(e.cellNode)){
|
|
637
638
|
var ltr = t.grid.isLeftToRight();
|
|
638
639
|
if(e.keyCode == (ltr ? keys.LEFT_ARROW : keys.RIGHT_ARROW) && t.isExpanded(e.rowId)){
|
|
639
640
|
t.collapse(e.rowId);
|
|
@@ -7,6 +7,7 @@ define([
|
|
|
7
7
|
/*=====
|
|
8
8
|
return declare(_Module, {
|
|
9
9
|
// summary:
|
|
10
|
+
// module name: vLayout.
|
|
10
11
|
// This module manages the vertical layout of all the grid UI parts.
|
|
11
12
|
// description:
|
|
12
13
|
// When user creates a grid with a given height, it means the height of the whole grid,
|
|
@@ -15,6 +15,7 @@ define([
|
|
|
15
15
|
/*=====
|
|
16
16
|
return declare(_Module, {
|
|
17
17
|
// summary:
|
|
18
|
+
// module name: vScroller.
|
|
18
19
|
// This module provides basic vertical scrolling logic for grid.
|
|
19
20
|
// description:
|
|
20
21
|
// This module will make the grid body render all rows without paging.
|
|
@@ -57,7 +58,7 @@ define([
|
|
|
57
58
|
if(has('ie') < 8){
|
|
58
59
|
dn.style.width = '0px';
|
|
59
60
|
}
|
|
60
|
-
}else{
|
|
61
|
+
}else if(!has('mac')){
|
|
61
62
|
var w = metrics.getScrollbar().w,
|
|
62
63
|
ltr = g.isLeftToRight();
|
|
63
64
|
dn.style.width = w + 'px';
|
|
@@ -65,8 +66,7 @@ define([
|
|
|
65
66
|
if(has('ie') < 8){
|
|
66
67
|
t.stubNode.style.width = (w + 1) + 'px';
|
|
67
68
|
}
|
|
68
|
-
}
|
|
69
|
-
if(has('mac')){
|
|
69
|
+
}else{
|
|
70
70
|
domClass.add(g.domNode, 'gridxMac');
|
|
71
71
|
}
|
|
72
72
|
},
|
|
@@ -143,6 +143,14 @@ define([
|
|
|
143
143
|
finish(!!n);
|
|
144
144
|
return d;
|
|
145
145
|
},
|
|
146
|
+
|
|
147
|
+
scroll: function(top){
|
|
148
|
+
this.domNode.scrollTop = top;
|
|
149
|
+
},
|
|
150
|
+
|
|
151
|
+
position: function(){
|
|
152
|
+
return this.domNode.scrollTop;
|
|
153
|
+
},
|
|
146
154
|
|
|
147
155
|
//Protected -------------------------------------------------
|
|
148
156
|
_init: function(){
|
|
@@ -173,11 +181,10 @@ define([
|
|
|
173
181
|
}else{
|
|
174
182
|
ds.width = '';
|
|
175
183
|
}
|
|
176
|
-
var display = toShow ? '' : 'none';
|
|
177
|
-
var changed = display != domStyle.get(t.domNode, 'display');
|
|
184
|
+
var display = toShow ? 'block' : 'none';
|
|
185
|
+
var changed = display != (domStyle.get(t.domNode, 'display') || 'block');
|
|
178
186
|
ds.display = display;
|
|
179
|
-
if(changed){
|
|
180
|
-
t._updatePos();
|
|
187
|
+
if(t._updatePos() || changed){
|
|
181
188
|
g.hLayout.reLayout();
|
|
182
189
|
}
|
|
183
190
|
}
|
|
@@ -188,8 +195,11 @@ define([
|
|
|
188
195
|
dn = this.domNode,
|
|
189
196
|
ds = dn.style,
|
|
190
197
|
ltr = g.isLeftToRight(),
|
|
191
|
-
mainBorder = domGeo.getBorderExtents(g.mainNode)
|
|
192
|
-
|
|
198
|
+
mainBorder = domGeo.getBorderExtents(g.mainNode),
|
|
199
|
+
attr = ltr ? 'right' : 'left';
|
|
200
|
+
oldValue = ds[attr];
|
|
201
|
+
ds[attr] = -(dn.offsetWidth + (ltr ? mainBorder.r : mainBorder.l)) + 'px';
|
|
202
|
+
return oldValue != ds[attr];
|
|
193
203
|
},
|
|
194
204
|
|
|
195
205
|
_doScroll: function(){
|
|
@@ -240,13 +250,14 @@ define([
|
|
|
240
250
|
bn = g.bodyNode,
|
|
241
251
|
focus = g.focus,
|
|
242
252
|
sn = t.domNode,
|
|
253
|
+
ctrlKey = g._isCtrlKey(evt),
|
|
243
254
|
rowNode;
|
|
244
255
|
if(bn.childNodes.length && (!focus || focus.currentArea() == 'body')){
|
|
245
|
-
if(evt.keyCode == keys.HOME &&
|
|
256
|
+
if(evt.keyCode == keys.HOME && ctrlKey){
|
|
246
257
|
sn[st] = 0;
|
|
247
258
|
rowNode = bn.firstChild;
|
|
248
259
|
bd._focusCellCol = 0;
|
|
249
|
-
}else if(evt.keyCode == keys.END &&
|
|
260
|
+
}else if(evt.keyCode == keys.END && ctrlKey){
|
|
250
261
|
sn[st] = sn.scrollHeight - sn.offsetHeight;
|
|
251
262
|
rowNode = bn.lastChild;
|
|
252
263
|
bd._focusCellCol = g._columns.length - 1;
|
|
@@ -18,6 +18,7 @@ define([
|
|
|
18
18
|
|
|
19
19
|
var View = declare(_Module, {
|
|
20
20
|
// summary:
|
|
21
|
+
// module name: view.
|
|
21
22
|
// Manages how many and what rows should be shown in the current grid body.
|
|
22
23
|
// description:
|
|
23
24
|
// This module defines a key concept: visual index, which is the position of a row in current grid body.
|
|
@@ -150,7 +151,7 @@ define([
|
|
|
150
151
|
t._clear();
|
|
151
152
|
t.aspect(m, 'onSizeChange', '_onSizeChange');
|
|
152
153
|
t.aspect(m, 'onDelete', '_onDelete');
|
|
153
|
-
t.aspect(
|
|
154
|
+
t.aspect(m, 'setStore', function(){
|
|
154
155
|
//If server store changes without notifying grid, expanded rows should remain expanded.
|
|
155
156
|
if(t.arg('clearOnSetStore')){
|
|
156
157
|
t._clear();
|
|
@@ -458,9 +459,7 @@ define([
|
|
|
458
459
|
});
|
|
459
460
|
}
|
|
460
461
|
};
|
|
461
|
-
|
|
462
|
-
fetchLevel(0);
|
|
463
|
-
});
|
|
462
|
+
fetchLevel(0);
|
|
464
463
|
return d;
|
|
465
464
|
},
|
|
466
465
|
|
|
@@ -529,12 +528,18 @@ define([
|
|
|
529
528
|
info.count -= count;
|
|
530
529
|
info = openInfo[info.parentId];
|
|
531
530
|
}
|
|
532
|
-
t.
|
|
531
|
+
if(parentId === '' && rowIndex >= t.rootStart && rowIndex < t.rootStart + t.rootCount){
|
|
532
|
+
t.rootCount--;
|
|
533
|
+
}
|
|
534
|
+
var rootIndex = model.idToIndex(model.rootId(rowId));
|
|
535
|
+
if(rootIndex >= t.rootStart && rootIndex < t.rootStart + t.rootCount){
|
|
536
|
+
t.visualCount -= count;
|
|
537
|
+
}
|
|
533
538
|
}else{
|
|
534
539
|
//FIXME: what to do if some unknown row is deleted?
|
|
535
540
|
this._clear();
|
|
536
|
-
this.grid.body.lazyRefresh();
|
|
537
541
|
}
|
|
542
|
+
this.grid.body.lazyRefresh();
|
|
538
543
|
}
|
|
539
544
|
});
|
|
540
545
|
});
|
|
@@ -14,6 +14,7 @@ define([
|
|
|
14
14
|
/*=====
|
|
15
15
|
return declare(VScroller, {
|
|
16
16
|
// summary:
|
|
17
|
+
// module name: vScroller.
|
|
17
18
|
// This module implements lazy-rendering when virtically scrolling grid.
|
|
18
19
|
// description:
|
|
19
20
|
// This module takes a DOMNode-based way to implement lazy-rendering.
|
|
@@ -183,6 +184,7 @@ define([
|
|
|
183
184
|
|
|
184
185
|
_init: function(args){
|
|
185
186
|
var t = this;
|
|
187
|
+
t._avgRowHeight = t.grid.body.arg('defaultRowHeight') || 24;
|
|
186
188
|
t._rowHeight = {};
|
|
187
189
|
t._syncHeight();
|
|
188
190
|
t.connect(t.grid, '_onResizeEnd', function(){
|
|
@@ -349,11 +351,12 @@ define([
|
|
|
349
351
|
}
|
|
350
352
|
var dn = t.domNode,
|
|
351
353
|
//remember the scroll bar position
|
|
352
|
-
|
|
354
|
+
oldScrollTop = dn.scrollTop;
|
|
353
355
|
t.stubNode.style.height = h + 'px';
|
|
354
356
|
//Update last scrolltop, to avoid firing _doVirtualScroll with incorrect delta.
|
|
355
357
|
if(t._lastScrollTop){
|
|
356
|
-
|
|
358
|
+
dn.scrollTop = oldScrollTop;
|
|
359
|
+
t._lastScrollTop = dn.scrollTop;
|
|
357
360
|
}
|
|
358
361
|
},
|
|
359
362
|
|
|
@@ -415,16 +418,17 @@ define([
|
|
|
415
418
|
view = t.grid.view,
|
|
416
419
|
focus = t.grid.focus,
|
|
417
420
|
sn = t.domNode,
|
|
421
|
+
ctrlKey = t.grid._isCtrlKey(evt),
|
|
418
422
|
st = 'scrollTop',
|
|
419
423
|
r,
|
|
420
424
|
fc = '_focusCellRow';
|
|
421
425
|
if(!focus || focus.currentArea() == 'body'){
|
|
422
|
-
if(evt.keyCode == keys.HOME &&
|
|
426
|
+
if(evt.keyCode == keys.HOME && ctrlKey){
|
|
423
427
|
bd._focusCellCol = 0;
|
|
424
428
|
bd[fc] = 0;
|
|
425
429
|
sn[st] = 0;
|
|
426
430
|
bd._focusCell();
|
|
427
|
-
}else if(evt.keyCode == keys.END &&
|
|
431
|
+
}else if(evt.keyCode == keys.END && ctrlKey){
|
|
428
432
|
bd._focusCellCol = t.grid._columns.length - 1;
|
|
429
433
|
bd[fc] = view.visualCount - 1;
|
|
430
434
|
sn[st] = t.stubNode.clientHeight - bd.domNode.offsetHeight;
|
|
@@ -11,6 +11,7 @@ define([
|
|
|
11
11
|
/*=====
|
|
12
12
|
return declare(_Base, {
|
|
13
13
|
// summary:
|
|
14
|
+
// module name: dndColumn.
|
|
14
15
|
// This module provides an implementation of column drag & drop.
|
|
15
16
|
// description:
|
|
16
17
|
// This module supports column reordering within grid, dragging out of grid, and dragging into grid.
|
|
@@ -104,13 +105,11 @@ define([
|
|
|
104
105
|
},
|
|
105
106
|
|
|
106
107
|
_onBeginAutoScroll: function(){
|
|
107
|
-
|
|
108
|
-
this._autoScrollV = autoScroll.vertical;
|
|
109
|
-
autoScroll.vertical = false;
|
|
108
|
+
this.grid.autoScroll.vertical = false;
|
|
110
109
|
},
|
|
111
110
|
|
|
112
111
|
_onEndAutoScroll: function(){
|
|
113
|
-
this.grid.autoScroll.vertical =
|
|
112
|
+
this.grid.autoScroll.vertical = true;
|
|
114
113
|
},
|
|
115
114
|
|
|
116
115
|
_getItemData: function(id){
|
|
@@ -13,6 +13,7 @@ define([
|
|
|
13
13
|
/*=====
|
|
14
14
|
return declare(_Base, {
|
|
15
15
|
// summary:
|
|
16
|
+
// module name: dndRow.
|
|
16
17
|
// This module provides an implementation of row drag & drop.
|
|
17
18
|
// description:
|
|
18
19
|
// This module supports row reordering within grid, dragging out of grid, and dragging into grid.
|
|
@@ -140,13 +141,11 @@ define([
|
|
|
140
141
|
},
|
|
141
142
|
|
|
142
143
|
_onBeginAutoScroll: function(){
|
|
143
|
-
|
|
144
|
-
this._autoScrollH = autoScroll.horizontal;
|
|
145
|
-
autoScroll.horizontal = false;
|
|
144
|
+
this.grid.autoScroll.horizontal = false;
|
|
146
145
|
},
|
|
147
146
|
|
|
148
147
|
_onEndAutoScroll: function(){
|
|
149
|
-
this.grid.autoScroll.horizontal =
|
|
148
|
+
this.grid.autoScroll.horizontal = true;
|
|
150
149
|
},
|
|
151
150
|
|
|
152
151
|
_getItemData: function(id){
|