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.
- package/apps/ServiceWorker.mjs +2 -2
- package/apps/portal/index.html +1 -1
- package/apps/portal/view/home/FooterContainer.mjs +1 -1
- package/examples/ConfigurationViewport.mjs +1 -7
- package/examples/ServiceWorker.mjs +2 -2
- package/examples/table/container/MainContainer.mjs +1 -2
- package/examples/tableFiltering/MainContainer.mjs +1 -1
- package/examples/tableFiltering/MainStore.mjs +10 -10
- package/package.json +2 -2
- package/resources/scss/src/draggable/DragProxyComponent.scss +9 -0
- package/resources/scss/src/draggable/grid/header/toolbar/SortZone.scss +16 -0
- package/resources/scss/src/draggable/table/header/toolbar/SortZone.scss +32 -0
- package/resources/scss/src/grid/View.scss +0 -18
- package/resources/scss/src/grid/header/Toolbar.scss +0 -1
- package/resources/scss/src/table/View.scss +4 -18
- package/resources/scss/src/table/header/Button.scss +0 -4
- package/resources/scss/theme-dark/draggable/grid/header/toolbar/SortZone.scss +3 -0
- package/resources/scss/theme-dark/draggable/table/header/toolbar/SortZone.scss +3 -0
- package/resources/scss/theme-light/draggable/grid/header/toolbar/SortZone.scss +3 -0
- package/resources/scss/theme-light/draggable/table/header/toolbar/SortZone.scss +3 -0
- package/resources/scss/theme-neo-light/draggable/grid/header/toolbar/SortZone.scss +3 -0
- package/resources/scss/theme-neo-light/draggable/table/header/toolbar/SortZone.scss +3 -0
- package/src/DefaultConfig.mjs +2 -2
- package/src/Main.mjs +9 -3
- package/src/component/Base.mjs +2 -6
- package/src/draggable/grid/header/toolbar/SortZone.mjs +74 -0
- package/src/draggable/table/header/toolbar/SortZone.mjs +70 -0
- package/src/draggable/toolbar/SortZone.mjs +23 -14
- package/src/form/field/ComboBox.mjs +1 -5
- package/src/grid/header/Button.mjs +0 -109
- package/src/grid/header/Toolbar.mjs +32 -0
- package/src/main/DomAccess.mjs +14 -17
- package/src/main/DomEvents.mjs +10 -50
- package/src/main/addon/DragDrop.mjs +9 -20
- package/src/selection/grid/BaseModel.mjs +1 -1
- package/src/selection/table/BaseModel.mjs +8 -0
- package/src/selection/table/CellColumnModel.mjs +28 -26
- package/src/selection/table/CellColumnRowModel.mjs +25 -23
- package/src/selection/table/CellModel.mjs +49 -42
- package/src/selection/table/CellRowModel.mjs +18 -20
- package/src/selection/table/ColumnModel.mjs +26 -60
- package/src/selection/table/RowModel.mjs +16 -48
- package/src/table/Container.mjs +6 -6
- package/src/table/View.mjs +26 -20
- package/src/table/header/Button.mjs +55 -156
- package/src/table/header/Toolbar.mjs +34 -2
- package/src/util/Rectangle.mjs +1 -1
@@ -54,76 +54,80 @@ class CellModel extends BaseModel {
|
|
54
54
|
* @param {Object} data
|
55
55
|
*/
|
56
56
|
onKeyDownDown(data) {
|
57
|
-
this.onNavKeyRow(
|
57
|
+
this.onNavKeyRow(1)
|
58
58
|
}
|
59
59
|
|
60
60
|
/**
|
61
61
|
* @param {Object} data
|
62
62
|
*/
|
63
63
|
onKeyDownLeft(data) {
|
64
|
-
this.onNavKeyColumn(
|
64
|
+
this.onNavKeyColumn(-1)
|
65
65
|
}
|
66
66
|
|
67
67
|
/**
|
68
68
|
* @param {Object} data
|
69
69
|
*/
|
70
70
|
onKeyDownRight(data) {
|
71
|
-
this.onNavKeyColumn(
|
71
|
+
this.onNavKeyColumn(1)
|
72
72
|
}
|
73
73
|
|
74
74
|
/**
|
75
75
|
* @param {Object} data
|
76
76
|
*/
|
77
77
|
onKeyDownUp(data) {
|
78
|
-
this.onNavKeyRow(
|
78
|
+
this.onNavKeyRow(-1)
|
79
79
|
}
|
80
80
|
|
81
81
|
/**
|
82
|
-
* @param {Object} data
|
83
82
|
* @param {Number} step
|
84
83
|
*/
|
85
|
-
onNavKeyColumn(
|
86
|
-
let me
|
87
|
-
{view}
|
88
|
-
|
89
|
-
currentColumn
|
90
|
-
|
91
|
-
|
92
|
-
|
84
|
+
onNavKeyColumn(step) {
|
85
|
+
let me = this,
|
86
|
+
{dataFields, view} = me,
|
87
|
+
{store} = view,
|
88
|
+
currentColumn, newIndex, record;
|
89
|
+
|
90
|
+
if (me.hasSelection()) {
|
91
|
+
currentColumn = view.getDataField(me.items[0]);
|
92
|
+
record = view.getRecord(me.items[0])
|
93
|
+
} else {
|
94
|
+
currentColumn = dataFields[0];
|
95
|
+
record = store.getAt(0)
|
96
|
+
}
|
97
|
+
|
98
|
+
newIndex = (dataFields.indexOf(currentColumn) + step) % dataFields.length;
|
93
99
|
|
94
100
|
while (newIndex < 0) {
|
95
101
|
newIndex += dataFields.length
|
96
102
|
}
|
97
103
|
|
98
|
-
|
99
|
-
id = idArray.join('__');
|
100
|
-
|
101
|
-
me.select(id);
|
102
|
-
view.focus(id)
|
104
|
+
me.select(view.getCellId(record, dataFields[newIndex]))
|
103
105
|
}
|
104
106
|
|
105
107
|
/**
|
106
|
-
* @param {Object} data
|
107
108
|
* @param {Number} step
|
108
109
|
*/
|
109
|
-
onNavKeyRow(
|
110
|
-
let me
|
111
|
-
{view}
|
112
|
-
{store}
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
110
|
+
onNavKeyRow(step) {
|
111
|
+
let me = this,
|
112
|
+
{view} = me,
|
113
|
+
{store} = view,
|
114
|
+
currentIndex = 0,
|
115
|
+
dataField, newIndex;
|
116
|
+
|
117
|
+
if (me.hasSelection()) {
|
118
|
+
currentIndex = store.indexOf(view.getRecord(me.items[0]));
|
119
|
+
dataField = view.getDataField(me.items[0])
|
120
|
+
} else {
|
121
|
+
dataField = me.dataFields[0]
|
122
|
+
}
|
123
|
+
|
124
|
+
newIndex = (currentIndex + step) % store.getCount();
|
117
125
|
|
118
126
|
while (newIndex < 0) {
|
119
127
|
newIndex += store.getCount()
|
120
128
|
}
|
121
129
|
|
122
|
-
|
123
|
-
id = idArray.join('__');
|
124
|
-
|
125
|
-
me.select(id);
|
126
|
-
view.focus(id)
|
130
|
+
me.select(view.getCellId(store.getAt(newIndex), dataField))
|
127
131
|
}
|
128
132
|
|
129
133
|
/**
|
@@ -133,13 +137,14 @@ class CellModel extends BaseModel {
|
|
133
137
|
super.register(component);
|
134
138
|
|
135
139
|
let me = this,
|
136
|
-
{id, view} = me
|
140
|
+
{id, view} = me,
|
141
|
+
scope = id;
|
137
142
|
|
138
143
|
view.keys?._keys.push(
|
139
|
-
{fn: 'onKeyDownDown' ,key: 'Down' ,scope
|
140
|
-
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope
|
141
|
-
{fn: 'onKeyDownRight' ,key: 'Right' ,scope
|
142
|
-
{fn: 'onKeyDownUp' ,key: 'Up' ,scope
|
144
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,scope},
|
145
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope},
|
146
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope},
|
147
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,scope}
|
143
148
|
)
|
144
149
|
}
|
145
150
|
|
@@ -147,13 +152,15 @@ class CellModel extends BaseModel {
|
|
147
152
|
*
|
148
153
|
*/
|
149
154
|
unregister() {
|
150
|
-
let
|
155
|
+
let me = this,
|
156
|
+
{id, view} = me,
|
157
|
+
scope = id;
|
151
158
|
|
152
159
|
view.keys?.removeKeys([
|
153
|
-
{fn: 'onKeyDownDown' ,key: 'Down' ,scope
|
154
|
-
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope
|
155
|
-
{fn: 'onKeyDownRight' ,key: 'Right' ,scope
|
156
|
-
{fn: 'onKeyDownUp' ,key: 'Up' ,scope
|
160
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,scope},
|
161
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope},
|
162
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,scope},
|
163
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,scope}
|
157
164
|
]);
|
158
165
|
|
159
166
|
super.unregister()
|
@@ -1,7 +1,5 @@
|
|
1
1
|
import CellModel from './CellModel.mjs';
|
2
2
|
import NeoArray from '../../util/Array.mjs';
|
3
|
-
import RowModel from './RowModel.mjs';
|
4
|
-
import VDomUtil from '../../util/VDom.mjs';
|
5
3
|
|
6
4
|
/**
|
7
5
|
* @class Neo.selection.table.CellRowModel
|
@@ -71,39 +69,39 @@ class CellRowModel extends CellModel {
|
|
71
69
|
* @param {Object} data
|
72
70
|
*/
|
73
71
|
onCellClick(data) {
|
74
|
-
let me
|
75
|
-
|
76
|
-
|
72
|
+
let me = this,
|
73
|
+
record = me.view.getRecord(data.data.currentTarget),
|
74
|
+
rowId = me.view.getRowId(record);
|
77
75
|
|
78
|
-
if (
|
76
|
+
if (rowId) {
|
79
77
|
me.deselectAllRows(true);
|
80
|
-
me.selectRow(
|
78
|
+
me.selectRow(rowId)
|
81
79
|
}
|
82
80
|
|
83
81
|
super.onCellClick(data)
|
84
82
|
}
|
85
83
|
|
86
84
|
/**
|
87
|
-
* @param {Object} data
|
88
85
|
* @param {Number} step
|
89
86
|
*/
|
90
|
-
onNavKeyRow(
|
91
|
-
super.onNavKeyRow(
|
92
|
-
|
93
|
-
let me
|
94
|
-
|
95
|
-
{
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
87
|
+
onNavKeyRow(step) {
|
88
|
+
super.onNavKeyRow(step);
|
89
|
+
|
90
|
+
let me = this,
|
91
|
+
{view} = me,
|
92
|
+
{store} = view,
|
93
|
+
countRecords = store.getCount(),
|
94
|
+
rowId = me.selectedRowIds[0] || view.getRowId(store.getAt(0)),
|
95
|
+
record = view.getRecord(rowId),
|
96
|
+
index = store.indexOf(record),
|
97
|
+
newIndex = (index + step) % countRecords,
|
100
98
|
id;
|
101
99
|
|
102
100
|
while (newIndex < 0) {
|
103
|
-
newIndex +=
|
101
|
+
newIndex += countRecords
|
104
102
|
}
|
105
103
|
|
106
|
-
id =
|
104
|
+
id = view.getRowId(store.getAt(newIndex));
|
107
105
|
|
108
106
|
if (id) {
|
109
107
|
me.deselectAllRows(true);
|
@@ -44,51 +44,19 @@ class ColumnModel extends BaseModel {
|
|
44
44
|
super.destroy(...args)
|
45
45
|
}
|
46
46
|
|
47
|
-
/**
|
48
|
-
* @param {Object} eventPath
|
49
|
-
* @returns {String|null} cellId
|
50
|
-
*/
|
51
|
-
static getCellId(eventPath) {
|
52
|
-
let id = null,
|
53
|
-
i = 0,
|
54
|
-
len = eventPath.length;
|
55
|
-
|
56
|
-
for (; i < len; i++) {
|
57
|
-
if (eventPath[i].tagName === 'td') {
|
58
|
-
id = eventPath[i].id;
|
59
|
-
break
|
60
|
-
}
|
61
|
-
}
|
62
|
-
|
63
|
-
return id
|
64
|
-
}
|
65
|
-
|
66
|
-
/**
|
67
|
-
* todo: move to table.Container or view
|
68
|
-
* @param {String} cellId
|
69
|
-
* @param {Array} columns
|
70
|
-
* @returns {Number} index
|
71
|
-
*/
|
72
|
-
static getColumnIndex(cellId, columns) {
|
73
|
-
let idArray = cellId.split('__'),
|
74
|
-
currentColumn = idArray[2],
|
75
|
-
dataFields = columns.map(c => c.dataField);
|
76
|
-
|
77
|
-
return dataFields.indexOf(currentColumn)
|
78
|
-
}
|
79
|
-
|
80
47
|
/**
|
81
48
|
* @param {Object} data
|
82
49
|
*/
|
83
50
|
onCellClick(data) {
|
84
|
-
let me
|
85
|
-
{
|
86
|
-
|
87
|
-
columnNodeIds, index;
|
51
|
+
let me = this,
|
52
|
+
{view} = me,
|
53
|
+
cellId = data.data.currentTarget,
|
54
|
+
columnNodeIds, dataField, index;
|
88
55
|
|
89
|
-
if (
|
90
|
-
|
91
|
-
|
56
|
+
if (cellId) {
|
57
|
+
dataField = view.getDataField(cellId);
|
58
|
+
index = view.getColumn(dataField, true);
|
59
|
+
columnNodeIds = VDomUtil.getColumnNodesIds(view.vdom, index);
|
92
60
|
|
93
61
|
me.select(columnNodeIds)
|
94
62
|
}
|
@@ -98,41 +66,39 @@ class ColumnModel extends BaseModel {
|
|
98
66
|
* @param {Object} data
|
99
67
|
*/
|
100
68
|
onKeyDownLeft(data) {
|
101
|
-
this.onNavKeyColumn(
|
69
|
+
this.onNavKeyColumn(-1)
|
102
70
|
}
|
103
71
|
|
104
72
|
/**
|
105
73
|
* @param {Object} data
|
106
74
|
*/
|
107
75
|
onKeyDownRight(data) {
|
108
|
-
this.onNavKeyColumn(
|
76
|
+
this.onNavKeyColumn(1)
|
109
77
|
}
|
110
78
|
|
111
79
|
/**
|
112
|
-
* @param {Object} data
|
113
80
|
* @param {Number} step
|
114
81
|
*/
|
115
|
-
onNavKeyColumn(
|
116
|
-
let me
|
117
|
-
|
118
|
-
currentColumn
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
while (newIndex < 0) {
|
125
|
-
newIndex += dataFields.length
|
82
|
+
onNavKeyColumn(step) {
|
83
|
+
let me = this,
|
84
|
+
{dataFields, view} = me,
|
85
|
+
columnNodeIds, currentColumn, index;
|
86
|
+
|
87
|
+
if (me.hasSelection()) {
|
88
|
+
currentColumn = view.getDataField(me.items[0])
|
89
|
+
} else {
|
90
|
+
currentColumn = dataFields[0]
|
126
91
|
}
|
127
92
|
|
128
|
-
|
129
|
-
|
93
|
+
index = (dataFields.indexOf(currentColumn) + step) % dataFields.length;
|
94
|
+
|
95
|
+
while (index < 0) {
|
96
|
+
index += dataFields.length
|
97
|
+
}
|
130
98
|
|
131
|
-
|
132
|
-
columnNodeIds = VDomUtil.getColumnNodesIds(tbodyNode, newIndex);
|
99
|
+
columnNodeIds = VDomUtil.getColumnNodesIds(view.vdom, index);
|
133
100
|
|
134
|
-
me.select(columnNodeIds)
|
135
|
-
view.focus(id) // we have to focus one cell to ensure the keynav keeps working
|
101
|
+
me.select(columnNodeIds)
|
136
102
|
}
|
137
103
|
|
138
104
|
/**
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import BaseModel from './BaseModel.mjs';
|
2
|
-
import VDomUtil from '../../util/VDom.mjs';
|
3
2
|
|
4
3
|
/**
|
5
4
|
* @class Neo.selection.table.RowModel
|
@@ -44,76 +43,45 @@ class RowModel extends BaseModel {
|
|
44
43
|
super.destroy(...args)
|
45
44
|
}
|
46
45
|
|
47
|
-
/**
|
48
|
-
* Finds the matching table row for a given row index
|
49
|
-
* @param {Number} index row index
|
50
|
-
* @returns {String|null} The table row node id
|
51
|
-
*/
|
52
|
-
getRowId(index) {
|
53
|
-
if (index < 0 || this.view.store.getCount() < index) {
|
54
|
-
return null
|
55
|
-
}
|
56
|
-
|
57
|
-
return this.view.vdom.cn[0].cn[1].cn[index].id
|
58
|
-
}
|
59
|
-
|
60
|
-
/**
|
61
|
-
* Finds the matching table row for a given event path
|
62
|
-
* @param {Object} path The event path
|
63
|
-
* @returns {Object|null} The node containing the table row class or null
|
64
|
-
* @protected
|
65
|
-
*/
|
66
|
-
static getRowNode(path) {
|
67
|
-
let i = 0,
|
68
|
-
len = path.length,
|
69
|
-
node = null;
|
70
|
-
|
71
|
-
for (; i < len; i++) {
|
72
|
-
if (path[i].cls.includes('neo-table-row')) {
|
73
|
-
node = path[i]
|
74
|
-
}
|
75
|
-
}
|
76
|
-
|
77
|
-
return node
|
78
|
-
}
|
79
|
-
|
80
46
|
/**
|
81
47
|
* @param {Object} data
|
82
48
|
*/
|
83
49
|
onKeyDownDown(data) {
|
84
|
-
this.onNavKeyRow(
|
50
|
+
this.onNavKeyRow(1)
|
85
51
|
}
|
86
52
|
|
87
53
|
/**
|
88
54
|
* @param {Object} data
|
89
55
|
*/
|
90
56
|
onKeyDownUp(data) {
|
91
|
-
this.onNavKeyRow(
|
57
|
+
this.onNavKeyRow(-1)
|
92
58
|
}
|
93
59
|
|
94
60
|
/**
|
95
|
-
* @param {Object} data
|
96
61
|
* @param {Number} step
|
97
62
|
*/
|
98
|
-
onNavKeyRow(
|
63
|
+
onNavKeyRow(step) {
|
99
64
|
let me = this,
|
100
|
-
node = RowModel.getRowNode(data.path),
|
101
65
|
{view} = me,
|
102
66
|
{store} = view,
|
103
|
-
|
104
|
-
newIndex
|
105
|
-
|
106
|
-
|
67
|
+
currentIndex = 0,
|
68
|
+
newIndex, newRecord, rowId;
|
69
|
+
|
70
|
+
if (me.hasSelection()) {
|
71
|
+
currentIndex = store.indexOf(view.getRecordByRowId(me.items[0]))
|
72
|
+
}
|
73
|
+
|
74
|
+
newIndex = (currentIndex + step) % store.getCount();
|
107
75
|
|
108
76
|
while (newIndex < 0) {
|
109
77
|
newIndex += store.getCount()
|
110
78
|
}
|
111
79
|
|
112
|
-
|
80
|
+
newRecord = store.getAt(newIndex);
|
81
|
+
rowId = view.getRowId(newRecord);
|
113
82
|
|
114
|
-
if (
|
115
|
-
me.select(
|
116
|
-
view.focus(id);
|
83
|
+
if (rowId) {
|
84
|
+
me.select(rowId);
|
117
85
|
|
118
86
|
view.fire('select', {
|
119
87
|
record: store.getAt(newIndex)
|
@@ -134,7 +102,7 @@ class RowModel extends BaseModel {
|
|
134
102
|
me.toggleSelection(id);
|
135
103
|
|
136
104
|
isSelected = me.isSelected(id);
|
137
|
-
record = view.
|
105
|
+
record = view.getRecord(id);
|
138
106
|
|
139
107
|
!isSelected && view.onDeselect?.(record);
|
140
108
|
|
package/src/table/Container.mjs
CHANGED
@@ -192,7 +192,7 @@ class Container extends BaseContainer {
|
|
192
192
|
headerToolbar.createItems()
|
193
193
|
}
|
194
194
|
|
195
|
-
me.view?.createViewData(
|
195
|
+
me.view?.createViewData()
|
196
196
|
}
|
197
197
|
}
|
198
198
|
|
@@ -407,12 +407,12 @@ class Container extends BaseContainer {
|
|
407
407
|
}
|
408
408
|
|
409
409
|
/**
|
410
|
-
*
|
410
|
+
*
|
411
411
|
*/
|
412
|
-
createViewData(
|
412
|
+
createViewData() {
|
413
413
|
let me = this;
|
414
414
|
|
415
|
-
me.view.createViewData(
|
415
|
+
me.view.createViewData();
|
416
416
|
|
417
417
|
if (me.useCustomScrollbars && me.scrollbarsCssApplied === false) {
|
418
418
|
me.applyCustomScrollbarsCss()
|
@@ -478,7 +478,7 @@ class Container extends BaseContainer {
|
|
478
478
|
let me = this;
|
479
479
|
|
480
480
|
if (me.rendered) {
|
481
|
-
me.createViewData(
|
481
|
+
me.createViewData();
|
482
482
|
|
483
483
|
if (me.store.sorters.length < 1) {
|
484
484
|
me.removeSortingCss()
|
@@ -486,7 +486,7 @@ class Container extends BaseContainer {
|
|
486
486
|
} else {
|
487
487
|
me.on('rendered', () => {
|
488
488
|
me.timeout(50).then(() => {
|
489
|
-
me.createViewData(
|
489
|
+
me.createViewData()
|
490
490
|
})
|
491
491
|
}, me, {once: true})
|
492
492
|
}
|
package/src/table/View.mjs
CHANGED
@@ -67,7 +67,7 @@ class View extends Component {
|
|
67
67
|
* @member {Object} _vdom={tag: 'tbody', cn : []}
|
68
68
|
*/
|
69
69
|
_vdom:
|
70
|
-
{tag: 'tbody', cn: []}
|
70
|
+
{tag: 'tbody', tabIndex: -1, cn: []}
|
71
71
|
}
|
72
72
|
|
73
73
|
/**
|
@@ -189,11 +189,10 @@ class View extends Component {
|
|
189
189
|
}
|
190
190
|
|
191
191
|
cellConfig = {
|
192
|
-
tag
|
193
|
-
id
|
194
|
-
cls
|
195
|
-
style
|
196
|
-
tabIndex: '-1'
|
192
|
+
tag : 'td',
|
193
|
+
id : cellId,
|
194
|
+
cls : cellCls,
|
195
|
+
style: rendererOutput.style || {}
|
197
196
|
};
|
198
197
|
|
199
198
|
if (colspan && Object.keys(colspan).includes(dataField)) {
|
@@ -260,11 +259,10 @@ class View extends Component {
|
|
260
259
|
}
|
261
260
|
|
262
261
|
tableRow = {
|
263
|
-
tag
|
262
|
+
tag: 'tr',
|
264
263
|
id,
|
265
|
-
cls
|
266
|
-
cn
|
267
|
-
tabIndex: '-1'
|
264
|
+
cls: trCls,
|
265
|
+
cn : []
|
268
266
|
};
|
269
267
|
|
270
268
|
for (i=0; i < colCount; i++) {
|
@@ -312,17 +310,17 @@ class View extends Component {
|
|
312
310
|
}
|
313
311
|
|
314
312
|
/**
|
315
|
-
*
|
313
|
+
*
|
316
314
|
*/
|
317
|
-
createViewData(
|
318
|
-
let me
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
for (; i <
|
325
|
-
rows.push(me.createRow({record:
|
315
|
+
createViewData() {
|
316
|
+
let me = this,
|
317
|
+
{selectedRows, store} = me,
|
318
|
+
countRecords = store.getCount(),
|
319
|
+
i = 0,
|
320
|
+
rows = [];
|
321
|
+
|
322
|
+
for (; i < countRecords; i++) {
|
323
|
+
rows.push(me.createRow({record: store.items[i], rowIndex: i}))
|
326
324
|
}
|
327
325
|
|
328
326
|
me.vdom.cn = rows;
|
@@ -409,6 +407,14 @@ class View extends Component {
|
|
409
407
|
return null
|
410
408
|
}
|
411
409
|
|
410
|
+
/**
|
411
|
+
* @param {String} cellId
|
412
|
+
* @returns {String}
|
413
|
+
*/
|
414
|
+
getDataField(cellId) {
|
415
|
+
return cellId.split('__')[2]
|
416
|
+
}
|
417
|
+
|
412
418
|
/**
|
413
419
|
* Get the matching record by passing a row id, a cell id or an id inside a table cell.
|
414
420
|
* @param {String} nodeId
|