neo.mjs 5.10.8 → 5.10.10

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.10.8'
23
+ * @member {String} version='5.10.10'
24
24
  */
25
- version: '5.10.8'
25
+ version: '5.10.10'
26
26
  }
27
27
 
28
28
  /**
@@ -20,7 +20,6 @@ class MainContainerController extends Component {
20
20
  }
21
21
 
22
22
  /**
23
- *
24
23
  * @param {Object} record
25
24
  */
26
25
  onApiListLeafClick(record) {
@@ -36,11 +35,10 @@ class MainContainerController extends Component {
36
35
  iconCls: record.singleton ? 'fa fa-arrow-alt-circle-right' : 'fa fa-copyright',
37
36
  text : record.name
38
37
  }
39
- });
38
+ })
40
39
  }
41
40
 
42
41
  /**
43
- *
44
42
  * @param {Object} record
45
43
  */
46
44
  onExamplesListLeafClick(record) {
@@ -72,7 +70,7 @@ class MainContainerController extends Component {
72
70
  module: module.default,
73
71
  id : name,
74
72
  tabButtonConfig
75
- });
73
+ })
76
74
  }
77
75
  );
78
76
  } else {
@@ -95,13 +93,12 @@ class MainContainerController extends Component {
95
93
  items,
96
94
  style: {padding: '10px'},
97
95
  tabButtonConfig
98
- });
96
+ })
99
97
  })
100
98
  }
101
99
  }
102
100
 
103
101
  /**
104
- *
105
102
  * @param {Object} value
106
103
  * @param {Object} oldValue
107
104
  */
@@ -135,7 +132,6 @@ class MainContainerController extends Component {
135
132
  }
136
133
 
137
134
  /**
138
- *
139
135
  * @param {Object} data
140
136
  */
141
137
  onNavigationSearchFieldChange(data) {
@@ -169,7 +165,7 @@ class MainContainerController extends Component {
169
165
  id : 'hljs-theme'
170
166
  }).then(data => {
171
167
  button.text = buttonText;
172
- });
168
+ })
173
169
  }
174
170
 
175
171
  /**
@@ -206,7 +202,6 @@ class MainContainerController extends Component {
206
202
  }
207
203
 
208
204
  /**
209
- *
210
205
  * @param {Object} record
211
206
  */
212
207
  onTutorialListLeafClick(record) {
@@ -223,7 +218,7 @@ class MainContainerController extends Component {
223
218
  iconCls: 'fa fa-hands-helping',
224
219
  text : record.name
225
220
  }
226
- });
221
+ })
227
222
  }
228
223
  }
229
224
 
