neo.mjs 6.11.0 → 6.12.1

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.
@@ -0,0 +1,26 @@
1
+ import CoreBase from '../../core/Base.mjs';
2
+
3
+ /**
4
+ * Base class for main thread addons
5
+ * @class Neo.main.addon.Base
6
+ * @extends Neo.core.Base
7
+ */
8
+ class Base extends CoreBase {
9
+ static config = {
10
+ /**
11
+ * @member {String} className='Neo.main.addon.Base'
12
+ * @protected
13
+ */
14
+ className: 'Neo.main.addon.Base',
15
+ /**
16
+ * An identifier for core.Base to get handled like singletons for remote method access
17
+ * @member {Boolean} isMainThreadAddon=true
18
+ * @protected
19
+ */
20
+ isMainThreadAddon: true
21
+ }
22
+ }
23
+
24
+ Neo.applyClassConfig(Base);
25
+
26
+ export default Base;
@@ -1,11 +1,10 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
  import DomAccess from '../DomAccess.mjs';
3
3
 
4
4
  /**
5
5
  * See: https://github.com/CesiumGS/cesium
6
6
  * @class Neo.main.addon.CesiumJS
7
- * @extends Neo.core.Base
8
- * @singleton
7
+ * @extends Neo.main.addon.Base
9
8
  */
10
9
  class CesiumJS extends Base {
11
10
  static config = {
@@ -26,12 +25,7 @@ class CesiumJS extends Base {
26
25
  'destroy',
27
26
  'flyTo'
28
27
  ]
29
- },
30
- /**
31
- * @member {Boolean} singleton=true
32
- * @protected
33
- */
34
- singleton: true
28
+ }
35
29
  }
36
30
 
37
31
  /**
@@ -117,6 +111,6 @@ class CesiumJS extends Base {
117
111
  }
118
112
  }
119
113
 
120
- let instance = Neo.applyClassConfig(CesiumJS);
114
+ Neo.applyClassConfig(CesiumJS);
121
115
 
122
- export default instance;
116
+ export default CesiumJS;
@@ -1,11 +1,10 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
 
3
3
  /**
4
4
  * Basic helper class to create template DOM nodes and apply them to a target node via cloning.
5
5
  * See: https://github.com/neomjs/neo/blob/dev/apps/krausest/view/TableComponent.mjs
6
6
  * @class Neo.main.addon.CloneNode
7
- * @extends Neo.core.Base
8
- * @singleton
7
+ * @extends Neo.main.addon.Base
9
8
  */
10
9
  class CloneNode extends Base {
11
10
  static config = {
@@ -30,12 +29,7 @@ class CloneNode extends Base {
30
29
  'applyClones',
31
30
  'createNode'
32
31
  ]
33
- },
34
- /**
35
- * @member {Boolean} singleton=true
36
- * @protected
37
- */
38
- singleton: true
32
+ }
39
33
  }
40
34
 
41
35
  /**
@@ -93,15 +87,16 @@ class CloneNode extends Base {
93
87
  */
94
88
  createNode(data) {
95
89
  let template = document.createElement(data.tag);
90
+
96
91
  template.innerHTML = data.html;
97
92
 
98
93
  this.map[data.id] = {
99
- paths : data.paths,
100
- template: template
94
+ paths: data.paths,
95
+ template
101
96
  };
102
97
  }
103
98
  }
104
99
 
105
- let instance = Neo.applyClassConfig(CloneNode);
100
+ Neo.applyClassConfig(CloneNode);
106
101
 
107
- export default instance;
102
+ export default CloneNode;
@@ -1,10 +1,9 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
 
3
3
  /**
4
4
  * Basic Read and write access for document.cookie
5
5
  * @class Neo.main.addon.Cookie
6
- * @extends Neo.core.Base
7
- * @singleton
6
+ * @extends Neo.main.addon.Base
8
7
  */
9
8
  class Cookie extends Base {
10
9
  static config = {
@@ -24,12 +23,7 @@ class Cookie extends Base {
24
23
  'getCookies',
25
24
  'setCookie'
26
25
  ]
27
- },
28
- /**
29
- * @member {Boolean} singleton=true
30
- * @protected
31
- */
32
- singleton: true
26
+ }
33
27
  }
34
28
 
