neo.mjs 4.3.13 → 4.3.15

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": "4.3.13",
3
+ "version": "4.3.15",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -41,7 +41,7 @@
41
41
  },
42
42
  "homepage": "https://neomjs.github.io/pages/",
43
43
  "dependencies": {
44
- "@fortawesome/fontawesome-free": "^6.2.0",
44
+ "@fortawesome/fontawesome-free": "^6.2.1",
45
45
  "@material/mwc-button": "^0.27.0",
46
46
  "@material/mwc-textfield": "^0.27.0",
47
47
  "autoprefixer": "^10.4.13",
@@ -55,10 +55,10 @@
55
55
  "inquirer": "^9.1.4",
56
56
  "neo-jsdoc": "^1.0.1",
57
57
  "neo-jsdoc-x": "^1.0.4",
58
- "postcss": "^8.4.18",
59
- "sass": "^1.56.0",
60
- "webpack": "^5.74.0",
61
- "webpack-cli": "^4.10.0",
58
+ "postcss": "^8.4.19",
59
+ "sass": "^1.56.1",
60
+ "webpack": "^5.75.0",
61
+ "webpack-cli": "^5.0.0",
62
62
  "webpack-dev-server": "4.11.1",
63
63
  "webpack-hook-plugin": "^1.0.7",
64
64
  "webpack-node-externals": "^3.0.0"
package/src/core/Base.mjs CHANGED
@@ -299,7 +299,8 @@ class Base {
299
299
  * @param {Object|Object[]} items
300
300
  */
301
301
  parseItemConfigs(items) {
302
- let me = this;
302
+ let me = this,
303
+ ns, nsArray, nsKey, symbolNs;
303
304
 
304
305
  if (items) {
305
306
  if (!Array.isArray(items)) {
@@ -311,14 +312,22 @@ class Base {
311
312
  if (Array.isArray(value)) {
312
313
  me.parseItemConfigs(value);
313
314
  } else if (typeof value === 'string' && value.startsWith('@config:')) {
314
- value = value.substr(8).trim();
315
+ nsArray = value.substring(8).trim().split('.');
316
+ nsKey = nsArray.pop();
317
+ ns = Neo.ns(nsArray, false, me);
315
318
 
316
- if (!me[value] && !me.hasOwnProperty(value)) {
317
- console.error('The used @config does not exist:', value, me);
319
+ if (!Object.hasOwn(ns, nsKey)) {
320
+ console.error('The used @config does not exist:', nsKey, nsArray.join('.'));
318
321
  } else {
322
+ symbolNs = Neo.ns(nsArray, false, me[configSymbol]);
323
+
319
324
  // The config might not be processed yet, especially for configs
320
325
  // not ending with an underscore, so we need to check the configSymbol first.
321
- item[key] = me[configSymbol][value] || me[value];
326
+ if (symbolNs && Object.hasOwn(symbolNs, nsKey)) {
327
+ item[key] = symbolNs[nsKey];
328
+ } else {
329
+ item[key] = ns[nsKey];
330
+ }
322
331
  }
323
332
  }
324
333
  });
@@ -306,6 +306,7 @@ class RecordFactory extends Base {
306
306
 
307
307
  if (!Neo.isEqual(oldValue, value)) {
308
308
  record[Symbol.for(key)] = value; // silent update
309
+ record._isModified = true;
309
310
  changedFields.push({name: key, oldValue, value});
310
311
  }
311
312
  });
@@ -398,6 +398,7 @@ class Base extends Panel {
398
398
  appName : me.appName,
399
399
  cls,
400
400
  dock : 'top',
401
+ flex : 'none',
401
402
  id : me.getHeaderToolbarId(),
402
403
  listeners: {headerAction: me.executeHeaderAction, scope: me},
403
404
  title : me.title,