@@ -87,14 +87,14 @@ class MainContainer extends Container {
87
87
  iconCls : 'fa fa-check-square',
88
88
  reference: 'showPrivateMembers',
89
89
  style : {marginRight: '5px'},
90
- text : 'Private',
90
+ text : 'Private'
91
91
  }, {
92
92
  checked : true,
93
93
  handler : 'onToggleMembers',
94
94
  iconCls : 'fa fa-check-square',
95
95
  reference: 'showProtectedMembers',
96
96
  style : {marginRight: '5px'},
97
- text : 'Protected',
97
+ text : 'Protected'
98
98
  }, {
99
99
  checked : true,
100
100
  handler : 'onToggleMembers',
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='5.10.8'
23
+ * @member {String} version='5.10.10'
24
24
  */
25
- version: '5.10.8'
25
+ version: '5.10.10'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "5.10.8",
3
+ "version": "5.10.10",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -47,7 +47,7 @@
47
47
  "autoprefixer": "^10.4.14",
48
48
  "chalk": "^5.2.0",
49
49
  "clean-webpack-plugin": "^4.0.0",
50
- "commander": "^10.0.1",
50
+ "commander": "^11.0.0",
51
51
  "cssnano": "^6.0.1",
52
52
  "envinfo": "^7.8.1",
53
53
  "fs-extra": "^11.1.1",
@@ -56,8 +56,8 @@
56
56
  "neo-jsdoc": "^1.0.1",
57
57
  "neo-jsdoc-x": "^1.0.5",
58
58
  "postcss": "^8.4.24",
59
- "sass": "^1.63.3",
60
- "webpack": "^5.86.0",
59
+ "sass": "^1.63.4",
60
+ "webpack": "^5.87.0",
61
61
  "webpack-cli": "^5.1.4",
62
62
  "webpack-dev-server": "4.15.1",
63
63
  "webpack-hook-plugin": "^1.0.7",
@@ -236,12 +236,12 @@ const DefaultConfig = {
236
236
  useVdomWorker: true,
237
237
  /**
238
238
  * buildScripts/injectPackageVersion.mjs will update this value
239
- * @default '5.10.8'
239
+ * @default '5.10.10'
240
240
  * @memberOf! module:Neo
241
241
  * @name config.version
242
242
  * @type String
243
243
  */
244
- version: '5.10.8'
244
+ version: '5.10.10'
245
245
  };
246
246
 
247
247
  Object.assign(DefaultConfig, {
package/src/core/Base.mjs CHANGED
@@ -370,7 +370,7 @@ class Base {
370
370
  }
371
371
 
372
372
  items.forEach(item => {
373
- !Neo.typeOf(item) === 'NeoClass' && Object.entries(item).forEach(([key, value]) => {
373
+ Object.entries(item).forEach(([key, value]) => {
374
374
  if (Array.isArray(value)) {
375
375
  me.parseItemConfigs(value);
376
376
  } else if (typeof value === 'string' && value.startsWith('@config:')) {
@@ -411,12 +411,15 @@ class DomEvents extends Base {
411
411
  * @param {Object} event
412
412
  */
413
413
  onChange(event) {
414
- let target = event.target,
414
+ let me = this,
415
+ target = event.target,
416
+ tagName = target.tagName,
417
+ value = target.value,
415
418
 
416
419
  data = {
417
- ...this.getEventData(event),
420
+ ...me.getEventData(event),
418
421
  valid: target.checkValidity(),
419
- value: (target.tagName === 'INPUT') ? StringUtil.escapeHtml(target.value) : target.value
422
+ value: tagName === 'INPUT' ? StringUtil.escapeHtml(value) : tagName === 'TEXTAREA' ? me.stripHtml(value) : value
420
423
  };
421
424
 
422
425
  // input and change events can pass a FileList for input type file
@@ -424,7 +427,7 @@ class DomEvents extends Base {
424
427
  data.files = target.files;
425
428
  }
426
429
 
427
- this.sendMessageToApp(data);
430
+ me.sendMessageToApp(data);
428
431
  }
429
432
 
430
433
  /**
@@ -512,7 +515,8 @@ class DomEvents extends Base {
512
515
  */
513
516
  onKeyDown(event) {
514
517
  let target = event.target,
515
- isInput = target.nodeName === 'INPUT';
518
+ tagName = target.tagName,
519
+ isInput = tagName === 'INPUT' || tagName === 'TEXTAREA';
516
520
 
517
521
  if (isInput && disabledInputKeys[target.id]?.includes(event.key)) {
518
522
  event.preventDefault();
@@ -721,6 +725,17 @@ class DomEvents extends Base {
721
725
  })
722
726
  }
723
727
 
728
+ /**
729
+ * hello <foo>world thorsten! 3 < 4 and 5 > 3
730
+ * @param {String} value
731
+ * @returns {String}
732
+ */
733
+ stripHtml(value) {
734
+ let doc = new DOMParser().parseFromString(value, 'text/html');
735
+
736
+ return doc.body.textContent || '';
737
+ }
738
+
724
739
  /**
725
740
  * @param {Object} event
726
741
  * @param {Object} targetArray