neo.mjs 8.12.0 → 8.14.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 (45) hide show
  1. package/apps/ServiceWorker.mjs +2 -2
  2. package/apps/colors/view/TableContainer.mjs +1 -1
  3. package/apps/covid/Util.mjs +9 -9
  4. package/apps/portal/index.html +1 -1
  5. package/apps/portal/view/home/FooterContainer.mjs +1 -1
  6. package/apps/realworld2/view/article/PreviewList.mjs +2 -2
  7. package/apps/sharedcovid/Util.mjs +2 -2
  8. package/examples/ServiceWorker.mjs +2 -2
  9. package/examples/grid/covid/Util.mjs +3 -3
  10. package/examples/grid/nestedRecordFields/Viewport.mjs +27 -4
  11. package/examples/table/container/MainContainer.mjs +4 -4
  12. package/examples/table/covid/Util.mjs +3 -3
  13. package/examples/table/nestedRecordFields/Viewport.mjs +2 -2
  14. package/package.json +2 -2
  15. package/resources/scss/src/draggable/DragProxyComponent.scss +4 -1
  16. package/resources/scss/src/draggable/grid/header/toolbar/SortZone.scss +25 -2
  17. package/src/DefaultConfig.mjs +2 -2
  18. package/src/Neo.mjs +1 -1
  19. package/src/calendar/view/YearComponent.mjs +2 -2
  20. package/src/calendar/view/month/Component.mjs +1 -1
  21. package/src/calendar/view/week/EventDragZone.mjs +32 -29
  22. package/src/calendar/view/week/plugin/DragDrop.mjs +21 -21
  23. package/src/component/Base.mjs +29 -61
  24. package/src/component/DateSelector.mjs +1 -1
  25. package/src/component/Gallery.mjs +1 -1
  26. package/src/component/Helix.mjs +1 -1
  27. package/src/data/Model.mjs +0 -8
  28. package/src/draggable/DragZone.mjs +11 -5
  29. package/src/draggable/grid/header/toolbar/SortZone.mjs +111 -0
  30. package/src/draggable/list/DragZone.mjs +2 -2
  31. package/src/draggable/tab/header/toolbar/SortZone.mjs +2 -2
  32. package/src/draggable/toolbar/DragZone.mjs +3 -3
  33. package/src/draggable/toolbar/SortZone.mjs +2 -2
  34. package/src/draggable/tree/DragZone.mjs +2 -2
  35. package/src/grid/Container.mjs +2 -18
  36. package/src/grid/View.mjs +59 -44
  37. package/src/grid/header/Button.mjs +7 -6
  38. package/src/grid/header/Toolbar.mjs +4 -8
  39. package/src/main/DomAccess.mjs +1 -1
  40. package/src/main/addon/AmCharts.mjs +28 -9
  41. package/src/main/mixin/DeltaUpdates.mjs +13 -7
  42. package/src/selection/grid/RowModel.mjs +59 -20
  43. package/src/selection/table/RowModel.mjs +57 -17
  44. package/src/table/View.mjs +18 -16
  45. package/src/table/header/Button.mjs +7 -6
