neo.mjs 8.10.1 → 8.12.0

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.
Files changed (47) hide show
  1. package/apps/ServiceWorker.mjs +2 -2
  2. package/apps/portal/index.html +1 -1
  3. package/apps/portal/view/home/FooterContainer.mjs +1 -1
  4. package/examples/ConfigurationViewport.mjs +1 -7
  5. package/examples/ServiceWorker.mjs +2 -2
  6. package/examples/table/container/MainContainer.mjs +1 -2
  7. package/examples/tableFiltering/MainContainer.mjs +1 -1
  8. package/examples/tableFiltering/MainStore.mjs +10 -10
  9. package/package.json +2 -2
  10. package/resources/scss/src/draggable/DragProxyComponent.scss +9 -0
  11. package/resources/scss/src/draggable/grid/header/toolbar/SortZone.scss +16 -0
  12. package/resources/scss/src/draggable/table/header/toolbar/SortZone.scss +32 -0
  13. package/resources/scss/src/grid/View.scss +0 -18
  14. package/resources/scss/src/grid/header/Toolbar.scss +0 -1
  15. package/resources/scss/src/table/View.scss +4 -18
  16. package/resources/scss/src/table/header/Button.scss +0 -4
  17. package/resources/scss/theme-dark/draggable/grid/header/toolbar/SortZone.scss +3 -0
  18. package/resources/scss/theme-dark/draggable/table/header/toolbar/SortZone.scss +3 -0
  19. package/resources/scss/theme-light/draggable/grid/header/toolbar/SortZone.scss +3 -0
  20. package/resources/scss/theme-light/draggable/table/header/toolbar/SortZone.scss +3 -0
  21. package/resources/scss/theme-neo-light/draggable/grid/header/toolbar/SortZone.scss +3 -0
  22. package/resources/scss/theme-neo-light/draggable/table/header/toolbar/SortZone.scss +3 -0
  23. package/src/DefaultConfig.mjs +2 -2
  24. package/src/Main.mjs +9 -3
  25. package/src/component/Base.mjs +2 -6
  26. package/src/draggable/grid/header/toolbar/SortZone.mjs +74 -0
  27. package/src/draggable/table/header/toolbar/SortZone.mjs +70 -0
  28. package/src/draggable/toolbar/SortZone.mjs +23 -14
  29. package/src/form/field/ComboBox.mjs +1 -5
  30. package/src/grid/header/Button.mjs +0 -109
  31. package/src/grid/header/Toolbar.mjs +32 -0
  32. package/src/main/DomAccess.mjs +14 -17
  33. package/src/main/DomEvents.mjs +10 -50
  34. package/src/main/addon/DragDrop.mjs +9 -20
  35. package/src/selection/grid/BaseModel.mjs +1 -1
  36. package/src/selection/table/BaseModel.mjs +8 -0
  37. package/src/selection/table/CellColumnModel.mjs +28 -26
  38. package/src/selection/table/CellColumnRowModel.mjs +25 -23
  39. package/src/selection/table/CellModel.mjs +49 -42
  40. package/src/selection/table/CellRowModel.mjs +18 -20
  41. package/src/selection/table/ColumnModel.mjs +26 -60
  42. package/src/selection/table/RowModel.mjs +16 -48
  43. package/src/table/Container.mjs +6 -6
  44. package/src/table/View.mjs +26 -20
  45. package/src/table/header/Button.mjs +55 -156
  46. package/src/table/header/Toolbar.mjs +34 -2
  47. package/src/util/Rectangle.mjs +1 -1
