neo.mjs 6.16.0 → 6.16.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "6.16.0",
3
+ "version": "6.16.1",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -47,23 +47,23 @@
47
47
  "autoprefixer": "^10.4.19",
48
48
  "chalk": "^5.3.0",
49
49
  "clean-webpack-plugin": "^4.0.0",
50
- "commander": "^12.0.0",
51
- "cssnano": "^6.1.2",
52
- "envinfo": "^7.12.0",
50
+ "commander": "^12.1.0",
51
+ "cssnano": "^7.0.2",
52
+ "envinfo": "^7.13.0",
53
53
  "fs-extra": "^11.2.0",
54
54
  "highlightjs-line-numbers.js": "^2.8.0",
55
- "inquirer": "^9.2.19",
55
+ "inquirer": "^9.2.23",
56
56
  "marked": "^12.0.2",
57
- "monaco-editor": "^0.47.0",
57
+ "monaco-editor": "^0.49.0",
58
58
  "neo-jsdoc": "1.0.1",
59
59
  "neo-jsdoc-x": "1.0.5",
60
60
  "postcss": "^8.4.38",
61
- "sass": "^1.75.0",
61
+ "sass": "^1.77.4",
62
62
  "siesta-lite": "5.5.2",
63
63
  "url": "^0.11.3",
64
64
  "webpack": "^5.91.0",
65
65
  "webpack-cli": "^5.1.4",
66
- "webpack-dev-server": "^4.15.2",
66
+ "webpack-dev-server": "^5.0.4",
67
67
  "webpack-hook-plugin": "^1.0.7",
68
68
  "webpack-node-externals": "^3.0.0"
69
69
  },
@@ -161,6 +161,26 @@ class Container extends BaseContainer {
161
161
  me.createColumns(me.columns)
162
162
  }
163
163
 
164
+ /**
165
+ * Triggered after the columns config got changed
166
+ * @param {Object[]|null} value
167
+ * @param {Object[]|null} oldValue
168
+ * @protected
169
+ */
170
+ afterSetColumns(value, oldValue) {
171
+ if (Array.isArray(oldValue) && oldValue.length > 0) {
172
+ let me = this,
173
+ headerToolbar = me.headerToolbar;
174
+
175
+ if (headerToolbar) {
176
+ headerToolbar.items = value;
177
+ headerToolbar.createItems()
178
+ }
179
+
180
+ me.view?.createViewData(me.store.items)
181
+ }
182
+ }
183
+
164
184
  /**
165
185
  * Triggered after the selectionModel config got changed
166
186
  * @param {Neo.selection.Model} value
@@ -312,6 +332,28 @@ class Container extends BaseContainer {
312
332
  return value || oldValue
313
333
  }
314
334
 
335
+ /**
336
+ * In case you want to update multiple existing records in parallel,
337
+ * using this method is faster than updating each record one by one.
338
+ * At least until we introduce row based vdom updates.
339
+ * @param {Object[]} records
340
+ */
341
+ bulkUpdateRecords(records) {
342
+ let {view} = this;
343
+
344
+ if (view) {
345
+ view.silentVdomUpdate = true;
346
+
347
+ this.store.items.forEach((record, index) => {
348
+ record.set(records[index])
349
+ });
350
+
351
+ view.silentVdomUpdate = false;
352
+
353
+ view.update()
354
+ }
355
+ }
356
+
315
357
  /**
316
358
  * @param {Object[]} columns
317
359
  * @returns {*}