neo.mjs 5.6.4 → 5.6.6

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.
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='5.6.4'
23
+ * @member {String} version='5.6.6'
24
24
  */
25
- version: '5.6.4'
25
+ version: '5.6.6'
26
26
  }
27
27
 
28
28
  /**
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='5.6.4'
23
+ * @member {String} version='5.6.6'
24
24
  */
25
- version: '5.6.4'
25
+ version: '5.6.6'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "5.6.4",
3
+ "version": "5.6.6",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -52,14 +52,14 @@
52
52
  "envinfo": "^7.8.1",
53
53
  "fs-extra": "^11.1.1",
54
54
  "highlightjs-line-numbers.js": "^2.8.0",
55
- "inquirer": "^9.2.0",
55
+ "inquirer": "^9.2.2",
56
56
  "neo-jsdoc": "^1.0.1",
57
57
  "neo-jsdoc-x": "^1.0.5",
58
58
  "postcss": "^8.4.23",
59
59
  "sass": "^1.62.1",
60
- "webpack": "^5.81.0",
61
- "webpack-cli": "^5.0.2",
62
- "webpack-dev-server": "4.13.3",
60
+ "webpack": "^5.82.0",
61
+ "webpack-cli": "^5.1.0",
62
+ "webpack-dev-server": "4.15.0",
63
63
  "webpack-hook-plugin": "^1.0.7",
64
64
  "webpack-node-externals": "^3.0.0"
65
65
  },
@@ -236,12 +236,12 @@ const DefaultConfig = {
236
236
  useVdomWorker: true,
237
237
  /**
238
238
  * buildScripts/injectPackageVersion.mjs will update this value
239
- * @default '5.6.4'
239
+ * @default '5.6.6'
240
240
  * @memberOf! module:Neo
241
241
  * @name config.version
242
242
  * @type String
243
243
  */
244
- version: '5.6.4'
244
+ version: '5.6.6'
245
245
  };
246
246
 
247
247
  Object.assign(DefaultConfig, {
@@ -1251,6 +1251,12 @@ class Base extends CoreBase {
1251
1251
  * @returns {Neo.component.Base|null}
1252
1252
  */
1253
1253
  getReference(value) {
1254
+ let controller = this.getController();
1255
+
1256
+ if (controller) {
1257
+ return controller.getReference(value)
1258
+ }
1259
+
1254
1260
  return this.down({reference: value})
1255
1261
  }
1256
1262
 
@@ -141,7 +141,7 @@ class Base extends Component {
141
141
  setTimeout(() => {
142
142
  let items = this.items,
143
143
  i = 0,
144
- len = items.length;
144
+ len = items?.length || 0;
145
145
 
146
146
  for (; i < len; i++) {
147
147
  if (!items[i].vdom.removeDom) {
@@ -23,9 +23,13 @@ class Phone extends Text {
23
23
  */
24
24
  errorTextInputPattern: data => `Not a valid phone number`,
25
25
  /**
26
- * @member {RegExp|null} inputPattern=/^[0-9\-+\(\) ]+$/
26
+ * @member {RegExp|null} inputPattern=/^\+?\(?[0-9]+\)?([\-\s\.]?[/0-9]+)*$/
27
27
  */
28
- inputPattern: /^[0-9\-+\(\) ]+$/,
28
+ inputPattern: /^\+?\(?[0-9]+\)?([\-\s\.]?[/0-9]+)*$/,
29
+ /**
30
+ * @member {Boolean} inputPatternDOM=false
31
+ */
32
+ inputPatternDOM: false,
29
33
  /**
30
34
  * Value for the inputType_ textfield config
31
35
  * @member {String} inputType='tel'
@@ -105,6 +105,13 @@ class Text extends Base {
105
105
  * @member {RegExp|null} inputPattern_=null
106
106
  */
107
107
  inputPattern_: null,
108
+ /**
109
+ * If false, the inputPattern will only get validated via JavaScript, but not getting applied on DOM level.
110
+ * The regex support for input based patterns is not fully there yet, so feel free to disable this feature
111
+ * if needed (E.g. form.field.Phone).
112
+ * @member {Boolean} inputPatternDOM=true
113
+ */
114
+ inputPatternDOM: true,
108
115
  /**
109
116
  * @member {String} inputType_='text'
110
117
  */
@@ -357,12 +364,14 @@ class Text extends Base {
357
364
  * @protected
358
365
  */
359
366
  afterSetInputPattern(value, oldValue) {
360
- if (value) {
361
- value = value.toString();
362
- value = value.substring(1, value.length - 1);
363
- }
367
+ if (this.inputPatternDOM) {
368
+ if (value) {
369
+ value = value.toString();
370
+ value = value.substring(1, value.length - 1);
371
+ }
364
372
 
365
- this.changeInputElKey('pattern', value)
373
+ this.changeInputElKey('pattern', value)
374
+ }
366
375
  }
367
376
 
368
377
  /**
@@ -411,7 +411,7 @@ class Container extends BaseContainer {
411
411
  * @param {Boolean} silent=false
412
412
  * @returns {Neo.component.Base|Neo.component.Base[]}
413
413
  */
414
- insert(index, item, silent=false) {
414
+ insert(index, item, silent=false) {console.log('insert', this.id)
415
415
  let me = this,
416
416
  cardContainer = me.getCardContainer(),
417
417
  tabBar = me.getTabBar(),
@@ -472,10 +472,7 @@ class Container extends BaseContainer {
472
472
  }
473
473
  }
474
474
 
475
- if (!silent) {
476
- me.updateTabButtons()
477
- me.update();
478
- }
475
+ !silent && me.updateTabButtons()
479
476
 
480
477
  return superItem
481
478
  }
@@ -526,7 +523,7 @@ class Container extends BaseContainer {
526
523
  * @param {String} buttonId
527
524
  * @protected
528
525
  */
529
- onTabButtonMounted(buttonId) {
526
+ onTabButtonMounted(buttonId) {console.log('onTabButtonMounted')
530
527
  let me = this,
531
528
  cardContainer = me.getCardContainer(),
532
529
  tabBar = me.getTabBar(),