35
29
  /**
@@ -59,6 +53,6 @@ class Cookie extends Base {
59
53
  }
60
54
  }
61
55
 
62
- let instance = Neo.applyClassConfig(Cookie);
56
+ Neo.applyClassConfig(Cookie);
63
57
 
64
- export default instance;
58
+ export default Cookie;
@@ -1,11 +1,10 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
  import DomAccess from '../DomAccess.mjs';
3
3
  import DomEvents from '../DomEvents.mjs';
4
4
 
5
5
  /**
6
6
  * @class Neo.main.addon.DragDrop
7
- * @extends Neo.core.Base
8
- * @singleton
7
+ * @extends Neo.main.addon.Base
9
8
  */
10
9
  class DragDrop extends Base {
11
10
  static config = {
@@ -124,12 +123,7 @@ class DragDrop extends Base {
124
123
  /**
125
124
  * @member {Number} scrollFactorTop=1
126
125
  */
127
- scrollFactorTop: 1,
128
- /**
129
- * @member {Boolean} singleton=true
130
- * @protected
131
- */
132
- singleton: true
126
+ scrollFactorTop: 1
133
127
  }
134
128
 
135
129
  /**
@@ -515,6 +509,6 @@ class DragDrop extends Base {
515
509
  }
516
510
  }
517
511
 
518
- let instance = Neo.applyClassConfig(DragDrop);
512
+ Neo.applyClassConfig(DragDrop);
519
513
 
520
- export default instance;
514
+ export default DragDrop;
@@ -1,12 +1,11 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
  import DomAccess from '../DomAccess.mjs';
3
3
  import DomEvents from '../DomEvents.mjs';
4
4
  import Observable from '../../core/Observable.mjs';
5
5
 
6
6
  /**
7
7
  * @class Neo.main.addon.GoogleMaps
8
- * @extends Neo.core.Base
9
- * @singleton
8
+ * @extends Neo.main.addon.Base
10
9
  */
11
10
  class GoogleMaps extends Base {
12
11
  static config = {
@@ -37,12 +36,7 @@ class GoogleMaps extends Base {
37
36
  'setZoom',
38
37
  'showMarker'
39
38
  ]
40
- },
41
- /**
42
- * @member {Boolean} singleton=true
43
- * @protected
44
- */
45
- singleton: true
39
+ }
46
40
  }
47
41
 
48
42
  /**
@@ -52,11 +46,11 @@ class GoogleMaps extends Base {
52
46
  /**
53
47
  * @member {Object} maps={}
54
48
  */
55
- maps = {}
49
+ maps = {}
56
50
  /**
57
51
  * @member {Object} markers={}
58
52
  */
59
- markers = {}
53
+ markers = {}
60
54
 
61
55
  /**
62
56
  * @param {Object} config
@@ -278,6 +272,6 @@ class GoogleMaps extends Base {
278
272
  }
279
273
  }
280
274
 
281
- let instance = Neo.applyClassConfig(GoogleMaps);
275
+ Neo.applyClassConfig(GoogleMaps);
282
276
 
283
- export default instance;
277
+ export default GoogleMaps;
@@ -1,12 +1,11 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
  import DomAccess from '../DomAccess.mjs';
3
3
  import Stylesheet from './Stylesheet.mjs'
4
4
 
5
5
  /**
6
6
  * Required for the docs app which uses highlight.js for the source views
7
7
  * @class Neo.main.addon.HighlightJS
8
- * @extends Neo.core.Base
9
- * @singleton
8
+ * @extends Neo.main.addon.Base
10
9
  */
11
10
  class HighlightJS extends Base {
12
11
  static config = {
@@ -41,11 +40,6 @@ class HighlightJS extends Base {
41
40
  'highlightAuto'
42
41
  ]
43
42
  },
44
- /**
45
- * @member {Boolean} singleton=true
46
- * @protected
47
- */
48
- singleton: true,
49
43
  /**
50
44
  * @member {String} themePath='./resources/highlightjs-custom-github-theme.css'
51
45
  * @protected
@@ -187,6 +181,6 @@ class HighlightJS extends Base {
187
181
  }
188
182
  }
189
183
 
190
- let instance = Neo.applyClassConfig(HighlightJS);
184
+ Neo.applyClassConfig(HighlightJS);
191
185
 
192
- export default instance;
186
+ export default HighlightJS;
@@ -1,10 +1,9 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
 
3
3
  /**
4
4
  * Basic CRUD support for window.localStorage
5
5
  * @class Neo.main.addon.LocalStorage
6
- * @extends Neo.core.Base
7
- * @singleton
6
+ * @extends Neo.main.addon.Base
8
7
  */
9
8
  class LocalStorage extends Base {
10
9
  static config = {
@@ -25,12 +24,7 @@ class LocalStorage extends Base {
25
24
  'readLocalStorageItem',
26
25
  'updateLocalStorageItem'
27
26
  ]
28
- },
29
- /**
30
- * @member {Boolean} singleton=true
31
- * @protected
32
- */
33
- singleton: true
27
+ }
34
28
  }
35
29
 
36
30
  /**
@@ -76,6 +70,6 @@ class LocalStorage extends Base {
76
70
  }
77
71
  }
78
72
 
79
- let instance = Neo.applyClassConfig(LocalStorage);
73
+ Neo.applyClassConfig(LocalStorage);
80
74
 
81
- export default instance;
75
+ export default LocalStorage;
@@ -1,4 +1,4 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
  import DomAccess from '../DomAccess.mjs';
3
3
 
4
4
  /**
@@ -7,8 +7,7 @@ import DomAccess from '../DomAccess.mjs';
7
7
  * In case you need more API methods to get exposed to the App worker,
8
8
  * please open issues inside the tracker and / or submit PRs.
9
9
  * @class Neo.main.addon.MapboxGL
10
- * @extends Neo.core.Base
11
- * @singleton
10
+ * @extends Neo.main.addon.Base
12
11
  */
13
12
  class MapboxGL extends Base {
14
13
  static config = {
@@ -48,23 +47,6 @@ class MapboxGL extends Base {
48
47
  * @protected
49
48
  */
50
49
  mapsToCreate: [],
51
- /**
52
- * @member {Boolean} scriptsLoaded_=true
53
- * @protected
54
- */
55
- scriptsLoaded_: false,
56
- /**
57
- * @member {Boolean} singleton=true
58
- * @protected
59
- */
60
- singleton: true,
61
- /**
62
- * Stores all map sources inside an object.
63
- * key => map id, value => {Array} sources
64
- * @member {Object} sources={}
65
- * @protected
66
- */
67
- sources: {},
68
50
  /**
69
51
  * Remote method access for other workers
70
52
  * @member {Object} remote
@@ -86,6 +68,18 @@ class MapboxGL extends Base {
86
68
  'zoom'
87
69
  ]
88
70
  },
71
+ /**
72
+ * @member {Boolean} scriptsLoaded_=true
73
+ * @protected
74
+ */
75
+ scriptsLoaded_: false,
76
+ /**
77
+ * Stores all map sources inside an object.
78
+ * key => map id, value => {Array} sources
79
+ * @member {Object} sources={}
80
+ * @protected
81
+ */
82
+ sources: {},
89
83
  /**
90
84
  * Stores all map style objects inside an objects to prevent reloads when switching themes multiple times.
91
85
  * key => style name (url)
@@ -488,6 +482,6 @@ class MapboxGL extends Base {
488
482
  }
489
483
  }
490
484
 
491
- let instance = Neo.applyClassConfig(MapboxGL);
485
+ Neo.applyClassConfig(MapboxGL);
492
486
 
493
- export default instance;
487
+ export default MapboxGL;
@@ -1,4 +1,4 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
  import DomAccess from '../DomAccess.mjs';
3
3
 
4
4
  /**
@@ -7,8 +7,7 @@ import DomAccess from '../DomAccess.mjs';
7
7
  * script tag with the markdown lib has to be added before the Main.mjs script tag in the index.html
8
8
  * <script src="https://cdn.jsdelivr.net/npm/showdown@1.9.1/dist/showdown.min.js"></script>
9
9
  * @class Neo.main.addon.Markdown
10
- * @extends Neo.core.Base
11
- * @singleton
10
+ * @extends Neo.main.addon.Base
12
11
  */
13
12
  class Markdown extends Base {
14
13
  static config = {
@@ -31,12 +30,7 @@ class Markdown extends Base {
31
30
  * @member {String} showdownPath='https://cdn.jsdelivr.net/npm/showdown@1.9.1/dist/showdown.min.js'
32
31
  * @protected
33
32
  */
34
- showdownPath: 'https://cdn.jsdelivr.net/npm/showdown@1.9.1/dist/showdown.min.js',
35
- /**
36
- * @member {Boolean} singleton=true
37
- * @protected
38
- */
39
- singleton: true
33
+ showdownPath: 'https://cdn.jsdelivr.net/npm/showdown@1.9.1/dist/showdown.min.js'
40
34
  }
41
35
 
42
36
  /**
@@ -59,6 +53,6 @@ class Markdown extends Base {
59
53
  }
60
54
  }
61
55
 
62
- let instance = Neo.applyClassConfig(Markdown);
56
+ Neo.applyClassConfig(Markdown);
63
57
 
64
- export default instance;
58
+ export default Markdown;
@@ -1,4 +1,4 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
 
3
3
  /**
4
4
  * Helper class to include Google's Material Web Components into your neo.mjs app
@@ -13,8 +13,7 @@ import Base from '../../core/Base.mjs';
13
13
  * into the neo-config.json of your app. E.g.: [..., "WS/Mwc"].
14
14
  *
15
15
  * @class Neo.main.addon.Mwc
16
- * @extends Neo.core.Base
17
- * @singleton
16
+ * @extends Neo.main.addon.Base
18
17
  */
19
18
  class Mwc extends Base {
20
19
  static config = {
@@ -23,11 +22,6 @@ class Mwc extends Base {
23
22
  * @protected
24
23
  */
25
24
  className: 'Neo.main.addon.Mwc',
26
- /**
27
- * @member {Boolean} singleton=true
28
- * @protected
29
- */
30
- singleton: true,
31
25
  /**
32
26
  * Remote method access for other workers
33
27
  * @member {Object} remote
@@ -90,6 +84,6 @@ class Mwc extends Base {
90
84
  }
91
85
  }
92
86
 
93
- let instance = Neo.applyClassConfig(Mwc);
87
+ Neo.applyClassConfig(Mwc);
94
88
 
95
- export default instance;
89
+ export default Mwc;
@@ -1,7 +1,7 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
  import DomAccess from '../DomAccess.mjs';
3
- import DomUtils from '../DomUtils.mjs';
4
3
  import DomEvents from '../DomEvents.mjs';
4
+ import DomUtils from '../DomUtils.mjs';
5
5
 
6
6
  // We do not need to inject a synthesized "click" event when we detect an ENTER
7
7
  // keypress on these element types.
@@ -13,8 +13,7 @@ const enterActivatedTags= {
13
13
  /**
14
14
  * Addon for Navigator
15
15
  * @class Neo.main.addon.Navigator
16
- * @extends Neo.core.Base
17
- * @singleton
16
+ * @extends Neo.main.addon.Base
18
17
  */
19
18
  class Navigator extends Base {
20
19
  static config = {
@@ -34,12 +33,7 @@ class Navigator extends Base {
34
33
  'subscribe',
35
34
  'unsubscribe'
36
35
  ]
37
- },
38
- /**
39
- * @member {Boolean} singleton=true
40
- * @protected
41
- */
42
- singleton: true
36
+ }
43
37
  }
44
38
 
45
39
  /**
@@ -451,6 +445,6 @@ class Navigator extends Base {
451
445
  }
452
446
  }
453
447
 
454
- let instance = Neo.applyClassConfig(Navigator);
448
+ Neo.applyClassConfig(Navigator);
455
449
 
456
- export default instance;
450
+ export default Navigator;
@@ -1,10 +1,10 @@
1
- import Base from '../../core/Base.mjs';
2
- import DomAccess from '../DomAccess.mjs'
1
+ import Base from './Base.mjs';
2
+ import DomAccess from '../DomAccess.mjs';
3
+
3
4
  /**
4
5
  * Addon for Popover
5
6
  * @class Neo.main.addon.Popover
6
- * @extends Neo.core.Base
7
- * @singleton
7
+ * @extends Neo.main.addon.Base
8
8
  */
9
9
  class Popover extends Base {
10
10
  static config = {
@@ -24,12 +24,7 @@ class Popover extends Base {
24
24
  'show',
25
25
  'toggle'
26
26
  ]
27
- },
28
- /**
29
- * @member {Boolean} singleton=true
30
- * @protected
31
- */
32
- singleton: true
27
+ }
33
28
  }
34
29
 
35
30
  /**
@@ -70,6 +65,6 @@ class Popover extends Base {
70
65
  }
71
66
  }
72
67
 
73
- let instance = Neo.applyClassConfig(Popover);
68
+ Neo.applyClassConfig(Popover);
74
69
 
75
- export default instance;
70
+ export default Popover;
@@ -1,11 +1,10 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
 
3
3
  /**
4
4
  * Helper class to include Google's Material Web Components into your neo.mjs app
5
5
  * https://www.amcharts.com/docs/v4/
6
6
  * @class Neo.main.addon.PrefixField
7
- * @extends Neo.core.Base
8
- * @singleton
7
+ * @extends Neo.main.addon.Base
9
8
  */
10
9
  class PrefixField extends Base {
11
10
  static config = {
@@ -15,10 +14,16 @@ class PrefixField extends Base {
15
14
  */
16
15
  className: 'Neo.main.addon.PrefixField',
17
16
  /**
18
- * @member {Boolean} singleton=true
19
- * @protected
17
+ * regex to calculate if entered value is acceptable
18
+ * Preset to numbers only
19
+ *
20
+ * @member {regex|null} accept
20
21
  */
21
- singleton: true,
22
+ accept_: null,
23
+ /**
24
+ * @member {String} pattern=null
25
+ */
26
+ pattern_: null,
22
27
  /**
23
28
  * Remote method access for other workers
24
29
  * @member {Object} remote
@@ -33,18 +38,6 @@ class PrefixField extends Base {
33
38
  'updateSlots',
34
39
  ]
35
40
  },
36
-
37
- /**
38
- * regex to calculate if entered value is acceptable
39
- * Preset to numbers only
40
- *
41
- * @member {regex|null} accept
42
- */
43
- accept_: null,
44
- /**
45
- * @member {String} pattern=null
46
- */
47
- pattern_: null,
48
41
  /**
49
42
  * Only add a String. A Set will be automatically created
50
43
  * @member {String|Set|null} slots=null
@@ -52,15 +45,15 @@ class PrefixField extends Base {
52
45
  slots_: null
53
46
  }
54
47
 
55
- destroy() {
48
+ elIds = new Map()
56
49
 
57
- }
50
+ prev
58
51
 
59
- elIds = new Map();
52
+ back = false
60
53
 
61
- prev;
54
+ destroy() {
62
55
 
63
- back = false;
56
+ }
64
57
 
65
58
  /**
66
59
  *
@@ -144,6 +137,6 @@ class PrefixField extends Base {
144
137
  }
145
138
  }
146
139
 
147
- let instance = Neo.applyClassConfig(PrefixField);
140
+ Neo.applyClassConfig(PrefixField);
148
141
 
149
- export default instance;
142
+ export default PrefixField;
@@ -1,10 +1,10 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
  import DomAccess from '../DomAccess.mjs';
3
3
  import DomEvents from '../DomEvents.mjs';
4
4
 
5
5
  /**
6
6
  * @class Neo.main.addon.ResizeObserver
7
- * @extends Neo.core.Base
7
+ * @extends Neo.main.addon.Base
8
8
  * @singleton
9
9
  */
10
10
  class NeoResizeObserver extends Base {
@@ -29,12 +29,7 @@ class NeoResizeObserver extends Base {
29
29
  'register',
30
30
  'unregister'
31
31
  ]
32
- },
33
- /**
34
- * @member {Boolean} singleton=true
35
- * @protected
36
- */
37
- singleton: true
32
+ }
38
33
  }
39
34
 
40
35
  /**
@@ -111,6 +106,6 @@ class NeoResizeObserver extends Base {
111
106
  }
112
107
  }
113
108
 
114
- let instance = Neo.applyClassConfig(NeoResizeObserver);
109
+ Neo.applyClassConfig(NeoResizeObserver);
115
110
 
116
- export default instance;
111
+ export default NeoResizeObserver;
@@ -1,11 +1,10 @@
1
- import Base from '../../core/Base.mjs';
1
+ import Base from './Base.mjs';
2
2
  import WorkerManager from '../../worker/Manager.mjs';
3
3
 
4
4
  /**
5
5
  * Creates a ServiceWorker instance, in case Neo.config.useServiceWorker is set to true
6
6
  * @class Neo.main.addon.ServiceWorker
7
- * @extends Neo.core.Base
8
- * @singleton
7
+ * @extends Neo.main.addon.Base
9
8
  */
10
9
  class ServiceWorker extends Base {
11
10
  static config = {
@@ -13,12 +12,7 @@ class ServiceWorker extends Base {
13
12
  * @member {String} className='Neo.main.addon.ServiceWorker'
14
13
  * @protected
15
14
  */
16
- className: 'Neo.main.addon.ServiceWorker',
17
- /**
18
- * @member {Boolean} singleton=true
19
- * @protected
20
- */
21
- singleton: true
15
+ className: 'Neo.main.addon.ServiceWorker'
22
16
  }
23
17
 
24
18
  /**
@@ -70,6 +64,6 @@ class ServiceWorker extends Base {
70
64
  }
71
65
  }
72
66
 
73
- let instance = Neo.applyClassConfig(ServiceWorker);
67
+ Neo.applyClassConfig(ServiceWorker);
74
68
 
75
- export default instance;
69
+ export default ServiceWorker;