neo.mjs 3.2.3 → 3.2.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.
- package/apps/ServiceWorker.mjs +36 -0
- package/apps/covid/view/country/Gallery.mjs +11 -11
- package/apps/realworld2/view/article/Gallery.mjs +8 -8
- package/apps/sharedcovid/view/country/Gallery.mjs +11 -11
- package/buildScripts/webpack/buildThreads.mjs +7 -6
- package/buildScripts/webpack/json/build.json +4 -0
- package/examples/ServiceWorker.mjs +36 -0
- package/examples/component/coronaGallery/CountryGallery.mjs +12 -12
- package/examples/component/coronaGallery/CountryModel.mjs +8 -2
- package/examples/component/coronaGallery/CountryStore.mjs +12 -2
- package/examples/component/coronaGallery/MainContainer.mjs +3 -6
- package/examples/component/gallery/ImageModel.mjs +38 -0
- package/examples/component/gallery/ImageStore.mjs +32 -0
- package/examples/component/gallery/MainContainer.mjs +2 -0
- package/examples/component/helix/ImageModel.mjs +38 -0
- package/examples/component/helix/ImageStore.mjs +32 -0
- package/examples/component/helix/MainContainer.mjs +2 -0
- package/examples/component/helix/neo-config.json +2 -1
- package/examples/list/animate/MainStore.mjs +1 -1
- package/package.json +6 -6
- package/resources/scss/src/apps/covid/country/Gallery.scss +2 -1
- package/resources/scss/src/component/Gallery.scss +2 -1
- package/resources/scss/src/component/Helix.scss +7 -1
- package/resources/scss/src/examples/component/coronaGallery/CountryGallery.scss +2 -1
- package/src/DefaultConfig.mjs +10 -1
- package/src/Main.mjs +16 -12
- package/src/calendar/view/MainContainer.mjs +1 -1
- package/src/calendar/view/month/Component.mjs +8 -21
- package/src/component/Circle.mjs +39 -16
- package/src/component/Gallery.mjs +86 -112
- package/src/component/Helix.mjs +26 -40
- package/src/list/Base.mjs +2 -2
- package/src/main/addon/ServiceWorker.mjs +68 -0
- package/src/selection/CircleModel.mjs +3 -3
- package/src/selection/ListModel.mjs +2 -2
- package/src/worker/App.mjs +14 -18
- package/src/worker/Manager.mjs +10 -1
- package/src/worker/ServiceBase.mjs +298 -0
- package/src/worker/mixin/RemoteMethodAccess.mjs +1 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Neo from '../src/Neo.mjs';
|
|
2
|
+
import * as core from '../src/core/_export.mjs';
|
|
3
|
+
import ServiceBase from '../src/worker/ServiceBase.mjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @class Neo.ServiceWorker
|
|
7
|
+
* @extends Neo.worker.ServiceBase
|
|
8
|
+
* @singleton
|
|
9
|
+
*/
|
|
10
|
+
class ServiceWorker extends ServiceBase {
|
|
11
|
+
static getConfig() {return {
|
|
12
|
+
/**
|
|
13
|
+
* @member {String} className='Neo.ServiceWorker'
|
|
14
|
+
* @protected
|
|
15
|
+
*/
|
|
16
|
+
className: 'Neo.ServiceWorker',
|
|
17
|
+
/**
|
|
18
|
+
* @member {Boolean} singleton=true
|
|
19
|
+
* @protected
|
|
20
|
+
*/
|
|
21
|
+
singleton: true,
|
|
22
|
+
/**
|
|
23
|
+
* @member {String} workerId='service'
|
|
24
|
+
* @protected
|
|
25
|
+
*/
|
|
26
|
+
workerId: 'service'
|
|
27
|
+
}}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
Neo.applyClassConfig(ServiceWorker);
|
|
31
|
+
|
|
32
|
+
let instance = Neo.create(ServiceWorker);
|
|
33
|
+
|
|
34
|
+
Neo.applyToGlobalNs(instance);
|
|
35
|
+
|
|
36
|
+
export default instance;
|
|
@@ -28,15 +28,10 @@ class CountryGallery extends Gallery {
|
|
|
28
28
|
*/
|
|
29
29
|
country_: null,
|
|
30
30
|
/**
|
|
31
|
-
* The
|
|
32
|
-
* @member {Number}
|
|
31
|
+
* The item height of the gallery
|
|
32
|
+
* @member {Number} itemHeight=240
|
|
33
33
|
*/
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* The image width of the gallery
|
|
37
|
-
* @member {Number} imageWidth=320
|
|
38
|
-
*/
|
|
39
|
-
imageWidth: 340,
|
|
34
|
+
itemHeight: 280,
|
|
40
35
|
/**
|
|
41
36
|
* @member {Object} itemTpl_
|
|
42
37
|
*/
|
|
@@ -74,6 +69,11 @@ class CountryGallery extends Gallery {
|
|
|
74
69
|
]}
|
|
75
70
|
]}
|
|
76
71
|
]},
|
|
72
|
+
/**
|
|
73
|
+
* The item width of the gallery
|
|
74
|
+
* @member {Number} itemWidth=320
|
|
75
|
+
*/
|
|
76
|
+
itemWidth: 340,
|
|
77
77
|
/**
|
|
78
78
|
* The unique record field containing the id.
|
|
79
79
|
* @member {String} keyProperty='id'
|
|
@@ -121,10 +121,10 @@ class CountryGallery extends Gallery {
|
|
|
121
121
|
|
|
122
122
|
vdomItem.id = me.getItemVnodeId(record[me.keyProperty]);
|
|
123
123
|
|
|
124
|
-
vdomItem.cn[0].style.height = me.
|
|
124
|
+
vdomItem.cn[0].style.height = me.itemHeight + 'px';
|
|
125
125
|
|
|
126
|
-
firstChild.style.height = (me.
|
|
127
|
-
firstChild.style.width = me.
|
|
126
|
+
firstChild.style.height = (me.itemHeight - 70) + 'px';
|
|
127
|
+
firstChild.style.width = me.itemWidth + 'px';
|
|
128
128
|
|
|
129
129
|
firstChild.cn[0].cn[0].src = Util.getCountryFlagUrl(record.country);
|
|
130
130
|
firstChild.cn[0].cn[1].html = record.country;
|
|
@@ -17,15 +17,15 @@ class Gallery extends BaseGallery {
|
|
|
17
17
|
*/
|
|
18
18
|
cls: ['rw2-article-gallery', 'neo-gallery', 'page', 'view'],
|
|
19
19
|
/**
|
|
20
|
-
* The
|
|
21
|
-
* @member {Number}
|
|
20
|
+
* The item height of the gallery
|
|
21
|
+
* @member {Number} itemHeight=240
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
itemHeight: 240,
|
|
24
24
|
/**
|
|
25
|
-
* The
|
|
26
|
-
* @member {Number}
|
|
25
|
+
* The item width of the gallery
|
|
26
|
+
* @member {Number} itemWidth=320
|
|
27
27
|
*/
|
|
28
|
-
|
|
28
|
+
itemWidth: 320,
|
|
29
29
|
/**
|
|
30
30
|
* Array containing the PreviewComponent references
|
|
31
31
|
* @member {Array} items=[]
|
|
@@ -69,8 +69,8 @@ class Gallery extends BaseGallery {
|
|
|
69
69
|
id : me.getItemVnodeId(record[me.keyProperty]),
|
|
70
70
|
tabIndex: '-1',
|
|
71
71
|
style: {
|
|
72
|
-
height: me.
|
|
73
|
-
width : me.
|
|
72
|
+
height: me.itemHeight + 'px',
|
|
73
|
+
width : me.itemWidth + 'px'
|
|
74
74
|
},
|
|
75
75
|
cn: [{
|
|
76
76
|
cls: ['item-wrapper'],
|
|
@@ -28,15 +28,10 @@ class CountryGallery extends Gallery {
|
|
|
28
28
|
*/
|
|
29
29
|
country_: null,
|
|
30
30
|
/**
|
|
31
|
-
* The
|
|
32
|
-
* @member {Number}
|
|
31
|
+
* The item height of the gallery
|
|
32
|
+
* @member {Number} itemHeight=240
|
|
33
33
|
*/
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* The image width of the gallery
|
|
37
|
-
* @member {Number} imageWidth=320
|
|
38
|
-
*/
|
|
39
|
-
imageWidth: 340,
|
|
34
|
+
itemHeight: 280,
|
|
40
35
|
/**
|
|
41
36
|
* @member {Object} itemTpl_
|
|
42
37
|
*/
|
|
@@ -94,6 +89,11 @@ class CountryGallery extends Gallery {
|
|
|
94
89
|
}]
|
|
95
90
|
}]
|
|
96
91
|
},
|
|
92
|
+
/**
|
|
93
|
+
* The item width of the gallery
|
|
94
|
+
* @member {Number} itemWidth=320
|
|
95
|
+
*/
|
|
96
|
+
itemWidth: 340,
|
|
97
97
|
/**
|
|
98
98
|
* The unique record field containing the id.
|
|
99
99
|
* @member {String} keyProperty='id'
|
|
@@ -141,10 +141,10 @@ class CountryGallery extends Gallery {
|
|
|
141
141
|
|
|
142
142
|
vdomItem.id = me.getItemVnodeId(record[me.keyProperty]);
|
|
143
143
|
|
|
144
|
-
vdomItem.cn[0].style.height = me.
|
|
144
|
+
vdomItem.cn[0].style.height = me.itemHeight + 'px';
|
|
145
145
|
|
|
146
|
-
firstChild.style.height = (me.
|
|
147
|
-
firstChild.style.width = me.
|
|
146
|
+
firstChild.style.height = (me.itemHeight - 70) + 'px';
|
|
147
|
+
firstChild.style.width = me.itemWidth + 'px';
|
|
148
148
|
|
|
149
149
|
firstChild.cn[0].cn[0].src = Util.getCountryFlagUrl(record.country);
|
|
150
150
|
firstChild.cn[0].cn[1].html = record.country;
|
|
@@ -61,7 +61,7 @@ if (programOpts.info) {
|
|
|
61
61
|
type : 'list',
|
|
62
62
|
name : 'threads',
|
|
63
63
|
message: 'Please choose the threads to build:',
|
|
64
|
-
choices: ['all', 'app', 'canvas', 'data', 'main', 'vdom'],
|
|
64
|
+
choices: ['all', 'app', 'canvas', 'data', 'main', 'service', 'vdom'],
|
|
65
65
|
default: 'all'
|
|
66
66
|
});
|
|
67
67
|
}
|
|
@@ -88,11 +88,12 @@ if (programOpts.info) {
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
function parseThreads(tPath) {
|
|
91
|
-
(threads === 'all' || threads === 'main')
|
|
92
|
-
(threads === 'all' || threads === 'app')
|
|
93
|
-
(threads === 'all' || threads === 'canvas')
|
|
94
|
-
(threads === 'all' || threads === 'data')
|
|
95
|
-
(threads === 'all' || threads === '
|
|
91
|
+
(threads === 'all' || threads === 'main') && spawnSync(webpack, ['--config', `${tPath}.main.mjs`], cpOpts);
|
|
92
|
+
(threads === 'all' || threads === 'app') && spawnSync(webpack, ['--config', `${tPath}.appworker.mjs`, `--env insideNeo=${insideNeo}`], cpOpts);
|
|
93
|
+
(threads === 'all' || threads === 'canvas') && spawnSync(webpack, ['--config', `${tPath}.worker.mjs`, `--env insideNeo=${insideNeo} worker=canvas`], cpOpts);
|
|
94
|
+
(threads === 'all' || threads === 'data') && spawnSync(webpack, ['--config', `${tPath}.worker.mjs`, `--env insideNeo=${insideNeo} worker=data`], cpOpts);
|
|
95
|
+
(threads === 'all' || threads === 'service') && spawnSync(webpack, ['--config', `${tPath}.worker.mjs`, `--env insideNeo=${insideNeo} worker=service`], cpOpts);
|
|
96
|
+
(threads === 'all' || threads === 'vdom') && spawnSync(webpack, ['--config', `${tPath}.worker.mjs`, `--env insideNeo=${insideNeo} worker=vdom`], cpOpts);
|
|
96
97
|
}
|
|
97
98
|
|
|
98
99
|
// dist/development
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Neo from '../src/Neo.mjs';
|
|
2
|
+
import * as core from '../src/core/_export.mjs';
|
|
3
|
+
import ServiceBase from '../src/worker/ServiceBase.mjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @class Neo.ServiceWorker
|
|
7
|
+
* @extends Neo.worker.ServiceBase
|
|
8
|
+
* @singleton
|
|
9
|
+
*/
|
|
10
|
+
class ServiceWorker extends ServiceBase {
|
|
11
|
+
static getConfig() {return {
|
|
12
|
+
/**
|
|
13
|
+
* @member {String} className='Neo.ServiceWorker'
|
|
14
|
+
* @protected
|
|
15
|
+
*/
|
|
16
|
+
className: 'Neo.ServiceWorker',
|
|
17
|
+
/**
|
|
18
|
+
* @member {Boolean} singleton=true
|
|
19
|
+
* @protected
|
|
20
|
+
*/
|
|
21
|
+
singleton: true,
|
|
22
|
+
/**
|
|
23
|
+
* @member {String} workerId='service'
|
|
24
|
+
* @protected
|
|
25
|
+
*/
|
|
26
|
+
workerId: 'service'
|
|
27
|
+
}}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
Neo.applyClassConfig(ServiceWorker);
|
|
31
|
+
|
|
32
|
+
let instance = Neo.create(ServiceWorker);
|
|
33
|
+
|
|
34
|
+
Neo.applyToGlobalNs(instance);
|
|
35
|
+
|
|
36
|
+
export default instance;
|
|
@@ -27,15 +27,10 @@ class CountryGallery extends Gallery {
|
|
|
27
27
|
*/
|
|
28
28
|
cls: ['neo-country-gallery', 'neo-gallery', 'page', 'view'],
|
|
29
29
|
/**
|
|
30
|
-
* The
|
|
31
|
-
* @member {Number}
|
|
30
|
+
* The item height of the gallery
|
|
31
|
+
* @member {Number} itemHeight=240
|
|
32
32
|
*/
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* The image width of the gallery
|
|
36
|
-
* @member {Number} imageWidth=320
|
|
37
|
-
*/
|
|
38
|
-
imageWidth: 340,
|
|
33
|
+
itemHeight: 280,
|
|
39
34
|
/**
|
|
40
35
|
* @member {Object} itemTpl_
|
|
41
36
|
*/
|
|
@@ -73,6 +68,11 @@ class CountryGallery extends Gallery {
|
|
|
73
68
|
]}
|
|
74
69
|
]}
|
|
75
70
|
]},
|
|
71
|
+
/**
|
|
72
|
+
* The item width of the gallery
|
|
73
|
+
* @member {Number} itemWidth=320
|
|
74
|
+
*/
|
|
75
|
+
itemWidth: 340,
|
|
76
76
|
/**
|
|
77
77
|
* The unique record field containing the id.
|
|
78
78
|
* @member {String} keyProperty='id'
|
|
@@ -103,10 +103,10 @@ class CountryGallery extends Gallery {
|
|
|
103
103
|
|
|
104
104
|
vdomItem.id = me.getItemVnodeId(record[me.keyProperty]);
|
|
105
105
|
|
|
106
|
-
vdomItem.cn[0].style.height = me.
|
|
106
|
+
vdomItem.cn[0].style.height = me.itemHeight + 'px';
|
|
107
107
|
|
|
108
|
-
firstChild.style.height = (me.
|
|
109
|
-
firstChild.style.width = me.
|
|
108
|
+
firstChild.style.height = (me.itemHeight - 70) + 'px';
|
|
109
|
+
firstChild.style.width = me.itemWidth + 'px';
|
|
110
110
|
|
|
111
111
|
firstChild.cn[0].cn[0].src = me.getCountryFlagUrl(record.country);
|
|
112
112
|
firstChild.cn[0].cn[1].html = record.country;
|
|
@@ -184,7 +184,7 @@ class CountryGallery extends Gallery {
|
|
|
184
184
|
|
|
185
185
|
imageName = map[imageName] || imageName;
|
|
186
186
|
|
|
187
|
-
return
|
|
187
|
+
return `https://raw.githubusercontent.com/neomjs/pages/master/resources/images/flaticon/country_flags/png/${imageName}.png`;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Model
|
|
1
|
+
import Model from '../../../src/data/Model.mjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @class Neo.examples.component.coronaGallery.CountryModel
|
|
@@ -6,8 +6,14 @@ import Model from '../../../src/data/Model.mjs';
|
|
|
6
6
|
*/
|
|
7
7
|
class CountryModel extends Model {
|
|
8
8
|
static getConfig() {return {
|
|
9
|
+
/**
|
|
10
|
+
* @member {String} className='Neo.examples.component.coronaGallery.CountryModel'
|
|
11
|
+
* @protected
|
|
12
|
+
*/
|
|
9
13
|
className: 'Neo.examples.component.coronaGallery.CountryModel',
|
|
10
|
-
|
|
14
|
+
/**
|
|
15
|
+
* @member {Object[]} fields
|
|
16
|
+
*/
|
|
11
17
|
fields: [{
|
|
12
18
|
name: 'cases',
|
|
13
19
|
type: 'int'
|
|
@@ -7,9 +7,19 @@ import Store from '../../../src/data/Store.mjs';
|
|
|
7
7
|
*/
|
|
8
8
|
class CountryStore extends Store {
|
|
9
9
|
static getConfig() {return {
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* @member {String} className='Neo.examples.component.coronaGallery.CountryStore'
|
|
12
|
+
* @protected
|
|
13
|
+
*/
|
|
14
|
+
className: 'Neo.examples.component.coronaGallery.CountryStore',
|
|
15
|
+
/**
|
|
16
|
+
* @member {String} keyProperty='country'
|
|
17
|
+
*/
|
|
11
18
|
keyProperty: 'country',
|
|
12
|
-
|
|
19
|
+
/**
|
|
20
|
+
* @member {Neo.data.Model} model=CountryModel
|
|
21
|
+
*/
|
|
22
|
+
model: CountryModel
|
|
13
23
|
}}
|
|
14
24
|
}
|
|
15
25
|
|
|
@@ -363,14 +363,11 @@ class MainContainer extends Viewport {
|
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
+
/**
|
|
367
|
+
* @param {Object[]} data
|
|
368
|
+
*/
|
|
366
369
|
addStoreItems(data) {
|
|
367
370
|
this.getStore().data = data;
|
|
368
|
-
|
|
369
|
-
setTimeout(() => {
|
|
370
|
-
Neo.main.DomAccess.focus({
|
|
371
|
-
id: this.gallery.id
|
|
372
|
-
});
|
|
373
|
-
}, 200);
|
|
374
371
|
}
|
|
375
372
|
|
|
376
373
|
/**
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import Model from '../../../src/data/Model.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @class Neo.examples.component.gallery.ImageModel
|
|
5
|
+
* @extends Neo.data.Model
|
|
6
|
+
*/
|
|
7
|
+
class ImageModel extends Model {
|
|
8
|
+
static getConfig() {return {
|
|
9
|
+
/**
|
|
10
|
+
* @member {String} className='Neo.examples.component.gallery.ImageModel'
|
|
11
|
+
* @protected
|
|
12
|
+
*/
|
|
13
|
+
className: 'Neo.examples.component.gallery.ImageModel',
|
|
14
|
+
/**
|
|
15
|
+
* @member {Object[]} fields
|
|
16
|
+
*/
|
|
17
|
+
fields: [{
|
|
18
|
+
name: 'firstname',
|
|
19
|
+
type: 'String'
|
|
20
|
+
}, {
|
|
21
|
+
name: 'id',
|
|
22
|
+
type: 'Integer'
|
|
23
|
+
}, {
|
|
24
|
+
name: 'image',
|
|
25
|
+
type: 'String'
|
|
26
|
+
}, {
|
|
27
|
+
name: 'isOnline',
|
|
28
|
+
type: 'Boolean'
|
|
29
|
+
}, {
|
|
30
|
+
name: 'lastname',
|
|
31
|
+
type: 'String'
|
|
32
|
+
}]
|
|
33
|
+
}}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
Neo.applyClassConfig(ImageModel);
|
|
37
|
+
|
|
38
|
+
export default ImageModel;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import ImageModel from './ImageModel.mjs';
|
|
2
|
+
import Store from '../../../src/data/Store.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @class Neo.examples.component.gallery.ImageStore
|
|
6
|
+
* @extends Neo.data.Store
|
|
7
|
+
*/
|
|
8
|
+
class ImageStore extends Store {
|
|
9
|
+
static getConfig() {return {
|
|
10
|
+
/**
|
|
11
|
+
* @member {String} className='Neo.examples.component.gallery.ImageModel'
|
|
12
|
+
* @protected
|
|
13
|
+
*/
|
|
14
|
+
className: 'Neo.examples.component.gallery.ImageStore',
|
|
15
|
+
/**
|
|
16
|
+
* @member {Boolean} autoLoad=true
|
|
17
|
+
*/
|
|
18
|
+
autoLoad: true,
|
|
19
|
+
/**
|
|
20
|
+
* @member {Neo.data.Model} model=ImageModel
|
|
21
|
+
*/
|
|
22
|
+
model: ImageModel,
|
|
23
|
+
/**
|
|
24
|
+
* @member {String} url='../../resources/examples/data/ai_contacts.json'
|
|
25
|
+
*/
|
|
26
|
+
url: '../../resources/examples/data/ai_contacts.json'
|
|
27
|
+
}}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
Neo.applyClassConfig(ImageStore);
|
|
31
|
+
|
|
32
|
+
export default ImageStore;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Gallery from '../../../src/component/Gallery.mjs';
|
|
2
|
+
import ImageStore from './ImageStore.mjs';
|
|
2
3
|
import NumberField from '../../../src/form/field/Number.mjs';
|
|
3
4
|
import Panel from '../../../src/container/Panel.mjs';
|
|
4
5
|
import RangeField from '../../../src/form/field/Range.mjs';
|
|
@@ -228,6 +229,7 @@ class MainContainer extends Viewport {
|
|
|
228
229
|
me.gallery = Neo.create({
|
|
229
230
|
module: Gallery,
|
|
230
231
|
id : 'neo-gallery-1',
|
|
232
|
+
store : ImageStore,
|
|
231
233
|
...me.galleryConfig
|
|
232
234
|
});
|
|
233
235
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import Model from '../../../src/data/Model.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @class Neo.examples.component.helix.ImageModel
|
|
5
|
+
* @extends Neo.data.Model
|
|
6
|
+
*/
|
|
7
|
+
class ImageModel extends Model {
|
|
8
|
+
static getConfig() {return {
|
|
9
|
+
/**
|
|
10
|
+
* @member {String} className='Neo.examples.component.helix.ImageModel'
|
|
11
|
+
* @protected
|
|
12
|
+
*/
|
|
13
|
+
className: 'Neo.examples.component.helix.ImageModel',
|
|
14
|
+
/**
|
|
15
|
+
* @member {Object[]} fields
|
|
16
|
+
*/
|
|
17
|
+
fields: [{
|
|
18
|
+
name: 'firstname',
|
|
19
|
+
type: 'String'
|
|
20
|
+
}, {
|
|
21
|
+
name: 'id',
|
|
22
|
+
type: 'Integer'
|
|
23
|
+
}, {
|
|
24
|
+
name: 'image',
|
|
25
|
+
type: 'String'
|
|
26
|
+
}, {
|
|
27
|
+
name: 'isOnline',
|
|
28
|
+
type: 'Boolean'
|
|
29
|
+
}, {
|
|
30
|
+
name: 'lastname',
|
|
31
|
+
type: 'String'
|
|
32
|
+
}]
|
|
33
|
+
}}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
Neo.applyClassConfig(ImageModel);
|
|
37
|
+
|
|
38
|
+
export default ImageModel;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import ImageModel from './ImageModel.mjs';
|
|
2
|
+
import Store from '../../../src/data/Store.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @class Neo.examples.component.helix.ImageStore
|
|
6
|
+
* @extends Neo.data.Store
|
|
7
|
+
*/
|
|
8
|
+
class ImageStore extends Store {
|
|
9
|
+
static getConfig() {return {
|
|
10
|
+
/**
|
|
11
|
+
* @member {String} className='Neo.examples.component.helix.ImageModel'
|
|
12
|
+
* @protected
|
|
13
|
+
*/
|
|
14
|
+
className: 'Neo.examples.component.helix.ImageStore',
|
|
15
|
+
/**
|
|
16
|
+
* @member {Boolean} autoLoad=true
|
|
17
|
+
*/
|
|
18
|
+
autoLoad: true,
|
|
19
|
+
/**
|
|
20
|
+
* @member {Neo.data.Model} model=ImageModel
|
|
21
|
+
*/
|
|
22
|
+
model: ImageModel,
|
|
23
|
+
/**
|
|
24
|
+
* @member {String} url='../../resources/examples/data/ai_contacts.json'
|
|
25
|
+
*/
|
|
26
|
+
url: '../../resources/examples/data/ai_contacts.json'
|
|
27
|
+
}}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
Neo.applyClassConfig(ImageStore);
|
|
31
|
+
|
|
32
|
+
export default ImageStore;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import CheckBox from '../../../src/form/field/CheckBox.mjs';
|
|
2
2
|
import Helix from '../../../src/component/Helix.mjs';
|
|
3
|
+
import ImageStore from './ImageStore.mjs';
|
|
3
4
|
import NumberField from '../../../src/form/field/Number.mjs';
|
|
4
5
|
import Panel from '../../../src/container/Panel.mjs';
|
|
5
6
|
import RangeField from '../../../src/form/field/Range.mjs';
|
|
@@ -312,6 +313,7 @@ class MainContainer extends Viewport {
|
|
|
312
313
|
me.helix = Neo.create({
|
|
313
314
|
module: Helix,
|
|
314
315
|
id : 'neo-helix-1',
|
|
316
|
+
store : ImageStore,
|
|
315
317
|
...me.helixConfig
|
|
316
318
|
});
|
|
317
319
|
|
|
@@ -10,7 +10,7 @@ class MainStore extends Store {
|
|
|
10
10
|
className: 'Neo.examples.list.animate.MainStore',
|
|
11
11
|
autoLoad : true,
|
|
12
12
|
model : MainModel,
|
|
13
|
-
url : '../../resources/examples/data/
|
|
13
|
+
url : '../../resources/examples/data/circles/group1.json',
|
|
14
14
|
|
|
15
15
|
filters: [{
|
|
16
16
|
disabled : true,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neo.mjs",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.6",
|
|
4
4
|
"description": "The webworkers driven UI framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -41,16 +41,16 @@
|
|
|
41
41
|
"chalk": "^5.0.0",
|
|
42
42
|
"clean-webpack-plugin": "^4.0.0",
|
|
43
43
|
"commander": "^9.0.0",
|
|
44
|
-
"cssnano": "^5.0
|
|
44
|
+
"cssnano": "^5.1.0",
|
|
45
45
|
"envinfo": "^7.8.1",
|
|
46
|
-
"fs-extra": "^10.0.
|
|
46
|
+
"fs-extra": "^10.0.1",
|
|
47
47
|
"highlightjs-line-numbers.js": "^2.8.0",
|
|
48
48
|
"inquirer": "^8.1.5",
|
|
49
49
|
"neo-jsdoc": "^1.0.1",
|
|
50
50
|
"neo-jsdoc-x": "^1.0.4",
|
|
51
|
-
"postcss": "^8.4.
|
|
52
|
-
"sass": "^1.49.
|
|
53
|
-
"webpack": "^5.
|
|
51
|
+
"postcss": "^8.4.7",
|
|
52
|
+
"sass": "^1.49.9",
|
|
53
|
+
"webpack": "^5.70.0",
|
|
54
54
|
"webpack-cli": "^4.9.2",
|
|
55
55
|
"webpack-dev-server": "4.7.4",
|
|
56
56
|
"webpack-hook-plugin": "^1.0.7",
|
|
@@ -16,6 +16,12 @@
|
|
|
16
16
|
outline: 0;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
&.neo-follow-selection {
|
|
20
|
+
.neo-helix-item {
|
|
21
|
+
transition: all 0.1s linear;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
19
25
|
&.neo-transition-100 {
|
|
20
26
|
.neo-helix-item {
|
|
21
27
|
transition: all 0.1s ease-in-out !important;
|
|
@@ -87,4 +93,4 @@
|
|
|
87
93
|
right : 0;
|
|
88
94
|
text-shadow : 0 0 10px #61DFE5;
|
|
89
95
|
}
|
|
90
|
-
}
|
|
96
|
+
}
|
package/src/DefaultConfig.mjs
CHANGED
|
@@ -134,7 +134,7 @@ const DefaultConfig = {
|
|
|
134
134
|
* Experimental flag if an offscreen canvas worker should get created.
|
|
135
135
|
* @default false
|
|
136
136
|
* @memberOf! module:Neo
|
|
137
|
-
* @name config.
|
|
137
|
+
* @name config.useCanvasWorker
|
|
138
138
|
* @type Boolean
|
|
139
139
|
*/
|
|
140
140
|
useCanvasWorker: false,
|
|
@@ -163,6 +163,15 @@ const DefaultConfig = {
|
|
|
163
163
|
* @type Boolean
|
|
164
164
|
*/
|
|
165
165
|
useGoogleAnalytics: false,
|
|
166
|
+
/**
|
|
167
|
+
* True will add the ServiceWorker main thread addon to support caching of assets (PWA)
|
|
168
|
+
* See: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API
|
|
169
|
+
* @default false
|
|
170
|
+
* @memberOf! module:Neo
|
|
171
|
+
* @name config.useServiceWorker
|
|
172
|
+
* @type Boolean
|
|
173
|
+
*/
|
|
174
|
+
useServiceWorker: false,
|
|
166
175
|
/**
|
|
167
176
|
* Creates App, Data & VDom as SharedWorkers.
|
|
168
177
|
* Set this one to true in case you want to connect multiple main threads.
|