neo.mjs 6.19.0 → 6.19.2
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/.github/CONCEPT.md +2 -2
- package/.github/NEOMJS_HISTORY.md +1 -1
- package/README.md +2 -2
- package/apps/ServiceWorker.mjs +2 -2
- package/apps/covid/Util.mjs +2 -2
- package/apps/covid/view/HeaderContainer.mjs +1 -1
- package/apps/covid/view/MainContainerController.mjs +1 -1
- package/apps/portal/view/ViewportController.mjs +2 -2
- package/apps/portal/view/blog/List.mjs +2 -2
- package/apps/portal/view/home/FooterContainer.mjs +123 -0
- package/apps/portal/view/home/parts/AfterMath.mjs +17 -24
- package/apps/route/view/HeaderContainer.mjs +1 -1
- package/apps/sharedcovid/Util.mjs +2 -2
- package/apps/sharedcovid/view/HeaderContainer.mjs +1 -1
- package/apps/sharedcovid/view/MainContainerController.mjs +1 -1
- package/apps/website/view/blog/List.mjs +2 -2
- package/apps/website/view/examples/List.mjs +2 -2
- package/examples/ServiceWorker.mjs +2 -2
- package/examples/component/coronaGallery/CountryGallery.mjs +1 -1
- package/examples/component/coronaHelix/CountryHelix.mjs +1 -1
- package/examples/grid/covid/Util.mjs +1 -1
- package/examples/model/twoWay/MainContainer.mjs +76 -0
- package/examples/model/twoWay/app.mjs +6 -0
- package/examples/model/twoWay/index.html +11 -0
- package/examples/model/twoWay/neo-config.json +6 -0
- package/examples/preloadingAssets/view/MainContainer.mjs +2 -2
- package/examples/preloadingAssets/view/MainContainerController.mjs +1 -1
- package/examples/table/covid/Util.mjs +1 -1
- package/package.json +3 -3
- package/resources/data/deck/learnneo/pages/2023-10-14T19-25-08-153Z.md +3 -3
- package/resources/scss/src/apps/portal/home/FooterContainer.scss +31 -0
- package/resources/scss/src/apps/portal/home/parts/AfterMath.scss +5 -0
- package/resources/scss/src/layout/Cube.scss +3 -3
- package/src/DefaultConfig.mjs +2 -2
- package/src/calendar/view/MainContainer.mjs +8 -7
- package/src/component/Base.mjs +10 -7
- package/src/component/DateSelector.mjs +2 -2
- package/src/form/field/Time.mjs +18 -16
- package/src/layout/Cube.mjs +5 -1
- package/src/list/Base.mjs +3 -3
- package/src/main/addon/AmCharts.mjs +2 -2
- package/src/model/Component.mjs +25 -6
- package/src/vdom/Helper.mjs +18 -5
- package/test/siesta/tests/VdomCalendar.mjs +90 -8
- package/test/siesta/tests/VdomHelper.mjs +15 -12
- package/test/siesta/tests/vdom/Advanced.mjs +10 -9
- package/test/siesta/tests/vdom/layout/Cube.mjs +12 -12
package/.github/CONCEPT.md
CHANGED
@@ -24,7 +24,7 @@ The best way to get a feeling for workers is using the Google Chrome Dev Tools (
|
|
24
24
|
In case you open the <a href="https://neomjs.github.io/pages/node_modules/neo.mjs/dist/production/docs/index.html">neo.mjs Docs App</a>
|
25
25
|
(or any other neo.mjs app), you will get a dropdown menu where you can pick the console scope:
|
26
26
|
|
27
|
-
<img src="https://raw.githubusercontent.com/neomjs/pages/main/
|
27
|
+
<img src="https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/concept/worker_scope.png">
|
28
28
|
|
29
29
|
The default scope (top) will show the (console) logs inside all threads.
|
30
30
|
|
@@ -162,7 +162,7 @@ class Gallery extends Component {
|
|
162
162
|
<a href="https://github.com/neomjs/neo/blob/dev/src/component/Gallery.mjs">Full component.Gallery Source Code</a>
|
163
163
|
|
164
164
|
Now let us take a look at the source code inside the browser:
|
165
|
-
<img src="https://raw.githubusercontent.com/neomjs/pages/main/
|
165
|
+
<img src="https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/concept/gallery_workers.png">
|
166
166
|
|
167
167
|
Expand the image and take a close look at the Chrome Dev Tools:
|
168
168
|
1. The source code is 1:1 the same
|
@@ -17,7 +17,7 @@ Just to make a point on how much time & effort has already been spent on neo.mjs
|
|
17
17
|
|
18
18
|
1 commits Nils Dehl
|
19
19
|
|
20
|
-
<img alt="neo.mjs commit history" src="https://raw.githubusercontent.com/neomjs/pages/main/
|
20
|
+
<img alt="neo.mjs commit history" src="https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/neomjs-commit-history.png">
|
21
21
|
|
22
22
|
I would also like to add a ***big thank you*** to everyone who provided feedback prior to the public release!
|
23
23
|
|
package/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<p align="center">
|
2
|
-
<img height="100"src="https://raw.githubusercontent.com/neomjs/pages/main/
|
2
|
+
<img height="100"src="https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/logo/neo_logo_text_primary.svg">
|
3
3
|
</p>
|
4
4
|
</br>
|
5
5
|
<p align="center">
|
@@ -36,7 +36,7 @@ Neo.mjs also provides sharing state across multiple Browser-Windows.
|
|
36
36
|
So far, it is the only Framework which enables us to build complex multi-Window Apps
|
37
37
|
without the need for a native shell.
|
38
38
|
|
39
|
-
<img src="https://raw.githubusercontent.com/neomjs/pages/main/
|
39
|
+
<img src="https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/workers-setup-v4.png">
|
40
40
|
|
41
41
|
Potential Use-Cases:
|
42
42
|
1. Finance (Banking & Trading Apps)
|
package/apps/ServiceWorker.mjs
CHANGED
package/apps/covid/Util.mjs
CHANGED
@@ -133,7 +133,7 @@ class Util extends Base {
|
|
133
133
|
imageName = map[imageName] || imageName;
|
134
134
|
|
135
135
|
if (Neo.config.isGitHubPages) {
|
136
|
-
let path = `../../../../
|
136
|
+
let path = `../../../../resources_pub/images/flaticon/country_flags/png/${imageName}.png`;
|
137
137
|
|
138
138
|
if (Neo.config.environment !== 'development') {
|
139
139
|
path = `../../${path}`;
|
@@ -142,7 +142,7 @@ class Util extends Base {
|
|
142
142
|
return path;
|
143
143
|
}
|
144
144
|
|
145
|
-
return `https://raw.githubusercontent.com/neomjs/pages/main/
|
145
|
+
return `https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/flaticon/country_flags/png/${imageName}.png`;
|
146
146
|
}
|
147
147
|
|
148
148
|
/**
|
@@ -37,7 +37,7 @@ class HeaderContainer extends Container {
|
|
37
37
|
|
38
38
|
vdom: {
|
39
39
|
tag: 'img',
|
40
|
-
src: 'https://raw.githubusercontent.com/neomjs/pages/main/
|
40
|
+
src: 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/apps/covid/covid_logo_dark.jpg'
|
41
41
|
}
|
42
42
|
}, {
|
43
43
|
ntype : 'container',
|
@@ -368,7 +368,7 @@ class MainContainerController extends ComponentController {
|
|
368
368
|
button = data.component,
|
369
369
|
component = me.component,
|
370
370
|
logo = me.getReference('logo'),
|
371
|
-
logoPath = 'https://raw.githubusercontent.com/neomjs/pages/main/
|
371
|
+
logoPath = 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/apps/covid/',
|
372
372
|
mapView = me.getReference('mapboxglmap'),
|
373
373
|
themeLight = button.text === 'Theme Light',
|
374
374
|
buttonText, cls, href, iconCls, mapViewStyle, theme;
|
@@ -35,7 +35,7 @@ class ViewportController extends Controller {
|
|
35
35
|
*/
|
36
36
|
defaultHash: '/home',
|
37
37
|
/**
|
38
|
-
* @member {String} mainContentLayout_='
|
38
|
+
* @member {String} mainContentLayout_='mixed'
|
39
39
|
*/
|
40
40
|
mainContentLayout_: 'mixed',
|
41
41
|
/**
|
@@ -188,7 +188,7 @@ class ViewportController extends Controller {
|
|
188
188
|
* @param {Object} oldValue
|
189
189
|
*/
|
190
190
|
onDocsRoute(params, value, oldValue) {
|
191
|
-
this.setMainContentIndex(
|
191
|
+
this.setMainContentIndex(3)
|
192
192
|
}
|
193
193
|
|
194
194
|
/**
|
@@ -62,13 +62,13 @@ class List extends BaseList {
|
|
62
62
|
let basePath;
|
63
63
|
|
64
64
|
if (Neo.config.isGitHubPages) {
|
65
|
-
basePath = '../../../../
|
65
|
+
basePath = '../../../../resources_pub/website';
|
66
66
|
|
67
67
|
if (Neo.config.environment !== 'development') {
|
68
68
|
basePath = '../../' + basePath
|
69
69
|
}
|
70
70
|
} else {
|
71
|
-
basePath = 'https://raw.githubusercontent.com/neomjs/pages/main/
|
71
|
+
basePath = 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/website'
|
72
72
|
}
|
73
73
|
|
74
74
|
const vdomCn = [
|
@@ -0,0 +1,123 @@
|
|
1
|
+
import Button from '../../../../src/button/Base.mjs';
|
2
|
+
import Component from '../../../../src/component/Base.mjs';
|
3
|
+
import Container from '../../../../src/container/Base.mjs';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* @class Portal.view.home.FooterContainer
|
7
|
+
* @extends Neo.container.Base
|
8
|
+
*/
|
9
|
+
class FooterContainer extends Container {
|
10
|
+
static config = {
|
11
|
+
/**
|
12
|
+
* @member {String} className='Portal.view.home.FooterContainer'
|
13
|
+
* @protected
|
14
|
+
*/
|
15
|
+
className: 'Portal.view.home.FooterContainer',
|
16
|
+
/**
|
17
|
+
* @member {String[]} cls=['portal-home-footer-container']
|
18
|
+
*/
|
19
|
+
cls: ['portal-home-footer-container'],
|
20
|
+
/**
|
21
|
+
* @member {Object} itemDefaults
|
22
|
+
*/
|
23
|
+
itemDefaults: {
|
24
|
+
module: Container,
|
25
|
+
cls : ['portal-home-footer-section'],
|
26
|
+
layout: {ntype: 'vbox', align: 'start'},
|
27
|
+
|
28
|
+
itemDefaults: {
|
29
|
+
module: Button,
|
30
|
+
ui : 'ghost'
|
31
|
+
}
|
32
|
+
},
|
33
|
+
/**
|
34
|
+
* @member {Object[]} items
|
35
|
+
*/
|
36
|
+
items: [{
|
37
|
+
items: [{
|
38
|
+
module: Component,
|
39
|
+
cls : ['neo-h2'],
|
40
|
+
html : 'Content',
|
41
|
+
tag : 'h2'
|
42
|
+
}, {
|
43
|
+
iconCls: 'fas fa-people-group',
|
44
|
+
route : '/about-us',
|
45
|
+
text : 'About Us'
|
46
|
+
}, {
|
47
|
+
iconCls: 'fas fa-book',
|
48
|
+
route : '/docs',
|
49
|
+
text : 'API Docs'
|
50
|
+
}, {
|
51
|
+
iconCls: 'fas fa-blog',
|
52
|
+
route : '/blog',
|
53
|
+
text : 'Blog'
|
54
|
+
}, {
|
55
|
+
iconCls: 'fas fa-graduation-cap',
|
56
|
+
route : '/learn',
|
57
|
+
text : 'Learn'
|
58
|
+
}, {
|
59
|
+
iconCls: 'fas fa-handshake-angle',
|
60
|
+
route : '/services',
|
61
|
+
text : 'Services'
|
62
|
+
}]
|
63
|
+
}, {
|
64
|
+
items: [{
|
65
|
+
module: Component,
|
66
|
+
cls : ['neo-h2'],
|
67
|
+
html : 'Community',
|
68
|
+
tag : 'h2'
|
69
|
+
}, {
|
70
|
+
iconCls: 'fa-brands fa-github',
|
71
|
+
text : 'Contribute',
|
72
|
+
url : 'https://github.com/neomjs/neo/blob/dev/CONTRIBUTING.md'
|
73
|
+
}, {
|
74
|
+
iconCls: 'fa-brands fa-github',
|
75
|
+
text : 'Code of Conduct',
|
76
|
+
url : 'https://github.com/neomjs/neo/blob/dev/.github/CODE_OF_CONDUCT.md'
|
77
|
+
}, {
|
78
|
+
iconCls: 'fa-brands fa-github',
|
79
|
+
text : 'Report Issues',
|
80
|
+
url : 'https://github.com/neomjs/neo/issues'
|
81
|
+
}, {
|
82
|
+
iconCls: 'fa-brands fa-slack',
|
83
|
+
text : 'Slack',
|
84
|
+
url : 'https://join.slack.com/t/neomjs/shared_invite/zt-6c50ueeu-3E1~M4T9xkNnb~M_prEEOA'
|
85
|
+
}, {
|
86
|
+
iconCls: 'fa-brands fa-discord',
|
87
|
+
text : 'Discord',
|
88
|
+
url : 'https://discord.gg/6p8paPq'
|
89
|
+
}]
|
90
|
+
}, {
|
91
|
+
items: [{
|
92
|
+
module: Component,
|
93
|
+
cls : ['neo-h2'],
|
94
|
+
html : 'Social Media',
|
95
|
+
tag : 'h2'
|
96
|
+
}, {
|
97
|
+
iconCls: 'fa-brands fa-linkedin',
|
98
|
+
text : 'LinkedIn',
|
99
|
+
url : 'https://www.linkedin.com/company/neo-mjs/'
|
100
|
+
}, {
|
101
|
+
iconCls: 'fa-brands fa-facebook',
|
102
|
+
text : 'Facebook',
|
103
|
+
url : 'https://www.facebook.com/neo.mjs'
|
104
|
+
}, {
|
105
|
+
iconCls: 'fa-brands fa-x-twitter',
|
106
|
+
text : 'X',
|
107
|
+
url : 'https://x.com/neomjs1'
|
108
|
+
}]
|
109
|
+
}],
|
110
|
+
/**
|
111
|
+
* @member {Object} layout={ntype:'hbox',align:'stretch'}
|
112
|
+
*/
|
113
|
+
layout: {ntype: 'hbox', align: 'stretch'},
|
114
|
+
/**
|
115
|
+
* @member {String} tag='footer'
|
116
|
+
*/
|
117
|
+
tag: 'footer'
|
118
|
+
}
|
119
|
+
}
|
120
|
+
|
121
|
+
Neo.setupClass(FooterContainer);
|
122
|
+
|
123
|
+
export default FooterContainer;
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import BaseContainer
|
1
|
+
import BaseContainer from './BaseContainer.mjs';
|
2
|
+
import FooterContainer from '../FooterContainer.mjs';
|
2
3
|
|
3
4
|
/**
|
4
5
|
* @class Portal.view.home.parts.AfterMath
|
@@ -11,6 +12,10 @@ class AfterMath extends BaseContainer {
|
|
11
12
|
* @protected
|
12
13
|
*/
|
13
14
|
className: 'Portal.view.home.parts.AfterMath',
|
15
|
+
/**
|
16
|
+
* @member {String[]} cls=['portal-home-aftermath']
|
17
|
+
*/
|
18
|
+
cls: ['portal-home-aftermath'],
|
14
19
|
/**
|
15
20
|
* @member {Object} layout={ntype:'vbox',align:'stretch',pack:'center'}
|
16
21
|
*/
|
@@ -19,39 +24,27 @@ class AfterMath extends BaseContainer {
|
|
19
24
|
* @member {Object[]} items
|
20
25
|
*/
|
21
26
|
items: [{
|
22
|
-
|
23
|
-
flex : 1
|
27
|
+
flex: 1
|
24
28
|
}, {
|
25
|
-
cls : 'neo-h1',
|
29
|
+
cls : ['neo-h1'],
|
26
30
|
flex: 'none',
|
27
31
|
html: 'Additional Stuff',
|
28
|
-
|
32
|
+
tag : 'h1'
|
29
33
|
}, {
|
30
|
-
cls : 'neo-h2',
|
34
|
+
cls : ['neo-h2'],
|
31
35
|
flex: 'none',
|
32
36
|
html: 'More to come here',
|
33
|
-
|
37
|
+
tag : 'h2'
|
34
38
|
}, {
|
35
|
-
cls : 'neo-content',
|
39
|
+
cls : ['neo-content'],
|
36
40
|
flex: 'none',
|
37
|
-
html: '
|
38
|
-
|
41
|
+
html: 'Lorem Ipsum',
|
42
|
+
tag : 'p'
|
39
43
|
}, {
|
40
|
-
|
41
|
-
flex : 1
|
44
|
+
flex: 1
|
42
45
|
}, {
|
43
|
-
|
44
|
-
|
45
|
-
height: '40%',
|
46
|
-
html : 'This is the footer',
|
47
|
-
vdom : {tag: 'footer'},
|
48
|
-
|
49
|
-
style : { // todo: css
|
50
|
-
background: 'black',
|
51
|
-
color : 'white',
|
52
|
-
height : '40%',
|
53
|
-
padding : '15px'
|
54
|
-
}
|
46
|
+
module: FooterContainer,
|
47
|
+
height: '35%'
|
55
48
|
}]
|
56
49
|
}
|
57
50
|
}
|
@@ -28,7 +28,7 @@ class HeaderContainer extends Container {
|
|
28
28
|
cls: ['center'],
|
29
29
|
vdom: {
|
30
30
|
tag: 'img',
|
31
|
-
src: 'https://raw.githubusercontent.com/neomjs/pages/main/
|
31
|
+
src: 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/logo_rounded.svg'
|
32
32
|
}
|
33
33
|
},
|
34
34
|
{
|
@@ -133,7 +133,7 @@ class Util extends Base {
|
|
133
133
|
imageName = map[imageName] || imageName;
|
134
134
|
|
135
135
|
if (Neo.config.isGitHubPages) {
|
136
|
-
let path = `../../../../
|
136
|
+
let path = `../../../../resources_pub/images/flaticon/country_flags/png/${imageName}.png`;
|
137
137
|
|
138
138
|
if (Neo.config.environment !== 'development') {
|
139
139
|
path = `../../${path}`;
|
@@ -142,7 +142,7 @@ class Util extends Base {
|
|
142
142
|
return path;
|
143
143
|
}
|
144
144
|
|
145
|
-
return `https://raw.githubusercontent.com/neomjs/pages/main/
|
145
|
+
return `https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/flaticon/country_flags/png/${imageName}.png`;
|
146
146
|
}
|
147
147
|
|
148
148
|
/**
|
@@ -37,7 +37,7 @@ class HeaderContainer extends Container {
|
|
37
37
|
|
38
38
|
vdom: {
|
39
39
|
tag: 'img',
|
40
|
-
src: 'https://raw.githubusercontent.com/neomjs/pages/main/
|
40
|
+
src: 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/apps/covid/covid_logo_dark.jpg'
|
41
41
|
}
|
42
42
|
}, {
|
43
43
|
ntype : 'container',
|
@@ -553,7 +553,7 @@ class MainContainerController extends ComponentController {
|
|
553
553
|
button = data.component,
|
554
554
|
component = me.component,
|
555
555
|
logo = me.getReference('logo'),
|
556
|
-
logoPath = 'https://raw.githubusercontent.com/neomjs/pages/main/
|
556
|
+
logoPath = 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/apps/covid/',
|
557
557
|
themeLight = button.text === 'Theme Light',
|
558
558
|
buttonText, cls, href, iconCls, mapView, mapViewStyle, theme;
|
559
559
|
|
@@ -62,13 +62,13 @@ class List extends BaseList {
|
|
62
62
|
let basePath;
|
63
63
|
|
64
64
|
if (Neo.config.isGitHubPages) {
|
65
|
-
basePath = '../../../../
|
65
|
+
basePath = '../../../../resources_pub/website';
|
66
66
|
|
67
67
|
if (Neo.config.environment !== 'development') {
|
68
68
|
basePath = '../../' + basePath
|
69
69
|
}
|
70
70
|
} else {
|
71
|
-
basePath = 'https://raw.githubusercontent.com/neomjs/pages/main/
|
71
|
+
basePath = 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/website'
|
72
72
|
}
|
73
73
|
|
74
74
|
const vdomCn = [
|
@@ -74,13 +74,13 @@ class List extends BaseList {
|
|
74
74
|
let basePath;
|
75
75
|
|
76
76
|
if (Neo.config.isGitHubPages) {
|
77
|
-
basePath = '../../../../
|
77
|
+
basePath = '../../../../resources_pub/website/examples';
|
78
78
|
|
79
79
|
if (Neo.config.environment !== 'development') {
|
80
80
|
basePath = '../../' + basePath
|
81
81
|
}
|
82
82
|
} else {
|
83
|
-
basePath = 'https://raw.githubusercontent.com/neomjs/pages/main/
|
83
|
+
basePath = 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/website/examples'
|
84
84
|
}
|
85
85
|
|
86
86
|
return [
|
@@ -159,7 +159,7 @@ class CountryGallery extends Gallery {
|
|
159
159
|
|
160
160
|
imageName = map[imageName] || imageName;
|
161
161
|
|
162
|
-
return `https://raw.githubusercontent.com/neomjs/pages/main/
|
162
|
+
return `https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/flaticon/country_flags/png/${imageName}.png`;
|
163
163
|
}
|
164
164
|
|
165
165
|
/**
|
@@ -191,7 +191,7 @@ class CountryHelix extends Helix {
|
|
191
191
|
|
192
192
|
imageName = map[imageName] || imageName;
|
193
193
|
|
194
|
-
return 'https://raw.githubusercontent.com/neomjs/pages/main/
|
194
|
+
return 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/flaticon/country_flags/png/' + imageName + '.png'
|
195
195
|
}
|
196
196
|
/**
|
197
197
|
* @returns {String}
|
@@ -142,7 +142,7 @@ class Util extends Base {
|
|
142
142
|
return path;
|
143
143
|
}
|
144
144
|
|
145
|
-
return `https://raw.githubusercontent.com/neomjs/pages/main/
|
145
|
+
return `https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/flaticon/country_flags/png/${imageName}.png`;
|
146
146
|
}
|
147
147
|
|
148
148
|
/**
|
@@ -0,0 +1,76 @@
|
|
1
|
+
import ComponentModel from '../../../src/model/Component.mjs';
|
2
|
+
import Label from '../../../src/component/Label.mjs';
|
3
|
+
import TextField from '../../../src/form/field/Text.mjs';
|
4
|
+
import Viewport from '../../../src/container/Viewport.mjs';
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @class Neo.examples.model.twoWay.MainContainer
|
8
|
+
* @extends Neo.container.Viewport
|
9
|
+
*/
|
10
|
+
class MainContainer extends Viewport {
|
11
|
+
static config = {
|
12
|
+
/**
|
13
|
+
* @member {String} className='Neo.examples.model.twoWay.MainContainer'
|
14
|
+
* @protected
|
15
|
+
*/
|
16
|
+
className: 'Neo.examples.model.twoWay.MainContainer',
|
17
|
+
/**
|
18
|
+
* @member {Object|Neo.model.Component} model
|
19
|
+
*/
|
20
|
+
model: {
|
21
|
+
data: {
|
22
|
+
user: {
|
23
|
+
details: {
|
24
|
+
firstname: 'Tobias',
|
25
|
+
lastname : 'Uhlig'
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
},
|
30
|
+
/**
|
31
|
+
* @member {Object[]} items
|
32
|
+
*/
|
33
|
+
items: [{
|
34
|
+
module : Label,
|
35
|
+
flex : 'none',
|
36
|
+
labelText : 'Firstname',
|
37
|
+
labelWidth: 110,
|
38
|
+
width : 300,
|
39
|
+
|
40
|
+
bind: {
|
41
|
+
text: data => data.user.details.firstname + ' ' + data.user.details.lastname
|
42
|
+
},
|
43
|
+
}, {
|
44
|
+
module : TextField,
|
45
|
+
flex : 'none',
|
46
|
+
labelText : 'Firstname',
|
47
|
+
labelWidth: 110,
|
48
|
+
style : {marginTop: '2em'},
|
49
|
+
width : 300,
|
50
|
+
|
51
|
+
bind: {
|
52
|
+
value: {twoWay: true, value: data => data.user.details.firstname}
|
53
|
+
},
|
54
|
+
}, {
|
55
|
+
module : TextField,
|
56
|
+
flex : 'none',
|
57
|
+
labelText : 'Lastname',
|
58
|
+
labelWidth: 110,
|
59
|
+
width : 300,
|
60
|
+
|
61
|
+
bind: {
|
62
|
+
value: {twoWay: true, value: data => data.user.details.lastname}
|
63
|
+
},
|
64
|
+
}],
|
65
|
+
/**
|
66
|
+
* @member {Object} style
|
67
|
+
*/
|
68
|
+
style: {
|
69
|
+
padding: '5em'
|
70
|
+
}
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
Neo.setupClass(MainContainer);
|
75
|
+
|
76
|
+
export default MainContainer;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<!DOCTYPE HTML>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
<title>model.Component: 2 way binding</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<script src="../../../src/MicroLoader.mjs" type="module"></script>
|
10
|
+
</body>
|
11
|
+
</html>
|
@@ -44,7 +44,7 @@ class MainContainer extends Viewport {
|
|
44
44
|
|
45
45
|
vdom: {
|
46
46
|
tag: 'img',
|
47
|
-
src: 'https://raw.githubusercontent.com/neomjs/pages/main/
|
47
|
+
src: 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/examples/ai_images/000150.jpg'
|
48
48
|
}
|
49
49
|
}, {
|
50
50
|
tabButtonConfig: {
|
@@ -54,7 +54,7 @@ class MainContainer extends Viewport {
|
|
54
54
|
|
55
55
|
vdom: {
|
56
56
|
tag: 'img',
|
57
|
-
src: 'https://raw.githubusercontent.com/neomjs/pages/main/
|
57
|
+
src: 'https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/examples/ai_images/000074.jpg'
|
58
58
|
}
|
59
59
|
}],
|
60
60
|
/**
|
@@ -28,7 +28,7 @@ class MainContainerController extends Component {
|
|
28
28
|
|
29
29
|
setTimeout(() => {
|
30
30
|
Neo.ServiceWorker.preloadAssets({
|
31
|
-
files: ['https://raw.githubusercontent.com/neomjs/pages/main/
|
31
|
+
files: ['https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/examples/ai_images/000074.jpg']
|
32
32
|
}).then(data => {
|
33
33
|
console.log(data);
|
34
34
|
});
|
@@ -142,7 +142,7 @@ class Util extends Base {
|
|
142
142
|
return path;
|
143
143
|
}
|
144
144
|
|
145
|
-
return `https://raw.githubusercontent.com/neomjs/pages/main/
|
145
|
+
return `https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/flaticon/country_flags/png/${imageName}.png`;
|
146
146
|
}
|
147
147
|
|
148
148
|
/**
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "neo.mjs",
|
3
|
-
"version": "6.19.
|
3
|
+
"version": "6.19.2",
|
4
4
|
"description": "The webworkers driven UI framework",
|
5
5
|
"type": "module",
|
6
6
|
"repository": {
|
@@ -43,7 +43,7 @@
|
|
43
43
|
},
|
44
44
|
"homepage": "https://neomjs.com/",
|
45
45
|
"devDependencies": {
|
46
|
-
"@fortawesome/fontawesome-free": "^6.
|
46
|
+
"@fortawesome/fontawesome-free": "^6.6.0",
|
47
47
|
"autoprefixer": "^10.4.19",
|
48
48
|
"chalk": "^5.3.0",
|
49
49
|
"clean-webpack-plugin": "^4.0.0",
|
@@ -52,7 +52,7 @@
|
|
52
52
|
"envinfo": "^7.13.0",
|
53
53
|
"fs-extra": "^11.2.0",
|
54
54
|
"highlightjs-line-numbers.js": "^2.8.0",
|
55
|
-
"inquirer": "^10.0.
|
55
|
+
"inquirer": "^10.0.4",
|
56
56
|
"marked": "^13.0.2",
|
57
57
|
"monaco-editor": "^0.50.0",
|
58
58
|
"neo-jsdoc": "1.0.1",
|