@@ -116,13 +116,14 @@ class View extends Component {
116
116
  * @param {Object} data
117
117
  * @param {String} [data.cellId]
118
118
  * @param {Object} data.column
119
+ * @param {Number} data.columnIndex
119
120
  * @param {Object} data.record
120
- * @param {Number} data.index
121
+ * @param {Number} data.rowIndex
121
122
  * @param {Neo.table.Container} data.tableContainer
122
123
  * @returns {Object}
123
124
  */
124
125
  applyRendererOutput(data) {
125
- let {cellId, column, record, index, tableContainer} = data,
126
+ let {cellId, column, columnIndex, record, rowIndex, tableContainer} = data,
126
127
  me = this,
127
128
  cellCls = ['neo-table-cell'],
128
129
  colspan = record[me.colspanField],
@@ -138,9 +139,10 @@ class View extends Component {
138
139
 
139
140
  rendererOutput = column.renderer.call(column.rendererScope || tableContainer, {
140
141
  column,
142
+ columnIndex,
141
143
  dataField,
142
- index,
143
144
  record,
145
+ rowIndex,
144
146
  tableContainer,
145
147
  value: fieldValue
146
148
  });
@@ -184,7 +186,7 @@ class View extends Component {
184
186
  if (hasStore) {
185
187
  cellId = me.getCellId(record, column.dataField)
186
188
  } else {
187
- cellId = vdom.cn[index]?.cn[me.getColumn(column.dataField, true)]?.id || Neo.getId('td')
189
+ cellId = vdom.cn[rowIndex]?.cn[me.getColumn(column.dataField, true)]?.id || Neo.getId('td')
188
190
  }
189
191
  }
190
192
 
@@ -267,7 +269,7 @@ class View extends Component {
267
269
 
268
270
  for (i=0; i < colCount; i++) {
269
271
  column = columns[i];
270
- config = me.applyRendererOutput({column, record, index: rowIndex, tableContainer});
272
+ config = me.applyRendererOutput({column, columnIndex: i, record, rowIndex, tableContainer});
271
273
 
272
274
  if (column.dock) {
273
275
  config.cls = ['neo-locked', ...config.cls || []];
@@ -522,17 +524,16 @@ class View extends Component {
522
524
  * @param {Object} opts.record
523
525
  */
524
526
  onStoreRecordChange({fields, model, record}) {
525
- let me = this,
526
- fieldNames = fields.map(field => field.name),
527
- needsUpdate = false,
528
- tableContainer = me.parent,
529
- {selectionModel} = tableContainer,
530
- {vdom} = me,
531
- cellId, cellNode, column, index, scope;
527
+ let me = this,
528
+ fieldNames = fields.map(field => field.name),
529
+ needsUpdate = false,
530
+ tableContainer = me.parent,
531
+ rowIndex = me.store.indexOf(record),
532
+ {selectionModel, vdom} = me,
533
+ cellId, cellNode, cellVdom, column, columnIndex, scope;
532
534
 
533
535
  if (fieldNames.includes(me.colspanField)) {
534
- index = me.store.indexOf(record);
535
- me.vdom.cn[index] = me.createRow({record, rowIndex: index});
536
+ me.vdom.cn[rowIndex] = me.createRow({record, rowIndex});
536
537
  me.update()
537
538
  } else {
538
539
  fields.forEach(field => {
@@ -547,11 +548,12 @@ class View extends Component {
547
548
  // the vdom might not exist yet => nothing to do in this case
548
549
  if (cellNode?.vdom) {
549
550
  column = me.getColumn(field.name);
550
- index = cellNode.index;
551
+ columnIndex = cellNode.index;
551
552
  needsUpdate = true;
552
553
  scope = column.rendererScope || tableContainer;
554
+ cellVdom = me.applyRendererOutput({cellId, column, columnIndex, record, rowIndex, tableContainer});
553
555
 
554
- cellNode.parentNode.cn[index] = me.applyRendererOutput({cellId, column, record, index, tableContainer})
556
+ cellNode.parentNode.cn[columnIndex] = cellVdom
555
557
  }
556
558
  }
557
559
  })
@@ -242,13 +242,14 @@ class Button extends BaseButton {
242
242
  }
243
243
 
244
244
  /**
245
- * @param {Object} data
246
- * @param {Neo.button.Base} data.column
247
- * @param {String} data.dataField
248
- * @param {Number} data.index
249
- * @param {Object} data.record
245
+ * @param {Object} data
246
+ * @param {Neo.button.Base} data.column
247
+ * @param {Number} data.columnIndex
248
+ * @param {String} data.dataField
249
+ * @param {Object} data.record
250
+ * @param {Number} data.rowIndex
250
251
  * @param {Neo.table.Container} data.tableContainer
251
- * @param {Number|String} data.value
252
+ * @param {Number|String} data.value
252
253
  * @returns {*}
253
254
  */
254
255
  cellRenderer(data) {