@@ -45,10 +45,6 @@ class Button extends BaseButton {
45
45
  * @member {String} defaultSortDirection='ASC'
46
46
  */
47
47
  defaultSortDirection: 'ASC',
48
- /**
49
- * @member {Boolean} draggable_=true
50
- */
51
- draggable_: true,
52
48
  /**
53
49
  * @member {Object} editorConfig=null
54
50
  */
@@ -100,43 +96,6 @@ class Button extends BaseButton {
100
96
  sortable_: true
101
97
  }
102
98
 
103
- /**
104
- * @param {Object} config
105
- */
106
- construct(config) {
107
- super.construct(config);
108
-
109
- let me = this;
110
-
111
- me.draggable && me.addDomListeners({
112
- dragend : me.onDragEnd,
113
- dragenter: me.onDragEnter,
114
- dragleave: me.onDragLeave,
115
- dragover : me.onDragOver,
116
- dragstart: me.onDragStart,
117
- drop : me.onDrop,
118
- scope : me
119
- })
120
- }
121
-
122
- /**
123
- * Triggered after the draggable config got changed
124
- * @param {Boolean} value
125
- * @param {Boolean} oldValue
126
- * @protected
127
- */
128
- afterSetDraggable(value, oldValue) {
129
- let me = this;
130
-
131
- if (value === true) {
132
- me.getVdomRoot().draggable = true
133
- } else {
134
- delete me.getVdomRoot().draggable
135
- }
136
-
137
- me.update()
138
- }
139
-
140
99
  /**
141
100
  * Triggered after the isSorted config got changed
142
101
  * @param {String|null} value
@@ -315,74 +274,6 @@ class Button extends BaseButton {
315
274
  me.isSorted = map[me.isSorted + '']
316
275
  }
317
276
 
318
- /**
319
- * @protected
320
- */
321
- onDragEnd() {
322
- let me = this,
323
- {style} = me;
324
-
325
- delete style.opacity;
326
- me.style = style
327
- }
328
-
329
- /**
330
- * @protected
331
- */
332
- onDragEnter() {
333
- let me = this,
334
- {cls} = me;
335
-
336
- NeoArray.add(cls, 'neo-drag-over');
337
- me.cls = cls
338
- }
339
-
340
- /**
341
- * @protected
342
- */
343
- onDragLeave() {
344
- let me = this,
345
- {cls} = me;
346
-
347
- NeoArray.remove(cls, 'neo-drag-over');
348
- me.cls = cls
349
- }
350
-
351
- /**
352
- * @param {Object} event
353
- */
354
- onDragOver(event) {
355
- //console.log('onDragOver', event);
356
- }
357
-
358
- /**
359
- * @protected
360
- */
361
- onDragStart() {
362
- let me = this,
363
- {style} = me;
364
-
365
- style.opacity = 0.4;
366
- me.style = style
367
- }
368
-
369
- /**
370
- * @param {Object} data
371
- */
372
- onDrop(data) {
373
- let me = this,
374
- headerToolbar = me.parent,
375
- {style} = me,
376
- gridContainer = headerToolbar.parent;
377
-
378
- me.onDragLeave();
379
- headerToolbar.switchItems(me.id, data.srcId);
380
- gridContainer.createViewData(gridContainer.store.data);
381
-
382
- style.opacity = 1;
383
- me.style = style
384
- }
385
-
386
277
  /**
387
278
  * @param {Object} data
388
279
  */
@@ -21,6 +21,10 @@ class Toolbar extends BaseToolbar {
21
21
  * @member {String[]} baseCls=['neo-grid-header-toolbar','neo-toolbar']
22
22
  */
23
23
  baseCls: ['neo-grid-header-toolbar', 'neo-toolbar'],
24
+ /**
25
+ * @member {Boolean} draggable_=true
26
+ */
27
+ draggable_: true,
24
28
  /**
25
29
  * @member {Neo.grid.Container|null} gridContainer=null
26
30
  */
@@ -40,6 +44,8 @@ class Toolbar extends BaseToolbar {
40
44
  */
41
45
  showHeaderFilters_: false,
42
46
  /**
47
+ * Convenience shortcut to pass sortable to all toolbar items.
48
+ * If set to true, header clicks will sort the matching column (ASC, DESC, null)
43
49
  * @member {Boolean} sortable=true
44
50
  */
45
51
  sortable: true,
@@ -50,6 +56,31 @@ class Toolbar extends BaseToolbar {
50
56
  {'aria-rowindex': 1, cn: [{cn: []}]}
51
57
  }
52
58
 
59
+ /**
60
+ * Triggered after the draggable config got changed
61
+ * @param {Boolean} value
62
+ * @param {Boolean} oldValue
63
+ * @protected
64
+ */
65
+ afterSetDraggable(value, oldValue) {
66
+ let me = this;
67
+
68
+ if (value && !me.sortZone) {
69
+ import('../../draggable/grid/header/toolbar/SortZone.mjs').then(module => {
70
+ let {appName, id, windowId} = me;
71
+
72
+ me.sortZone = Neo.create({
73
+ module : module.default,
74
+ appName,
75
+ boundaryContainerId: id,
76
+ owner : me,
77
+ windowId,
78
+ ...me.sortZoneConfig
79
+ })
80
+ })
81
+ }
82
+ }
83
+
53
84
  /**
54
85
  * Triggered after the mounted config got changed
55
86
  * @param {Boolean} value
@@ -98,6 +129,7 @@ class Toolbar extends BaseToolbar {
98
129
  })
99
130
  });
100
131
 
132
+ me.updateDepth = 2;
101
133
  me.update()
102
134
  }
103
135
  }
@@ -420,36 +420,33 @@ class DomAccess extends Base {
420
420
 
421
421
  /**
422
422
  * Returns the attributes for a given dom node id
423
- * @param {Object} data
424
- * @param {Array|String} data.id either an id or an array of ids
425
- * @param {Array|String} data.attributes either an attribute or an array of attributes
423
+ * @param {Object} data
424
+ * @param {String|String[]} data.attributes either an attribute or an array of attributes
425
+ * @param {String|String[]} data.id either an id or an array of ids
426
426
  * @returns {Array|Object} In case id is an array, an array of attribute objects is returned, otherwise an object
427
427
  */
428
- getAttributes(data) {
428
+ getAttributes({attributes, id}) {
429
429
  let returnData;
430
430
 
431
- if (Array.isArray(data.id)) {
431
+ if (Array.isArray(id)) {
432
432
  returnData = [];
433
433
 
434
- data.id.forEach(id => {
435
- returnData.push(this.getAttributes({
436
- attributes: data.attributes,
437
- id : id
438
- }))
434
+ id.forEach(id => {
435
+ returnData.push(this.getAttributes({attributes, id}))
439
436
  })
440
437
  } else {
441
- let node = this.getElementOrBody(data.id);
438
+ let node = this.getElementOrBody(id);
442
439
 
443
440
  returnData = {};
444
441
 
445
442
  if (node) {
446
- if (!Array.isArray(data.attributes)) {
447
- data.attributes = [data.attributes];
448
-
449
- data.attributes.forEach(attribute => {
450
- returnData[attribute] = node[attribute]
451
- })
443
+ if (!Array.isArray(attributes)) {
444
+ attributes = [attributes]
452
445
  }
446
+
447
+ attributes.forEach(attribute => {
448
+ returnData[attribute] = node[attribute]
449
+ })
453
450
  }
454
451
  }
455
452
 
@@ -194,7 +194,7 @@ class DomEvents extends Base {
194
194
 
195
195
  /**
196
196
  * Local domEvent listener
197
- * @param {Object} event
197
+ * @param {Event} event
198
198
  */
199
199
  domEventListener(event) {
200
200
  let me = this,
@@ -211,40 +211,7 @@ class DomEvents extends Base {
211
211
  }
212
212
  };
213
213
 
214
- // console.log('domEventListener', event.type, target.id, target.value, event);
215
-
216
214
  switch (event.type) {
217
- case 'dragend':
218
- me.dragElementId = null;
219
- break
220
- case 'dragenter':
221
- if (me.dragElementId === target.id) {
222
- return // ignore target and source to be the same
223
- }
224
- break
225
- case 'dragleave':
226
- if (me.dragElementId === target.id) {
227
- return // ignore target and source to be the same
228
- }
229
- break
230
- case 'dragover':
231
- me.onDragOver(event);
232
- event.preventDefault();
233
- break
234
- case 'dragstart':
235
- me.dragElementId = target.id;
236
- break
237
- case 'drop':
238
- if (!me.dragElementId || me.dragElementId === target.id) {
239
- return // drop fires twice by default & drop should not trigger on the drag element
240
- }
241
- if (event.stopPropagation) {
242
- event.stopPropagation() // stops the browser from redirecting.
243
- }
244
- event.preventDefault();
245
- config.data.srcId = me.dragElementId;
246
- me.dragElementId = null;
247
- break
248
215
  case 'mousemove':
249
216
  Object.assign(config.data, me.getMouseEventData(event));
250
217
  break
@@ -427,10 +394,10 @@ class DomEvents extends Base {
427
394
  * @param {Object} event
428
395
  */
429
396
  onBeforeUnload(event) {
430
- let manager = Neo.worker.Manager;
397
+ let {Manager} = Neo.worker;
431
398
 
432
- manager.appNames.forEach(appName => {
433
- manager.broadcast({action: 'disconnect', appName, windowId: manager.windowId})
399
+ Manager.appNames.forEach(appName => {
400
+ Manager.broadcast({action: 'disconnect', appName, windowId: Manager.windowId})
434
401
  })
435
402
  }
436
403
 
@@ -498,13 +465,6 @@ class DomEvents extends Base {
498
465
  me.testPathInclusion(event, preventClickTargets) && event.preventDefault()
499
466
  }
500
467
 
501
- /**
502
- * @param {Object} event
503
- */
504
- onDragOver(event) {
505
- event.dataTransfer.dropEffect = 'move'
506
- }
507
-
508
468
  /**
509
469
  * @param {FocusEvent} event
510
470
  */
@@ -616,13 +576,11 @@ class DomEvents extends Base {
616
576
  * @param {Event} event
617
577
  */
618
578
  onOrientationChange(event) {
619
- const
620
- {orientation} = screen,
579
+ let {orientation} = screen,
621
580
  {angle, type} = orientation,
622
- layout = angle === 0 || angle === 180 ? 'portrait' : 'landscape',
623
- {Manager} = Neo.worker;
581
+ layout = angle === 0 || angle === 180 ? 'portrait' : 'landscape';
624
582
 
625
- Manager.sendMessage('app', {
583
+ Neo.worker.Manager.sendMessage('app', {
626
584
  action: 'orientationChange',
627
585
  data : {angle, layout, type}
628
586
  })
@@ -633,7 +591,9 @@ class DomEvents extends Base {
633
591
  */
634
592
  onScroll(event) {
635
593
  let {clientHeight, clientWidth, scrollLeft, scrollTop} = event.target;
636
- event.preventDefault();
594
+
595
+ event.preventDefault();
596
+
637
597
  this.sendMessageToApp({
638
598
  ...this.getEventData(event),
639
599
  clientHeight,
@@ -196,17 +196,13 @@ class DragDrop extends Base {
196
196
  }
197
197
 
198
198
  /**
199
- * @param {Object} event
199
+ * @param {Event} event
200
200
  */
201
201
  onDragEnd(event) {
202
202
  let me = this,
203
203
  parsedEvent = me.getEventData(event),
204
204
  isDrop = me.pathIncludesDropZone(parsedEvent.targetPath);
205
205
 
206
- DomAccess.setBodyCls({
207
- remove: ['neo-unselectable']
208
- });
209
-
210
206
  if (me.bodyCursorStyle) {
211
207
  DomAccess.setStyle({
212
208
  id : 'document.body',
@@ -254,7 +250,7 @@ class DragDrop extends Base {
254
250
  }
255
251
 
256
252
  /**
257
- * @param {Object} event
253
+ * @param {Event} event
258
254
  */
259
255
  onDragMove(event) {
260
256
  let me = this,
@@ -290,17 +286,14 @@ class DragDrop extends Base {
290
286
  }
291
287
  }
292
288
 
293
- if (!me.moveHorizontal) {
294
- left = me.dragProxyRect.x
289
+ if (me.moveHorizontal) {
290
+ me.dragProxyElement.style.left = `${left}px`
295
291
  }
296
292
 
297
- me.dragProxyElement.style.left = `${left}px`;
298
293
 
299
- if (!me.moveVertical) {
300
- top = me.dragProxyRect.y
294
+ if (me.moveVertical) {
295
+ me.dragProxyElement.style.top = `${top}px`
301
296
  }
302
-
303
- me.dragProxyElement.style.top = `${top}px`
304
297
  }
305
298
 
306
299
  if (!me.dragProxyElement || me.alwaysFireDragMove) {
@@ -318,16 +311,12 @@ class DragDrop extends Base {
318
311
  }
319
312
 
320
313
  /**
321
- * @param {Object} event
314
+ * @param {Event} event
322
315
  */
323
316
  onDragStart(event) {
324
317
  let me = this,
325
318
  rect = event.target.getBoundingClientRect();
326
319
 
327
- DomAccess.setBodyCls({
328
- add: ['neo-unselectable']
329
- });
330
-
331
320
  Object.assign(me, {
332
321
  dragProxyRect: rect,
333
322
  offsetX : event.detail.clientX - rect.left,
@@ -341,7 +330,7 @@ class DragDrop extends Base {
341
330
  }
342
331
 
343
332
  /**
344
- * @param {Object} event
333
+ * @param {Event} event
345
334
  */
346
335
  onMouseEnter(event) {
347
336
  let me = this;
@@ -356,7 +345,7 @@ class DragDrop extends Base {
356
345
  }
357
346
 
358
347
  /**
359
- * @param {Object} event
348
+ * @param {Event} event
360
349
  */
361
350
  onMouseLeave(event) {
362
351
  let me = this;
@@ -20,7 +20,7 @@ class BaseModel extends Model {
20
20
  * @member {String[]} dataFields
21
21
  */
22
22
  get dataFields() {
23
- return this.view.parent.columns.map(c => c.dataField)
23
+ return this.view.parent.columns.map(column => column.dataField)
24
24
  }
25
25
  }
26
26
 
@@ -14,6 +14,14 @@ class BaseModel extends Model {
14
14
  */
15
15
  className: 'Neo.selection.table.BaseModel'
16
16
  }
17
+
18
+ /**
19
+ * Convenience shortcut
20
+ * @member {String[]} dataFields
21
+ */
22
+ get dataFields() {
23
+ return this.view.parent.columns.map(column => column.dataField)
24
+ }
17
25
  }
18
26
 
19
27
  export default Neo.setupClass(BaseModel);
@@ -1,6 +1,5 @@
1
- import CellModel from './CellModel.mjs';
2
- import ColumnModel from './ColumnModel.mjs';
3
- import VDomUtil from '../../util/VDom.mjs';
1
+ import CellModel from './CellModel.mjs';
2
+ import VDomUtil from '../../util/VDom.mjs';
4
3
 
5
4
  /**
6
5
  * @class Neo.selection.table.CellColumnModel
@@ -41,7 +40,7 @@ class CellColumnModel extends CellModel {
41
40
  deselectAllCells(silent) {
42
41
  let me = this,
43
42
  cellIds = [...me.selectedColumnCellIds],
44
- {view} = me;
43
+ {view} = me
45
44
 
46
45
  cellIds.forEach(cellId => {
47
46
  me.deselect(cellId, true, me.selectedColumnCellIds, me.selectedColumnCellCls)
@@ -54,14 +53,15 @@ class CellColumnModel extends CellModel {
54
53
  * @param {Object} data
55
54
  */
56
55
  onCellClick(data) {
57
- let me = this,
58
- {headerToolbar} = me.view.parent,
59
- id = data.data.currentTarget,
60
- columnNodeIds, index;
56
+ let me = this,
57
+ {view} = me,
58
+ cellId = data.data.currentTarget,
59
+ columnNodeIds, dataField, index;
61
60
 
62
- if (id) {
63
- index = ColumnModel.getColumnIndex(id, headerToolbar.items);
64
- columnNodeIds = VDomUtil.getColumnNodesIds(me.view.vdom, index);
61
+ if (cellId) {
62
+ dataField = view.getDataField(cellId);
63
+ index = view.getColumn(dataField, true);
64
+ columnNodeIds = VDomUtil.getColumnNodesIds(view.vdom, index);
65
65
 
66
66
  me.deselectAllCells(true);
67
67
  me.select(columnNodeIds, me.selectedColumnCellIds, me.selectedColumnCellCls)
@@ -71,29 +71,31 @@ class CellColumnModel extends CellModel {
71
71
  }
72
72
 
73
73
  /**
74
- * @param {Object} data
75
74
  * @param {Number} step
76
75
  */
77
- onNavKeyColumn(data, step) {
78
- let me = this,
79
- idArray = ColumnModel.getCellId(data.path).split('__'),
80
- currentColumn = idArray[2],
81
- {view} = me,
82
- dataFields = view.parent.columns.map(c => c.dataField),
83
- newIndex = (dataFields.indexOf(currentColumn) + step) % dataFields.length,
84
- columnNodeIds, tbodyNode;
85
-
86
- while (newIndex < 0) {
87
- newIndex += dataFields.length
76
+ onNavKeyColumn(step) {
77
+ let me = this,
78
+ {dataFields, view} = me,
79
+ columnNodeIds, currentColumn, index;
80
+
81
+ if (me.hasSelection()) {
82
+ currentColumn = view.getDataField(me.items[0])
83
+ } else {
84
+ currentColumn = dataFields[0]
85
+ }
86
+
87
+ index = (dataFields.indexOf(currentColumn) + step) % dataFields.length;
88
+
89
+ while (index < 0) {
90
+ index += dataFields.length
88
91
  }
89
92
 
90
- tbodyNode = VDomUtil.find(me.view.vdom, {tag: 'tbody'}).vdom;
91
- columnNodeIds = VDomUtil.getColumnNodesIds(tbodyNode, newIndex);
93
+ columnNodeIds = VDomUtil.getColumnNodesIds(view.vdom, index);
92
94
 
93
95
  me.deselectAllCells(true);
94
96
  me.select(columnNodeIds, me.selectedColumnCellIds, me.selectedColumnCellCls);
95
97
 
96
- super.onNavKeyColumn(data, step)
98
+ super.onNavKeyColumn(step)
97
99
  }
98
100
 
99
101
  /**
@@ -1,5 +1,4 @@
1
1
  import CellRowModel from './CellRowModel.mjs';
2
- import ColumnModel from './ColumnModel.mjs';
3
2
  import VDomUtil from '../../util/VDom.mjs';
4
3
 
5
4
  /**
@@ -54,14 +53,15 @@ class CellColumnRowModel extends CellRowModel {
54
53
  * @param {Object} data
55
54
  */
56
55
  onCellClick(data) {
57
- let me = this,
58
- {headerToolbar} = me.view.parent,
59
- id = data.data.currentTarget,
60
- columnNodeIds, index;
56
+ let me = this,
57
+ {view} = me,
58
+ cellId = data.data.currentTarget,
59
+ columnNodeIds, dataField, index;
61
60
 
62
- if (id) {
63
- index = ColumnModel.getColumnIndex(id, headerToolbar.items);
64
- columnNodeIds = VDomUtil.getColumnNodesIds(me.view.vdom, index);
61
+ if (cellId) {
62
+ dataField = view.getDataField(cellId);
63
+ index = view.getColumn(dataField, true);
64
+ columnNodeIds = VDomUtil.getColumnNodesIds(view.vdom, index);
65
65
 
66
66
  me.deselectAllCells(true);
67
67
  me.select(columnNodeIds, me.selectedColumnCellIds, me.selectedColumnCellCls)
@@ -71,29 +71,31 @@ class CellColumnRowModel extends CellRowModel {
71
71
  }
72
72
 
73
73
  /**
74
- * @param {Object} data
75
74
  * @param {Number} step
76
75
  */
77
- onNavKeyColumn(data, step) {
78
- let me = this,
79
- idArray = ColumnModel.getCellId(data.path).split('__'),
80
- currentColumn = idArray[2],
81
- {view} = me,
82
- dataFields = view.parent.columns.map(c => c.dataField),
83
- newIndex = (dataFields.indexOf(currentColumn) + step) % dataFields.length,
84
- columnNodeIds, tbodyNode;
85
-
86
- while (newIndex < 0) {
87
- newIndex += dataFields.length
76
+ onNavKeyColumn(step) {
77
+ let me = this,
78
+ {dataFields, view} = me,
79
+ columnNodeIds, currentColumn, index;
80
+
81
+ if (me.hasSelection()) {
82
+ currentColumn = view.getDataField(me.items[0])
83
+ } else {
84
+ currentColumn = dataFields[0]
85
+ }
86
+
87
+ index = (dataFields.indexOf(currentColumn) + step) % dataFields.length;
88
+
89
+ while (index < 0) {
90
+ index += dataFields.length
88
91
  }
89
92
 
90
- tbodyNode = VDomUtil.find(me.view.vdom, {tag: 'tbody'}).vdom;
91
- columnNodeIds = VDomUtil.getColumnNodesIds(tbodyNode, newIndex);
93
+ columnNodeIds = VDomUtil.getColumnNodesIds(view.vdom, index);
92
94
 
93
95
  me.deselectAllCells(true);
94
96
  me.select(columnNodeIds, me.selectedColumnCellIds, me.selectedColumnCellCls);
95
97
 
96
- super.onNavKeyColumn(data, step)
98
+ super.onNavKeyColumn(step)
97
99
  }
98
100
 
99
101
  /**