neo.mjs 5.1.14 → 5.1.16

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.1.14'
23
+ * @member {String} version='5.1.16'
24
24
  */
25
- version: '5.1.14'
25
+ version: '5.1.16'
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.1.14'
23
+ * @member {String} version='5.1.16'
24
24
  */
25
- version: '5.1.14'
25
+ version: '5.1.16'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "5.1.14",
3
+ "version": "5.1.16",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -237,12 +237,12 @@ const DefaultConfig = {
237
237
  useVdomWorker: true,
238
238
  /**
239
239
  * buildScripts/injectPackageVersion.mjs will update this value
240
- * @default '5.1.14'
240
+ * @default '5.1.16'
241
241
  * @memberOf! module:Neo
242
242
  * @name config.version
243
243
  * @type String
244
244
  */
245
- version: '5.1.14'
245
+ version: '5.1.16'
246
246
  };
247
247
 
248
248
  Object.assign(DefaultConfig, {
package/src/Main.mjs CHANGED
@@ -49,6 +49,7 @@ class Main extends core.Base {
49
49
  'alert',
50
50
  'editRoute',
51
51
  'getWindowData',
52
+ 'redirectTo',
52
53
  'setNeoConfig',
53
54
  'setRoute',
54
55
  'windowClose',
@@ -334,6 +335,14 @@ class Main extends core.Base {
334
335
  }
335
336
  }
336
337
 
338
+ /**
339
+ * @param {Object} data
340
+ * @param {String} data.url
341
+ */
342
+ redirectTo(data) {
343
+ window.location.href = data.url;
344
+ }
345
+
337
346
  /**
338
347
  * Triggers the different DOM operation queues
339
348
  * @protected
@@ -1284,8 +1284,7 @@ class Base extends CoreBase {
1284
1284
 
1285
1285
  if (me.hideMode !== 'visibility') {
1286
1286
  let removeFn = function() {
1287
- me.vdom.removeDom = true;
1288
- me.update();
1287
+ me.unmount();
1289
1288
  }
1290
1289
 
1291
1290
  if (timeout) {
@@ -1393,7 +1392,9 @@ class Base extends CoreBase {
1393
1392
  parentIndex: me.parentIndex
1394
1393
  });
1395
1394
 
1396
- await Neo.timeout(2000);
1395
+ delete me.vdom.removeDom;
1396
+
1397
+ await Neo.timeout(30);
1397
1398
 
1398
1399
  me.mounted = true;
1399
1400
  }
@@ -1605,6 +1606,8 @@ class Base extends CoreBase {
1605
1606
  if (me.vdom) {
1606
1607
  me.isVdomUpdating = true;
1607
1608
 
1609
+ delete me.vdom.removeDom;
1610
+
1608
1611
  Neo.vdom.Helper.create({
1609
1612
  appName : me.appName,
1610
1613
  autoMount,
@@ -1627,7 +1630,8 @@ class Base extends CoreBase {
1627
1630
  * @returns {Promise<*>}
1628
1631
  */
1629
1632
  set(values={}, silent=false) {
1630
- let me = this;
1633
+ let me = this,
1634
+ needsRendering = values.hidden === false && values.hidden !== me.hidden;
1631
1635
 
1632
1636
  me.silentVdomUpdate = true;
1633
1637
 
@@ -1638,6 +1642,11 @@ class Base extends CoreBase {
1638
1642
  if (silent || !me.needsVdomUpdate) {
1639
1643
  return Promise.resolve();
1640
1644
  } else {
1645
+ if (needsRendering) {
1646
+ me.show();
1647
+ return Promise.resolve();
1648
+ }
1649
+
1641
1650
  return me.promiseVdomUpdate();
1642
1651
  }
1643
1652
  }
@@ -1660,7 +1669,12 @@ class Base extends CoreBase {
1660
1669
 
1661
1670
  if (me.hideMode !== 'visibility') {
1662
1671
  delete me.vdom.removeDom;
1663
- !me.silentVdomUpdate && me.render(true);
1672
+
1673
+ if (me.silentVdomUpdate) {
1674
+ me.needsVdomUpdate = true;
1675
+ } else {
1676
+ !me.mounted && me.render(true)
1677
+ }
1664
1678
  } else {
1665
1679
  let style = me.style;
1666
1680
  delete style.visibility;
@@ -1759,6 +1773,8 @@ class Base extends CoreBase {
1759
1773
  unmount() {
1760
1774
  let me = this;
1761
1775
 
1776
+ me.vdom.removeDom = true;
1777
+
1762
1778
  me.mounted = false;
1763
1779
 
1764
1780
  Neo.currentWorker.promiseMessage('main', {
package/src/core/Base.mjs CHANGED
@@ -378,7 +378,7 @@ class Base {
378
378
  nsKey = nsArray.pop();
379
379
  ns = Neo.ns(nsArray, false, me);
380
380
 
381
- if (!Object.hasOwn(ns, nsKey)) {
381
+ if (ns[nsKey] === undefined) {
382
382
  console.error('The used @config does not exist:', nsKey, nsArray.join('.'));
383
383
  } else {
384
384
  symbolNs = Neo.ns(nsArray, false, me[configSymbol]);
@@ -612,7 +612,6 @@ class Helper extends Base {
612
612
 
613
613
  for (; i < len; i++) {
614
614
  childNode = vnode.childNodes[i];
615
-
616
615
  outerHTML = this.createStringFromVnode(childNode);
617
616
 
618
617
  if (childNode.innerHTML !== outerHTML) {