neo.mjs 6.3.8 → 6.3.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='6.3.8'
23
+ * @member {String} version='6.3.10'
24
24
  */
25
- version: '6.3.8'
25
+ version: '6.3.10'
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='6.3.8'
23
+ * @member {String} version='6.3.10'
24
24
  */
25
- version: '6.3.8'
25
+ version: '6.3.10'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "6.3.8",
3
+ "version": "6.3.10",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -236,12 +236,12 @@ const DefaultConfig = {
236
236
  useVdomWorker: true,
237
237
  /**
238
238
  * buildScripts/injectPackageVersion.mjs will update this value
239
- * @default '6.3.8'
239
+ * @default '6.3.10'
240
240
  * @memberOf! module:Neo
241
241
  * @name config.version
242
242
  * @type String
243
243
  */
244
- version: '6.3.8'
244
+ version: '6.3.10'
245
245
  };
246
246
 
247
247
  Object.assign(DefaultConfig, {
@@ -551,9 +551,6 @@ class Base extends CoreBase {
551
551
 
552
552
  if (value && oldValue === undefined && me.hideMode === 'removeDom') {
553
553
  me.vdom.removeDom = true
554
- } else if (value && me.parentId !== 'document.body') {
555
- me.vdom.removeDom = true;
556
- me.update()
557
554
  } else if (value || oldValue !== undefined) {
558
555
  me[value ? 'hide' : 'show']()
559
556
  }
@@ -1372,7 +1369,12 @@ class Base extends CoreBase {
1372
1369
 
1373
1370
  if (me.hideMode !== 'visibility') {
1374
1371
  let removeFn = function() {
1375
- me.unmount()
1372
+ if(me.parentId !== 'document.body') {
1373
+ me.vdom.removeDom = true;
1374
+ Neo.getComponent(me.parentId).update()
1375
+ } else {
1376
+ me.unmount()
1377
+ }
1376
1378
  }
1377
1379
 
1378
1380
  if (timeout) {
@@ -1822,6 +1824,8 @@ class Base extends CoreBase {
1822
1824
 
1823
1825
  if (me.silentVdomUpdate) {
1824
1826
  me.needsVdomUpdate = true
1827
+ } else if(me.parentId !== 'document.body') {
1828
+ Neo.getComponent(me.parentId).update()
1825
1829
  } else {
1826
1830
  !me.mounted && me.render(true)
1827
1831
  }
@@ -33,6 +33,10 @@ class DateField extends Picker {
33
33
  * @member {Object|null} dateSelectorConfig=null
34
34
  */
35
35
  dateSelectorConfig: null,
36
+ /**
37
+ * @member {String} errorTextInvalidDate='Not a valid date'
38
+ */
39
+ errorTextInvalidDate: 'Not a valid date',
36
40
  /**
37
41
  * True to hide the DatePicker when selecting a day
38
42
  * @member {Boolean} hidePickerOnSelect=false
@@ -71,6 +75,11 @@ class DateField extends Picker {
71
75
  }]
72
76
  }
73
77
 
78
+ /**
79
+ * Internal flag to store the dom based validity of this field
80
+ * @member {Boolean} invalidInput=false
81
+ */
82
+ invalidInput = false
74
83
  /**
75
84
  * Setting the value to true will return a Date object when calling getValue()
76
85
  * @member {Boolean} submitDateObject=false
@@ -210,8 +219,12 @@ class DateField extends Picker {
210
219
  * @protected
211
220
  */
212
221
  onInputValueChange(data) {
222
+ this.invalidInput = !data.valid;
223
+
213
224
  if (data.valid === true) {
214
225
  super.onInputValueChange(data)
226
+ } else {
227
+ this.validate(false)
215
228
  }
216
229
  }
217
230
 
@@ -229,6 +242,27 @@ class DateField extends Picker {
229
242
  super.onKeyDownEnter(data, me.dateSelector.focusCurrentItem, me.dateSelector);
230
243
  }
231
244
  }
245
+
246
+ /**
247
+ * Checks for client-side field errors
248
+ * @param {Boolean} silent=true
249
+ * @returns {Boolean} Returns true in case there are no client-side errors
250
+ */
251
+ validate(silent=true) {
252
+ let me = this,
253
+ returnValue = super.validate(silent);
254
+
255
+ if (returnValue) {
256
+ if (me.invalidInput) {
257
+ me._error = me.errorTextInvalidDate;
258
+ returnValue = false
259
+ }
260
+ }
261
+
262
+ !returnValue && !me.clean && me.updateError(me._error, silent);
263
+
264
+ return returnValue
265
+ }
232
266
  }
233
267
 
234
268
  Neo.applyClassConfig(DateField);
@@ -404,7 +404,7 @@ class Number extends Text {
404
404
  * @param {Boolean} silent=true
405
405
  * @returns {Boolean} Returns true in case there are no client-side errors
406
406
  */
407
- validate(silent = true) {
407
+ validate(silent=true) {
408
408
  let me = this,
409
409
  value = me.value,
410
410
  isNumber = Neo.isNumber(value),
@@ -417,13 +417,13 @@ class Number extends Text {
417
417
  if (returnValue) {
418
418
  if (Neo.isNumber(maxValue) && isNumber && value > maxValue) {
419
419
  me._error = me.errorTextMaxValue(errorParam);
420
- returnValue = false;
420
+ returnValue = false
421
421
  } else if (Neo.isNumber(minValue) && isNumber && value < minValue) {
422
422
  me._error = me.errorTextMinValue(errorParam);
423
- returnValue = false;
423
+ returnValue = false
424
424
  } else if (!me.fitsStepSize(value)) {
425
425
  me._error = me.errorTextStepSize(errorParam);
426
- returnValue = false;
426
+ returnValue = false
427
427
  }
428
428
  }
429
429