neo.mjs 6.10.7 → 6.10.9
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 +2 -2
- package/apps/portal/view/HeaderToolbar.mjs +3 -3
- package/apps/sharedcovid/view/MainContainerController.mjs +6 -6
- package/apps/sharedcovid/view/TableContainer.mjs +4 -0
- package/examples/ServiceWorker.mjs +2 -2
- package/package.json +1 -1
- package/resources/data/deck/learnneo/p/AddingProperties.md +1 -0
- package/resources/data/deck/learnneo/p/ComponentModels.md +1 -0
- package/resources/data/deck/learnneo/p/ComponentState.md +1 -0
- package/resources/data/deck/learnneo/p/DescribingTheUI.md +1 -0
- package/resources/data/deck/learnneo/p/Events.md +1 -0
- package/resources/data/deck/learnneo/p/Extending.md +1 -0
- package/resources/data/deck/learnneo/p/RSP.md +1 -0
- package/resources/data/deck/learnneo/p/Setup.md +1 -0
- package/resources/data/deck/learnneo/p/WhatAboutHTML.md +1 -0
- package/resources/data/deck/learnneo/t.json +37 -217
- package/src/DefaultConfig.mjs +2 -2
- package/src/controller/Application.mjs +1 -1
- package/src/controller/Base.mjs +7 -2
- package/src/model/Component.mjs +1 -1
- package/src/worker/mixin/RemoteMethodAccess.mjs +4 -2
package/apps/ServiceWorker.mjs
CHANGED
@@ -2,16 +2,16 @@ import Base from '../../../src/toolbar/Base.mjs';
|
|
2
2
|
import Label from '../../../src/component/Label.mjs';
|
3
3
|
|
4
4
|
/**
|
5
|
-
* @class Portal.view.
|
5
|
+
* @class Portal.view.HeaderToolbar
|
6
6
|
* @extends Neo.container.Base
|
7
7
|
*/
|
8
8
|
class HeaderToolbar extends Base {
|
9
9
|
static config = {
|
10
10
|
/**
|
11
|
-
* @member {String} className='Portal.view.
|
11
|
+
* @member {String} className='Portal.view.HeaderToolbar'
|
12
12
|
* @protected
|
13
13
|
*/
|
14
|
-
className: 'Portal.view.
|
14
|
+
className: 'Portal.view.HeaderToolbar',
|
15
15
|
/**
|
16
16
|
* @member {String[]} cls=['learnneo-header-toolbar']
|
17
17
|
*/
|
@@ -402,23 +402,23 @@ class MainContainerController extends ComponentController {
|
|
402
402
|
* @param {Object} data
|
403
403
|
*/
|
404
404
|
onCountryFieldChange(data) {
|
405
|
-
let component
|
406
|
-
store
|
407
|
-
value
|
405
|
+
let component = data.component,
|
406
|
+
store = component.store,
|
407
|
+
value = data.value,
|
408
408
|
record;
|
409
409
|
|
410
410
|
if (store.getCount() > 0) {
|
411
411
|
if (Neo.isObject(value)) {
|
412
412
|
record = value;
|
413
|
-
value = value[component.displayField]
|
413
|
+
value = value[component.displayField]
|
414
414
|
} else {
|
415
|
-
record = value && store.find('country', value)?.[0]
|
415
|
+
record = value && store.find('country', value)?.[0]
|
416
416
|
}
|
417
417
|
|
418
418
|
this.getModel().setData({
|
419
419
|
country : value,
|
420
420
|
countryRecord: record || null
|
421
|
-
})
|
421
|
+
})
|
422
422
|
}
|
423
423
|
}
|
424
424
|
|
@@ -151,7 +151,10 @@ class TableContainer extends Container {
|
|
151
151
|
|
152
152
|
me.historicalDataTable = Neo.create({
|
153
153
|
module : HistoricalDataTable,
|
154
|
+
appName : me.appName,
|
155
|
+
parentId : me.id,
|
154
156
|
reference: 'historical-data-table',
|
157
|
+
windowId : me.windowId,
|
155
158
|
|
156
159
|
tabButtonConfig: {
|
157
160
|
iconCls: 'fa fa-table',
|
@@ -168,6 +171,7 @@ class TableContainer extends Container {
|
|
168
171
|
appName : me.appName,
|
169
172
|
parentId : me.id,
|
170
173
|
reference: 'table',
|
174
|
+
windowId : me.windowId,
|
171
175
|
...me.tableConfig
|
172
176
|
});
|
173
177
|
|
package/package.json
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
### todo: Adding Properties
|
@@ -0,0 +1 @@
|
|
1
|
+
### todo: Component Models and Binding
|
@@ -0,0 +1 @@
|
|
1
|
+
### todo: Updating View State
|
@@ -0,0 +1 @@
|
|
1
|
+
### todo: Describing a View
|
@@ -0,0 +1 @@
|
|
1
|
+
### todo: Events
|
@@ -0,0 +1 @@
|
|
1
|
+
### todo: Extending Components
|
@@ -0,0 +1 @@
|
|
1
|
+
### todo: Rock Scissors Paper
|
@@ -0,0 +1 @@
|
|
1
|
+
### todo: Setup
|
@@ -0,0 +1 @@
|
|
1
|
+
### todo: What about HTML tags?
|
@@ -1,217 +1,37 @@
|
|
1
|
-
{
|
2
|
-
"
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
},
|
9
|
-
{
|
10
|
-
|
11
|
-
"parentId":
|
12
|
-
|
13
|
-
|
14
|
-
},
|
15
|
-
{
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
},
|
21
|
-
{
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
"name": "
|
26
|
-
|
27
|
-
{
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
},
|
33
|
-
{
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
},
|
39
|
-
{
|
40
|
-
"id": "ComponentState",
|
41
|
-
"parentId": "GettingStarted",
|
42
|
-
"isLeaf": true,
|
43
|
-
"name": "Updating View State"
|
44
|
-
},
|
45
|
-
{
|
46
|
-
"id": "Extending",
|
47
|
-
"parentId": "GettingStarted",
|
48
|
-
"isLeaf": true,
|
49
|
-
"name": "Extending Components"
|
50
|
-
},
|
51
|
-
{
|
52
|
-
"id": "ExtendingAddingProperties",
|
53
|
-
"parentId": "GettingStarted",
|
54
|
-
"isLeaf": true,
|
55
|
-
"name": "Adding Properties"
|
56
|
-
},
|
57
|
-
{
|
58
|
-
"id": "ComponentModels",
|
59
|
-
"parentId": "GettingStarted",
|
60
|
-
"isLeaf": true,
|
61
|
-
"name": "Component Models and Binding"
|
62
|
-
},
|
63
|
-
{
|
64
|
-
"id": "WhatAboutHTML",
|
65
|
-
"parentId": "GettingStarted",
|
66
|
-
"isLeaf": true,
|
67
|
-
"name": "What about HTML tags?"
|
68
|
-
},
|
69
|
-
{
|
70
|
-
"id": "Tutorials",
|
71
|
-
"parentId": null,
|
72
|
-
"isLeaf": false,
|
73
|
-
"expanded": false,
|
74
|
-
"name": "Tutorials"
|
75
|
-
},
|
76
|
-
{
|
77
|
-
"id": "RSP",
|
78
|
-
"parentId": "Tutorials",
|
79
|
-
"isLeaf": true,
|
80
|
-
"expanded": false,
|
81
|
-
"name": "Rock Scissors Paper"
|
82
|
-
},
|
83
|
-
{
|
84
|
-
"id": "Earthquakes",
|
85
|
-
"parentId": "Tutorials",
|
86
|
-
"isLeaf": false,
|
87
|
-
"expanded": false,
|
88
|
-
"name": "Earthquakes"
|
89
|
-
},
|
90
|
-
{
|
91
|
-
"id": "InDepth",
|
92
|
-
"parentId": null,
|
93
|
-
"isLeaf": false,
|
94
|
-
"expanded": false,
|
95
|
-
"name": "Cookbook"
|
96
|
-
},
|
97
|
-
{
|
98
|
-
"id": "Config",
|
99
|
-
"parentId": "InDepth",
|
100
|
-
"isLeaf": false,
|
101
|
-
"name": "Config"
|
102
|
-
},
|
103
|
-
{
|
104
|
-
"id": "InstanceLifecycle",
|
105
|
-
"parentId": "InDepth",
|
106
|
-
"isLeaf": false,
|
107
|
-
"name": "Instance Lifecycle"
|
108
|
-
},
|
109
|
-
{
|
110
|
-
"id": "Forms",
|
111
|
-
"parentId": "InDepth",
|
112
|
-
"isLeaf": false,
|
113
|
-
"name": "User Input (Forms)"
|
114
|
-
},
|
115
|
-
{
|
116
|
-
"id": "CustomComponents",
|
117
|
-
"parentId": "InDepth",
|
118
|
-
"isLeaf": false,
|
119
|
-
"name": "Custom Components"
|
120
|
-
},
|
121
|
-
{
|
122
|
-
"id": "Tables",
|
123
|
-
"parentId": "InDepth",
|
124
|
-
"isLeaf": false,
|
125
|
-
"name": "Tables (Stores)"
|
126
|
-
},
|
127
|
-
{
|
128
|
-
"id": "InDepthComponentModels",
|
129
|
-
"parentId": "InDepth",
|
130
|
-
"isLeaf": false,
|
131
|
-
"name": "Shared Binable Data (Component Models)"
|
132
|
-
},
|
133
|
-
{
|
134
|
-
"id": "MultiWindow",
|
135
|
-
"parentId": "InDepth",
|
136
|
-
"isLeaf": false,
|
137
|
-
"name": "Multi-Window Applicaitons"
|
138
|
-
},
|
139
|
-
{
|
140
|
-
"id": "MainThreadAddons",
|
141
|
-
"parentId": "InDepth",
|
142
|
-
"isLeaf": false,
|
143
|
-
"name": "Main Thread Addons"
|
144
|
-
},
|
145
|
-
{
|
146
|
-
"id": "MainThreadAddonIntro",
|
147
|
-
"parentId": "MainThreadAddons",
|
148
|
-
"isLeaf": true,
|
149
|
-
"name": "Introduction"
|
150
|
-
},
|
151
|
-
{
|
152
|
-
"id": "MainThreadAddonExample",
|
153
|
-
"parentId": "MainThreadAddons",
|
154
|
-
"isLeaf": true,
|
155
|
-
"name": "Example"
|
156
|
-
},
|
157
|
-
{
|
158
|
-
"id": "Mixins",
|
159
|
-
"parentId": "InDepth",
|
160
|
-
"isLeaf": false,
|
161
|
-
"name": "Mixins"
|
162
|
-
},
|
163
|
-
{
|
164
|
-
"id": "JavaScriptClasses",
|
165
|
-
"parentId": null,
|
166
|
-
"isLeaf": false,
|
167
|
-
"name": "JavaScript Classes"
|
168
|
-
},
|
169
|
-
{
|
170
|
-
"id": "2023-10-07T19-18-28-517Z",
|
171
|
-
"parentId": "JavaScriptClasses",
|
172
|
-
"isLeaf": true,
|
173
|
-
"name": "Classes, Properties, and Methods"
|
174
|
-
},
|
175
|
-
{
|
176
|
-
"id": "2023-10-08T20-20-07-934Z",
|
177
|
-
"parentId": "JavaScriptClasses",
|
178
|
-
"isLeaf": true,
|
179
|
-
"name": "Overriding Methods"
|
180
|
-
},
|
181
|
-
{
|
182
|
-
"id": "2023-10-08T20-20-37-336Z",
|
183
|
-
"parentId": "Class Basics",
|
184
|
-
"isLeaf": true,
|
185
|
-
"name": "Other JavaScript Class Features"
|
186
|
-
},
|
187
|
-
{
|
188
|
-
"id": "2023-10-08T21-58-25-809Z",
|
189
|
-
"parentId": "JavaScriptClasses",
|
190
|
-
"isLeaf": true,
|
191
|
-
"name": "Super"
|
192
|
-
},
|
193
|
-
{
|
194
|
-
"id": "2023-10-31T13-59-37-550Z",
|
195
|
-
"parentId": "2023-10-16T19-38-29-590Z",
|
196
|
-
"isLeaf": true,
|
197
|
-
"name": "New Node"
|
198
|
-
},
|
199
|
-
{
|
200
|
-
"id": "appendix",
|
201
|
-
"parentId": null,
|
202
|
-
"name": "Appendix"
|
203
|
-
},
|
204
|
-
{
|
205
|
-
"id": "stylesheet",
|
206
|
-
"parentId": "appendix",
|
207
|
-
"name": "Stylesheet",
|
208
|
-
"isLeaf": true
|
209
|
-
},
|
210
|
-
{
|
211
|
-
"id": "TestLivePreview",
|
212
|
-
"parentId": "appendix",
|
213
|
-
"name": "Test",
|
214
|
-
"isLeaf": true
|
215
|
-
}
|
216
|
-
]
|
217
|
-
}
|
1
|
+
{"data": [
|
2
|
+
{"name": "Why Neo.mjs? ", "parentId": null, "isLeaf": true, "id": "2023-10-01T18-29-19-158Z"},
|
3
|
+
{"name": "Getting Started", "parentId": null, "isLeaf": false, "id": "GettingStarted"},
|
4
|
+
{"name": "Setup", "parentId": "GettingStarted", "isLeaf": true, "id": "Setup"},
|
5
|
+
{"name": "Workspaces and Applications", "parentId": "GettingStarted", "isLeaf": true, "id": "2023-10-14T19-25-08-153Z"},
|
6
|
+
{"name": "Describing a View", "parentId": "GettingStarted", "isLeaf": true, "id": "DescribingTheUI"},
|
7
|
+
{"name": "Events", "parentId": "GettingStarted", "isLeaf": true, "id": "Events"},
|
8
|
+
{"name": "Updating View State", "parentId": "GettingStarted", "isLeaf": true, "id": "ComponentState"},
|
9
|
+
{"name": "Extending Components", "parentId": "GettingStarted", "isLeaf": true, "id": "Extending"},
|
10
|
+
{"name": "Adding Properties", "parentId": "GettingStarted", "isLeaf": true, "id": "AddingProperties"},
|
11
|
+
{"name": "Component Models and Binding", "parentId": "GettingStarted", "isLeaf": true, "id": "ComponentModels"},
|
12
|
+
{"name": "What about HTML tags?", "parentId": "GettingStarted", "isLeaf": true, "id": "WhatAboutHTML"},
|
13
|
+
{"name": "Tutorials", "parentId": null, "isLeaf": false, "expanded": false, "id": "Tutorials"},
|
14
|
+
{"name": "Rock Scissors Paper", "parentId": "Tutorials", "isLeaf": true, "expanded": false, "id": "RSP"},
|
15
|
+
{"name": "Earthquakes", "parentId": "Tutorials", "isLeaf": false, "expanded": false, "id": "Earthquakes"},
|
16
|
+
{"name": "Cookbook", "parentId": null, "isLeaf": false, "expanded": false, "id": "InDepth"},
|
17
|
+
{"name": "Config", "parentId": "InDepth", "isLeaf": false, "id": "Config"},
|
18
|
+
{"name": "Instance Lifecycle", "parentId": "InDepth", "isLeaf": false, "id": "InstanceLifecycle"},
|
19
|
+
{"name": "User Input (Forms)", "parentId": "InDepth", "isLeaf": false, "id": "Forms"},
|
20
|
+
{"name": "Custom Components", "parentId": "InDepth", "isLeaf": false, "id": "CustomComponents"},
|
21
|
+
{"name": "Tables (Stores)", "parentId": "InDepth", "isLeaf": false, "id": "Tables"},
|
22
|
+
{"name": "Shared Bindable Data (Component Models)", "parentId": "InDepth", "isLeaf": false, "id": "InDepthComponentModels"},
|
23
|
+
{"name": "Multi-Window Applications", "parentId": "InDepth", "isLeaf": false, "id": "MultiWindow"},
|
24
|
+
{"name": "Main Thread Addons", "parentId": "InDepth", "isLeaf": false, "id": "MainThreadAddons"},
|
25
|
+
{"name": "Introduction", "parentId": "MainThreadAddons", "isLeaf": true, "id": "MainThreadAddonIntro"},
|
26
|
+
{"name": "Example", "parentId": "MainThreadAddons", "isLeaf": true, "id": "MainThreadAddonExample"},
|
27
|
+
{"name": "Mixins", "parentId": "InDepth", "isLeaf": false, "id": "Mixins"},
|
28
|
+
{"name": "JavaScript Classes", "parentId": null, "isLeaf": false, "id": "JavaScriptClasses"},
|
29
|
+
{"name": "Classes, Properties, and Methods", "parentId": "JavaScriptClasses", "isLeaf": true, "id": "2023-10-07T19-18-28-517Z"},
|
30
|
+
{"name": "Overriding Methods", "parentId": "JavaScriptClasses", "isLeaf": true, "id": "2023-10-08T20-20-07-934Z"},
|
31
|
+
{"name": "Other JavaScript Class Features", "parentId": "JavaScriptClasses", "isLeaf": true, "id": "2023-10-08T20-20-37-336Z"},
|
32
|
+
{"name": "Super", "parentId": "JavaScriptClasses", "isLeaf": true, "id": "2023-10-08T21-58-25-809Z"},
|
33
|
+
{"name": "New Node", "parentId": "JavaScriptClasses", "isLeaf": true, "id": "2023-10-31T13-59-37-550Z"},
|
34
|
+
{"name": "Appendix", "parentId": null, "id": "appendix"},
|
35
|
+
{"name": "Stylesheet", "parentId": "appendix", "isLeaf": true, "id": "stylesheet"},
|
36
|
+
{"name": "Test", "parentId": "appendix", "isLeaf": true, "id": "TestLivePreview"}
|
37
|
+
]}
|
package/src/DefaultConfig.mjs
CHANGED
@@ -236,12 +236,12 @@ const DefaultConfig = {
|
|
236
236
|
useVdomWorker: true,
|
237
237
|
/**
|
238
238
|
* buildScripts/injectPackageVersion.mjs will update this value
|
239
|
-
* @default '6.10.
|
239
|
+
* @default '6.10.9'
|
240
240
|
* @memberOf! module:Neo
|
241
241
|
* @name config.version
|
242
242
|
* @type String
|
243
243
|
*/
|
244
|
-
version: '6.10.
|
244
|
+
version: '6.10.9'
|
245
245
|
};
|
246
246
|
|
247
247
|
Object.assign(DefaultConfig, {
|
package/src/controller/Base.mjs
CHANGED
@@ -101,8 +101,13 @@ class Base extends CoreBase {
|
|
101
101
|
|
102
102
|
if (currentHash) {
|
103
103
|
this.onHashChange(currentHash, null)
|
104
|
-
} else
|
105
|
-
|
104
|
+
} else {
|
105
|
+
/*
|
106
|
+
* worker.App: onLoadApplication() will push config.hash into the HashHistory with a 5ms delay.
|
107
|
+
* We only want to set a default route, in case the HashHistory is empty and there is no initial
|
108
|
+
* value that will get consumed.
|
109
|
+
*/
|
110
|
+
!Neo.config.hash && defaultHash && Neo.Main.setRoute({value: defaultHash})
|
106
111
|
}
|
107
112
|
}
|
108
113
|
|
package/src/model/Component.mjs
CHANGED
@@ -494,7 +494,7 @@ class Component extends Base {
|
|
494
494
|
let me = this,
|
495
495
|
data, keyLeaf, parentModel, scope;
|
496
496
|
|
497
|
-
if (Neo.isObject(value)) {
|
497
|
+
if (Neo.isObject(value) && !value[Symbol.for('isRecord')]) {
|
498
498
|
Object.entries(value).forEach(([dataKey, dataValue]) => {
|
499
499
|
me.internalSetData(`${key}.${dataKey}`, dataValue, originModel)
|
500
500
|
})
|
@@ -23,8 +23,10 @@ class RemoteMethodAccess extends Base {
|
|
23
23
|
* @param {Object} target
|
24
24
|
*/
|
25
25
|
assignPort(source, target) {
|
26
|
-
|
27
|
-
|
26
|
+
if (source) {
|
27
|
+
const {appName, port, windowId} = source;
|
28
|
+
Object.assign(target, {appName, port, windowId})
|
29
|
+
}
|
28
30
|
}
|
29
31
|
|
30
32
|
/**
|