neo.mjs 8.0.0-beta.1 → 8.0.0-beta.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/apps/ServiceWorker.mjs +2 -2
- package/apps/colors/view/Viewport.mjs +9 -9
- package/apps/colors/view/ViewportController.mjs +13 -13
- package/apps/colors/view/{ViewportModel.mjs → ViewportStateProvider.mjs} +8 -8
- package/apps/covid/view/MainContainer.mjs +8 -8
- package/apps/covid/view/MainContainerController.mjs +8 -10
- package/apps/covid/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +7 -7
- package/apps/covid/view/TableContainerController.mjs +1 -1
- package/apps/form/view/FormContainerController.mjs +2 -2
- package/apps/form/view/SideNavList.mjs +3 -3
- package/apps/form/view/Viewport.mjs +7 -7
- package/apps/form/view/ViewportController.mjs +4 -4
- package/apps/form/view/{ViewportModel.mjs → ViewportStateProvider.mjs} +8 -8
- package/apps/portal/index.html +1 -1
- package/apps/portal/resources/data/examples_devmode.json +3 -3
- package/apps/portal/resources/data/examples_dist_dev.json +3 -3
- package/apps/portal/resources/data/examples_dist_prod.json +3 -3
- package/apps/portal/view/Viewport.mjs +12 -12
- package/apps/portal/view/ViewportStateProvider.mjs +27 -0
- package/apps/portal/view/home/FooterContainer.mjs +1 -1
- package/apps/portal/view/learn/ContentComponent.mjs +2 -2
- package/apps/portal/view/learn/ContentTreeList.mjs +1 -1
- package/apps/portal/view/learn/MainContainer.mjs +9 -9
- package/apps/portal/view/learn/MainContainerController.mjs +12 -12
- package/apps/portal/view/learn/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +7 -7
- package/apps/portal/view/learn/PageSectionsList.mjs +1 -1
- package/apps/sharedcovid/view/GalleryContainer.mjs +2 -2
- package/apps/sharedcovid/view/HelixContainer.mjs +2 -2
- package/apps/sharedcovid/view/MainContainer.mjs +8 -8
- package/apps/sharedcovid/view/MainContainerController.mjs +10 -11
- package/apps/sharedcovid/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +8 -8
- package/apps/sharedcovid/view/TableContainerController.mjs +1 -1
- package/apps/sharedcovid/view/mapboxGl/Container.mjs +2 -2
- package/buildScripts/createClass.mjs +11 -11
- package/buildScripts/createComponent.mjs +4 -4
- package/docs/app/view/MainContainerController.mjs +6 -6
- package/examples/ServiceWorker.mjs +2 -2
- package/examples/{model → stateProvider}/advanced/MainContainer.mjs +12 -12
- package/examples/{model → stateProvider}/advanced/MainContainerController.mjs +10 -10
- package/examples/stateProvider/advanced/app.mjs +6 -0
- package/examples/{model/dialog → stateProvider/advanced}/index.html +1 -1
- package/examples/{model/inline → stateProvider/advanced}/neo-config.json +1 -1
- package/examples/{model → stateProvider}/dialog/EditUserDialog.mjs +3 -3
- package/examples/{model → stateProvider}/dialog/EditUserDialogController.mjs +5 -5
- package/examples/{model → stateProvider}/dialog/MainContainer.mjs +7 -7
- package/examples/{model → stateProvider}/dialog/MainContainerController.mjs +5 -5
- package/examples/{model → stateProvider}/dialog/app.mjs +1 -1
- package/examples/{model/multiWindow2 → stateProvider/dialog}/index.html +1 -1
- package/examples/{model → stateProvider}/dialog/neo-config.json +1 -1
- package/examples/{model → stateProvider}/extendedClass/MainContainer.mjs +13 -13
- package/examples/{model/inline → stateProvider/extendedClass}/MainContainerController.mjs +7 -7
- package/examples/stateProvider/extendedClass/MainContainerStateProvider.mjs +24 -0
- package/examples/stateProvider/extendedClass/app.mjs +6 -0
- package/examples/stateProvider/extendedClass/index.html +11 -0
- package/examples/stateProvider/extendedClass/neo-config.json +7 -0
- package/examples/{model → stateProvider}/inline/MainContainer.mjs +10 -10
- package/examples/{model/extendedClass → stateProvider/inline}/MainContainerController.mjs +7 -7
- package/examples/{model/extendedClass → stateProvider/inline}/app.mjs +1 -1
- package/examples/{model/extendedClass → stateProvider/inline}/index.html +1 -1
- package/examples/{model/extendedClass → stateProvider/inline}/neo-config.json +1 -1
- package/examples/{model/inlineNoModel → stateProvider/inlineNoStateProvider}/MainContainer.mjs +4 -4
- package/examples/{model/inlineNoModel → stateProvider/inlineNoStateProvider}/MainContainerController.mjs +3 -3
- package/examples/stateProvider/inlineNoStateProvider/README.md +8 -0
- package/examples/stateProvider/inlineNoStateProvider/app.mjs +6 -0
- package/examples/{model/inline → stateProvider/inlineNoStateProvider}/index.html +1 -1
- package/examples/stateProvider/inlineNoStateProvider/neo-config.json +7 -0
- package/examples/{model → stateProvider}/multiWindow/EditUserDialog.mjs +3 -3
- package/examples/{model → stateProvider}/multiWindow/EditUserDialogController.mjs +5 -5
- package/examples/{model → stateProvider}/multiWindow/MainContainer.mjs +3 -3
- package/examples/{model → stateProvider}/multiWindow/MainContainerController.mjs +6 -6
- package/examples/{model → stateProvider}/multiWindow/Viewport.mjs +3 -3
- package/examples/{model → stateProvider}/multiWindow/ViewportController.mjs +14 -14
- package/examples/{model/multiWindow2 → stateProvider/multiWindow}/app.mjs +1 -1
- package/examples/{model/advanced → stateProvider/multiWindow}/index.html +1 -1
- package/examples/{model → stateProvider}/multiWindow/neo-config.json +1 -1
- package/examples/{model → stateProvider}/multiWindow2/Viewport.mjs +3 -3
- package/examples/{model/multiWindow → stateProvider/multiWindow2}/app.mjs +1 -1
- package/examples/{model/multiWindow → stateProvider/multiWindow2}/index.html +1 -1
- package/examples/{model → stateProvider}/multiWindow2/neo-config.json +1 -1
- package/examples/{model → stateProvider}/nestedData/MainContainer.mjs +9 -9
- package/examples/{model → stateProvider}/nestedData/MainContainerController.mjs +7 -7
- package/examples/stateProvider/nestedData/app.mjs +6 -0
- package/examples/stateProvider/nestedData/index.html +11 -0
- package/examples/stateProvider/nestedData/neo-config.json +7 -0
- package/examples/{model → stateProvider}/table/MainContainer.mjs +8 -8
- package/examples/stateProvider/table/MainContainerStateProvider.mjs +24 -0
- package/examples/{model → stateProvider}/table/MainModel.mjs +2 -2
- package/examples/{model → stateProvider}/table/MainStore.mjs +2 -2
- package/examples/{model/advanced → stateProvider/table}/app.mjs +1 -1
- package/examples/{model/advanced → stateProvider/table}/neo-config.json +1 -1
- package/examples/{model → stateProvider}/twoWay/MainContainer.mjs +9 -9
- package/examples/{model/inline → stateProvider/twoWay}/app.mjs +1 -1
- package/examples/stateProvider/twoWay/index.html +11 -0
- package/examples/{model → stateProvider}/twoWay/neo-config.json +1 -1
- package/examples/table/nestedRecordFields/EditUserDialog.mjs +3 -3
- package/examples/table/nestedRecordFields/MainContainer.mjs +8 -8
- package/examples/table/nestedRecordFields/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +10 -10
- package/examples/toolbar/paging/view/MainContainer.mjs +7 -7
- package/examples/toolbar/paging/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +8 -8
- package/examples/treeAccordion/MainContainer.mjs +2 -2
- package/package.json +2 -2
- package/resources/data/deck/learnneo/pages/guides/{ViewModels.md → StateProviders.md} +52 -58
- package/resources/data/deck/learnneo/tree.json +46 -46
- package/src/DefaultConfig.mjs +2 -2
- package/src/button/Base.mjs +7 -7
- package/src/calendar/view/EditEventContainer.mjs +3 -3
- package/src/calendar/view/MainContainer.mjs +27 -27
- package/src/calendar/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +7 -7
- package/src/calendar/view/YearComponent.mjs +5 -5
- package/src/calendar/view/calendars/EditContainer.mjs +1 -1
- package/src/calendar/view/calendars/List.mjs +1 -1
- package/src/calendar/view/month/Component.mjs +6 -6
- package/src/calendar/view/settings/GeneralContainer.mjs +2 -2
- package/src/calendar/view/week/Component.mjs +10 -10
- package/src/calendar/view/week/EventDragZone.mjs +1 -1
- package/src/component/Base.mjs +77 -61
- package/src/container/Base.mjs +3 -3
- package/src/controller/Component.mjs +29 -12
- package/src/core/Base.mjs +0 -1
- package/src/core/Compare.mjs +128 -83
- package/src/date/SelectorContainer.mjs +12 -12
- package/src/date/{SelectorContainerModel.mjs → SelectorContainerStateProvider.mjs} +7 -7
- package/src/layout/Base.mjs +6 -6
- package/src/{model/Component.mjs → state/Provider.mjs} +67 -69
- package/src/tree/Accordion.mjs +15 -13
- package/src/worker/App.mjs +2 -2
- package/apps/portal/view/ViewportModel.mjs +0 -27
- package/examples/model/extendedClass/MainContainerModel.mjs +0 -24
- package/examples/model/inlineNoModel/README.md +0 -8
- package/examples/model/inlineNoModel/app.mjs +0 -6
- package/examples/model/inlineNoModel/index.html +0 -11
- package/examples/model/inlineNoModel/neo-config.json +0 -7
- package/examples/model/nestedData/app.mjs +0 -6
- package/examples/model/nestedData/index.html +0 -11
- package/examples/model/nestedData/neo-config.json +0 -7
- package/examples/model/table/MainContainerModel.mjs +0 -24
- package/examples/model/table/app.mjs +0 -6
- package/examples/model/table/neo-config.json +0 -7
- package/examples/model/twoWay/app.mjs +0 -6
- package/examples/model/twoWay/index.html +0 -11
- /package/examples/{model → stateProvider}/table/index.html +0 -0
@@ -1,28 +1,28 @@
|
|
1
|
-
import ComponentModel from '../../../src/model/Component.mjs';
|
2
1
|
import MainContainerController from './MainContainerController.mjs'
|
3
2
|
import Panel from '../../../src/container/Panel.mjs';
|
3
|
+
import StateProvider from '../../../src/state/Provider.mjs';
|
4
4
|
import Viewport from '../../../src/container/Viewport.mjs';
|
5
5
|
|
6
6
|
/**
|
7
|
-
* @class Neo.examples.
|
7
|
+
* @class Neo.examples.stateProvider.dialog.MainContainer
|
8
8
|
* @extends Neo.container.Viewport
|
9
9
|
*/
|
10
10
|
class MainContainer extends Viewport {
|
11
11
|
static config = {
|
12
12
|
/**
|
13
|
-
* @member {String} className='Neo.examples.
|
13
|
+
* @member {String} className='Neo.examples.stateProvider.dialog.MainContainer'
|
14
14
|
* @protected
|
15
15
|
*/
|
16
|
-
className: 'Neo.examples.
|
16
|
+
className: 'Neo.examples.stateProvider.dialog.MainContainer',
|
17
17
|
/**
|
18
18
|
* @member {Neo.controller.Component} controller=MainContainerController
|
19
19
|
*/
|
20
20
|
controller: MainContainerController,
|
21
21
|
/**
|
22
|
-
* @member {Object|Neo.
|
22
|
+
* @member {Object|Neo.state.Provider} stateProvider
|
23
23
|
*/
|
24
|
-
|
25
|
-
module:
|
24
|
+
stateProvider: {
|
25
|
+
module: StateProvider,
|
26
26
|
|
27
27
|
data: {
|
28
28
|
user: {
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import Controller from '../../../src/controller/Component.mjs';
|
2
2
|
|
3
3
|
/**
|
4
|
-
* @class Neo.examples.
|
4
|
+
* @class Neo.examples.stateProvider.dialog.MainContainerController
|
5
5
|
* @extends Neo.controller.Component
|
6
6
|
*/
|
7
7
|
class MainContainerController extends Controller {
|
8
8
|
static config = {
|
9
9
|
/**
|
10
|
-
* @member {String} className='Neo.examples.
|
10
|
+
* @member {String} className='Neo.examples.stateProvider.dialog.MainContainerController'
|
11
11
|
* @protected
|
12
12
|
*/
|
13
|
-
className: 'Neo.examples.
|
13
|
+
className: 'Neo.examples.stateProvider.dialog.MainContainerController',
|
14
14
|
/**
|
15
15
|
* @member {Neo.examples.dialog.EditUserDialog|null} dialog=null
|
16
16
|
*/
|
@@ -31,8 +31,8 @@ class MainContainerController extends Controller {
|
|
31
31
|
appName : me.component.appName,
|
32
32
|
closeAction : 'hide',
|
33
33
|
|
34
|
-
|
35
|
-
parent: me.
|
34
|
+
stateProvider: {
|
35
|
+
parent: me.getStateProvider()
|
36
36
|
}
|
37
37
|
})
|
38
38
|
})
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<head>
|
4
4
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
5
5
|
<meta charset="UTF-8">
|
6
|
-
<title>
|
6
|
+
<title>state.Provider: dialog</title>
|
7
7
|
</head>
|
8
8
|
<body>
|
9
9
|
<script src="../../../src/MicroLoader.mjs" type="module"></script>
|
@@ -1,28 +1,28 @@
|
|
1
|
-
import MainContainerController
|
2
|
-
import
|
3
|
-
import Panel
|
4
|
-
import TextField
|
5
|
-
import Viewport
|
1
|
+
import MainContainerController from './MainContainerController.mjs'
|
2
|
+
import MainContainerStateProvider from './MainContainerStateProvider.mjs'
|
3
|
+
import Panel from '../../../src/container/Panel.mjs';
|
4
|
+
import TextField from '../../../src/form/field/Text.mjs';
|
5
|
+
import Viewport from '../../../src/container/Viewport.mjs';
|
6
6
|
|
7
7
|
/**
|
8
|
-
* @class Neo.examples.
|
8
|
+
* @class Neo.examples.stateProvider.extendedClass.MainContainer
|
9
9
|
* @extends Neo.container.Viewport
|
10
10
|
*/
|
11
11
|
class MainContainer extends Viewport {
|
12
12
|
static config = {
|
13
13
|
/**
|
14
|
-
* @member {String} className='Neo.examples.
|
14
|
+
* @member {String} className='Neo.examples.stateProvider.extendedClass.MainContainer'
|
15
15
|
* @protected
|
16
16
|
*/
|
17
|
-
className: 'Neo.examples.
|
17
|
+
className: 'Neo.examples.stateProvider.extendedClass.MainContainer',
|
18
18
|
/**
|
19
19
|
* @member {Neo.controller.Component} controller=MainContainerController
|
20
20
|
*/
|
21
21
|
controller: MainContainerController,
|
22
22
|
/**
|
23
|
-
* @member {Object|Neo.
|
23
|
+
* @member {Object|Neo.state.Provider} stateProvider=MainContainerStateProvider
|
24
24
|
*/
|
25
|
-
|
25
|
+
stateProvider: MainContainerStateProvider,
|
26
26
|
/**
|
27
27
|
* @member {Object} style
|
28
28
|
*/
|
@@ -50,7 +50,7 @@ class MainContainer extends Viewport {
|
|
50
50
|
dock : 'top',
|
51
51
|
items: [{
|
52
52
|
ntype: 'label',
|
53
|
-
text : '
|
53
|
+
text : 'state.Provider: extended class'
|
54
54
|
}, {
|
55
55
|
ntype: 'component',
|
56
56
|
flex : 1
|
@@ -102,9 +102,9 @@ class MainContainer extends Viewport {
|
|
102
102
|
}
|
103
103
|
}, {
|
104
104
|
ntype : 'button',
|
105
|
-
handler: '
|
105
|
+
handler: 'onLogStateProviderIntoConsoleButtonClick',
|
106
106
|
style : {marginTop: '2em'},
|
107
|
-
text : 'Log
|
107
|
+
text : 'Log stateProvider into console'
|
108
108
|
}]
|
109
109
|
}]
|
110
110
|
}
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import Controller from '../../../src/controller/Component.mjs';
|
2
2
|
|
3
3
|
/**
|
4
|
-
* @class Neo.examples.
|
4
|
+
* @class Neo.examples.stateProvider.extendedClass.MainContainerController
|
5
5
|
* @extends Neo.controller.Component
|
6
6
|
*/
|
7
7
|
class MainContainerController extends Controller {
|
8
8
|
static config = {
|
9
9
|
/**
|
10
|
-
* @member {String} className='Neo.examples.
|
10
|
+
* @member {String} className='Neo.examples.stateProvider.extendedClass.MainContainerController'
|
11
11
|
* @protected
|
12
12
|
*/
|
13
|
-
className: 'Neo.examples.
|
13
|
+
className: 'Neo.examples.stateProvider.extendedClass.MainContainerController'
|
14
14
|
}
|
15
15
|
|
16
16
|
/**
|
@@ -30,8 +30,8 @@ class MainContainerController extends Controller {
|
|
30
30
|
/**
|
31
31
|
* @param {Object} data
|
32
32
|
*/
|
33
|
-
|
34
|
-
console.log(this.
|
33
|
+
onLogStateProviderIntoConsoleButtonClick(data) {
|
34
|
+
console.log(this.getStateProvider())
|
35
35
|
}
|
36
36
|
|
37
37
|
/**
|
@@ -56,14 +56,14 @@ class MainContainerController extends Controller {
|
|
56
56
|
* @param {String} value
|
57
57
|
*/
|
58
58
|
updateButton1Text(value) {
|
59
|
-
this.
|
59
|
+
this.getStateProvider().data['button1Text'] = value || ''
|
60
60
|
}
|
61
61
|
|
62
62
|
/**
|
63
63
|
* @param {String} value
|
64
64
|
*/
|
65
65
|
updateButton2Text(value) {
|
66
|
-
this.
|
66
|
+
this.setState({
|
67
67
|
button2Text: value || ''
|
68
68
|
})
|
69
69
|
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import Model from '../../../src/state/Provider.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class Neo.examples.stateProvider.extendedClass.MainContainerStateProvider
|
5
|
+
* @extends Neo.state.Provider
|
6
|
+
*/
|
7
|
+
class MainContainerStateProvider extends Model {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='Neo.examples.stateProvider.extendedClass.MainContainerStateProvider'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Neo.examples.stateProvider.extendedClass.MainContainerStateProvider',
|
14
|
+
/**
|
15
|
+
* @member {Object} data
|
16
|
+
*/
|
17
|
+
data: {
|
18
|
+
button1Text: 'Button 1',
|
19
|
+
button2Text: 'Button 2'
|
20
|
+
}
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
export default Neo.setupClass(MainContainerStateProvider);
|
@@ -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>state.Provider: extended class</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<script src="../../../src/MicroLoader.mjs" type="module"></script>
|
10
|
+
</body>
|
11
|
+
</html>
|
@@ -1,29 +1,29 @@
|
|
1
|
-
import ComponentModel from '../../../src/model/Component.mjs';
|
2
1
|
import MainContainerController from './MainContainerController.mjs'
|
3
2
|
import Panel from '../../../src/container/Panel.mjs';
|
3
|
+
import StateProvider from '../../../src/state/Provider.mjs';
|
4
4
|
import TextField from '../../../src/form/field/Text.mjs';
|
5
5
|
import Viewport from '../../../src/container/Viewport.mjs';
|
6
6
|
|
7
7
|
/**
|
8
|
-
* @class Neo.examples.
|
8
|
+
* @class Neo.examples.stateProvider.inline.MainContainer
|
9
9
|
* @extends Neo.container.Viewport
|
10
10
|
*/
|
11
11
|
class MainContainer extends Viewport {
|
12
12
|
static config = {
|
13
13
|
/**
|
14
|
-
* @member {String} className='Neo.examples.
|
14
|
+
* @member {String} className='Neo.examples.stateProvider.inline.MainContainer'
|
15
15
|
* @protected
|
16
16
|
*/
|
17
|
-
className: 'Neo.examples.
|
17
|
+
className: 'Neo.examples.stateProvider.inline.MainContainer',
|
18
18
|
/**
|
19
19
|
* @member {Neo.controller.Component} controller=MainContainerController
|
20
20
|
*/
|
21
21
|
controller: MainContainerController,
|
22
22
|
/**
|
23
|
-
* @member {Object|Neo.
|
23
|
+
* @member {Object|Neo.state.Provider} stateProvider
|
24
24
|
*/
|
25
|
-
|
26
|
-
module:
|
25
|
+
stateProvider: {
|
26
|
+
module: StateProvider,
|
27
27
|
|
28
28
|
data: {
|
29
29
|
button1Text: 'Button 1',
|
@@ -57,7 +57,7 @@ class MainContainer extends Viewport {
|
|
57
57
|
dock : 'top',
|
58
58
|
items: [{
|
59
59
|
ntype: 'label',
|
60
|
-
text : '
|
60
|
+
text : 'state.Provider: inline definition'
|
61
61
|
}, {
|
62
62
|
ntype: 'component',
|
63
63
|
flex : 1
|
@@ -105,9 +105,9 @@ class MainContainer extends Viewport {
|
|
105
105
|
}
|
106
106
|
}, {
|
107
107
|
ntype : 'button',
|
108
|
-
handler: '
|
108
|
+
handler: 'onLogStateProviderIntoConsoleButtonClick',
|
109
109
|
style : {marginTop: '2em'},
|
110
|
-
text : 'Log
|
110
|
+
text : 'Log stateProvider into console'
|
111
111
|
}]
|
112
112
|
}]
|
113
113
|
}
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import Controller from '../../../src/controller/Component.mjs';
|
2
2
|
|
3
3
|
/**
|
4
|
-
* @class Neo.examples.
|
4
|
+
* @class Neo.examples.stateProvider.inline.MainContainerController
|
5
5
|
* @extends Neo.controller.Component
|
6
6
|
*/
|
7
7
|
class MainContainerController extends Controller {
|
8
8
|
static config = {
|
9
9
|
/**
|
10
|
-
* @member {String} className='Neo.examples.
|
10
|
+
* @member {String} className='Neo.examples.stateProvider.inline.MainContainerController'
|
11
11
|
* @protected
|
12
12
|
*/
|
13
|
-
className: 'Neo.examples.
|
13
|
+
className: 'Neo.examples.stateProvider.inline.MainContainerController'
|
14
14
|
}
|
15
15
|
|
16
16
|
/**
|
@@ -30,8 +30,8 @@ class MainContainerController extends Controller {
|
|
30
30
|
/**
|
31
31
|
* @param {Object} data
|
32
32
|
*/
|
33
|
-
|
34
|
-
console.log(this.
|
33
|
+
onLogStateProviderIntoConsoleButtonClick(data) {
|
34
|
+
console.log(this.getStateProvider())
|
35
35
|
}
|
36
36
|
|
37
37
|
/**
|
@@ -56,14 +56,14 @@ class MainContainerController extends Controller {
|
|
56
56
|
* @param {String} value
|
57
57
|
*/
|
58
58
|
updateButton1Text(value) {
|
59
|
-
this.
|
59
|
+
this.getStateProvider().data['button1Text'] = value || ''
|
60
60
|
}
|
61
61
|
|
62
62
|
/**
|
63
63
|
* @param {String} value
|
64
64
|
*/
|
65
65
|
updateButton2Text(value) {
|
66
|
-
this.
|
66
|
+
this.setState({
|
67
67
|
button2Text: value || ''
|
68
68
|
})
|
69
69
|
}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<head>
|
4
4
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
5
5
|
<meta charset="UTF-8">
|
6
|
-
<title>
|
6
|
+
<title>state.Provider: inline definition</title>
|
7
7
|
</head>
|
8
8
|
<body>
|
9
9
|
<script src="../../../src/MicroLoader.mjs" type="module"></script>
|
package/examples/{model/inlineNoModel → stateProvider/inlineNoStateProvider}/MainContainer.mjs
RENAMED
@@ -4,16 +4,16 @@ import TextField from '../../../src/form/field/Text.mjs';
|
|
4
4
|
import Viewport from '../../../src/container/Viewport.mjs';
|
5
5
|
|
6
6
|
/**
|
7
|
-
* @class Neo.examples.
|
7
|
+
* @class Neo.examples.stateProvider.inlineNoStateProvider.MainContainer
|
8
8
|
* @extends Neo.container.Viewport
|
9
9
|
*/
|
10
10
|
class MainContainer extends Viewport {
|
11
11
|
static config = {
|
12
12
|
/**
|
13
|
-
* @member {String} className='Neo.examples.
|
13
|
+
* @member {String} className='Neo.examples.stateProvider.inlineNoStateProvider.MainContainer'
|
14
14
|
* @protected
|
15
15
|
*/
|
16
|
-
className: 'Neo.examples.
|
16
|
+
className: 'Neo.examples.stateProvider.inlineNoStateProvider.MainContainer',
|
17
17
|
/**
|
18
18
|
* @member {Neo.controller.Component} controller=MainContainerController
|
19
19
|
*/
|
@@ -45,7 +45,7 @@ class MainContainer extends Viewport {
|
|
45
45
|
dock : 'top',
|
46
46
|
items: [{
|
47
47
|
ntype: 'label',
|
48
|
-
text : 'inline example without using a
|
48
|
+
text : 'inline example without using a state.Provider'
|
49
49
|
}, {
|
50
50
|
ntype: 'component',
|
51
51
|
flex : 1
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import Controller from '../../../src/controller/Component.mjs';
|
2
2
|
|
3
3
|
/**
|
4
|
-
* @class Neo.examples.
|
4
|
+
* @class Neo.examples.stateProvider.inlineNoStateProvider.MainContainerController
|
5
5
|
* @extends Neo.controller.Component
|
6
6
|
*/
|
7
7
|
class MainContainerController extends Controller {
|
8
8
|
static config = {
|
9
9
|
/**
|
10
|
-
* @member {String} className='Neo.examples.
|
10
|
+
* @member {String} className='Neo.examples.stateProvider.inlineNoStateProvider.MainContainerController'
|
11
11
|
* @protected
|
12
12
|
*/
|
13
|
-
className: 'Neo.examples.
|
13
|
+
className: 'Neo.examples.stateProvider.inlineNoStateProvider.MainContainerController',
|
14
14
|
/**
|
15
15
|
* @member {String} button1Text_='Button 1'
|
16
16
|
*/
|
@@ -0,0 +1,8 @@
|
|
1
|
+
This example covers the same business logic as examples/stateProvider/inline.
|
2
|
+
|
3
|
+
Instead of using a state.Provider instance, the view controller is storing the data properties directly.
|
4
|
+
|
5
|
+
Compare the MainContainer.mjs as well as the MainContainerController.mjs files inside both examples to get the idea.
|
6
|
+
|
7
|
+
While this implementation is beautifully easy, it does get a lot more complex in case you want to use nested data
|
8
|
+
or a nested state provider & controller hierarchy.
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<head>
|
4
4
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
5
5
|
<meta charset="UTF-8">
|
6
|
-
<title>
|
6
|
+
<title>inline example without using a state.Provider</title>
|
7
7
|
</head>
|
8
8
|
<body>
|
9
9
|
<script src="../../../src/MicroLoader.mjs" type="module"></script>
|
@@ -3,16 +3,16 @@ import EditUserDialogController from './EditUserDialogController.mjs';
|
|
3
3
|
import TextField from '../../../src/form/field/Text.mjs';
|
4
4
|
|
5
5
|
/**
|
6
|
-
* @class Neo.examples.
|
6
|
+
* @class Neo.examples.stateProvider.multiWindow.EditUserDialog
|
7
7
|
* @extends Neo.dialog.Base
|
8
8
|
*/
|
9
9
|
class EditUserDialog extends Dialog {
|
10
10
|
static config = {
|
11
11
|
/**
|
12
|
-
* @member {String} className='Neo.examples.
|
12
|
+
* @member {String} className='Neo.examples.stateProvider.multiWindow.EditUserDialog'
|
13
13
|
* @protected
|
14
14
|
*/
|
15
|
-
className: 'Neo.examples.
|
15
|
+
className: 'Neo.examples.stateProvider.multiWindow.EditUserDialog',
|
16
16
|
/**
|
17
17
|
* @member {Object} containerConfig={style:{padding:'1em'}}
|
18
18
|
*/
|
@@ -1,23 +1,23 @@
|
|
1
1
|
import Controller from '../../../src/controller/Component.mjs';
|
2
2
|
|
3
3
|
/**
|
4
|
-
* @class Neo.examples.
|
4
|
+
* @class Neo.examples.stateProvider.multiWindow.EditUserDialogController
|
5
5
|
* @extends Neo.controller.Component
|
6
6
|
*/
|
7
7
|
class EditUserDialogController extends Controller {
|
8
8
|
static config = {
|
9
9
|
/**
|
10
|
-
* @member {String} className='Neo.examples.
|
10
|
+
* @member {String} className='Neo.examples.stateProvider.multiWindow.EditUserDialogController'
|
11
11
|
* @protected
|
12
12
|
*/
|
13
|
-
className: 'Neo.examples.
|
13
|
+
className: 'Neo.examples.stateProvider.multiWindow.EditUserDialogController'
|
14
14
|
}
|
15
15
|
|
16
16
|
/**
|
17
17
|
* @param {Object} data
|
18
18
|
*/
|
19
19
|
onFirstnameTextFieldChange(data) {
|
20
|
-
this.
|
20
|
+
this.setState({
|
21
21
|
'user.firstname': data.value || ''
|
22
22
|
})
|
23
23
|
}
|
@@ -26,7 +26,7 @@ class EditUserDialogController extends Controller {
|
|
26
26
|
* @param {Object} data
|
27
27
|
*/
|
28
28
|
onLastnameTextFieldChange(data) {
|
29
|
-
this.
|
29
|
+
this.setState({
|
30
30
|
'user.lastname': data.value || ''
|
31
31
|
})
|
32
32
|
}
|
@@ -2,16 +2,16 @@ import MainContainerController from './MainContainerController.mjs'
|
|
2
2
|
import Panel from '../../../src/container/Panel.mjs';
|
3
3
|
|
4
4
|
/**
|
5
|
-
* @class Neo.examples.
|
5
|
+
* @class Neo.examples.stateProvider.multiWindow.MainContainer
|
6
6
|
* @extends Neo.container.Panel
|
7
7
|
*/
|
8
8
|
class MainContainer extends Panel {
|
9
9
|
static config = {
|
10
10
|
/**
|
11
|
-
* @member {String} className='Neo.examples.
|
11
|
+
* @member {String} className='Neo.examples.stateProvider.multiWindow.MainContainer'
|
12
12
|
* @protected
|
13
13
|
*/
|
14
|
-
className: 'Neo.examples.
|
14
|
+
className: 'Neo.examples.stateProvider.multiWindow.MainContainer',
|
15
15
|
/**
|
16
16
|
* @member {Object} containerConfig
|
17
17
|
*/
|
@@ -1,21 +1,21 @@
|
|
1
1
|
import Controller from '../../../src/controller/Component.mjs';
|
2
2
|
|
3
3
|
/**
|
4
|
-
* @class Neo.examples.
|
4
|
+
* @class Neo.examples.stateProvider.multiWindow.MainContainerController
|
5
5
|
* @extends Neo.controller.Component
|
6
6
|
*/
|
7
7
|
class MainContainerController extends Controller {
|
8
8
|
/**
|
9
|
-
* @member {Neo.examples.dialog.EditUserDialog|null} dialog=null
|
9
|
+
* @member {Neo.examples.stateProvider.multiWindow.dialog.EditUserDialog|null} dialog=null
|
10
10
|
*/
|
11
11
|
dialog = null
|
12
12
|
|
13
13
|
static config = {
|
14
14
|
/**
|
15
|
-
* @member {String} className='Neo.examples.
|
15
|
+
* @member {String} className='Neo.examples.stateProvider.multiWindow.MainContainerController'
|
16
16
|
* @protected
|
17
17
|
*/
|
18
|
-
className: 'Neo.examples.
|
18
|
+
className: 'Neo.examples.stateProvider.multiWindow.MainContainerController'
|
19
19
|
}
|
20
20
|
|
21
21
|
/**
|
@@ -45,8 +45,8 @@ class MainContainerController extends Controller {
|
|
45
45
|
hide: me.enableEditUserButton.bind(me, true)
|
46
46
|
},
|
47
47
|
|
48
|
-
|
49
|
-
parent: me.
|
48
|
+
stateProvider: {
|
49
|
+
parent: me.getStateProvider()
|
50
50
|
}
|
51
51
|
})
|
52
52
|
})
|
@@ -2,16 +2,16 @@ import BaseViewport from '../../../src/container/Viewport.mjs';
|
|
2
2
|
import ViewportController from './ViewportController.mjs'
|
3
3
|
|
4
4
|
/**
|
5
|
-
* @class Neo.examples.
|
5
|
+
* @class Neo.examples.stateProvider.multiWindow.Viewport
|
6
6
|
* @extends Neo.container.Viewport
|
7
7
|
*/
|
8
8
|
class Viewport extends BaseViewport {
|
9
9
|
static config = {
|
10
10
|
/**
|
11
|
-
* @member {String} className='Neo.examples.
|
11
|
+
* @member {String} className='Neo.examples.stateProvider.multiWindow.Viewport'
|
12
12
|
* @protected
|
13
13
|
*/
|
14
|
-
className: 'Neo.examples.
|
14
|
+
className: 'Neo.examples.stateProvider.multiWindow.Viewport',
|
15
15
|
/**
|
16
16
|
* @member {Neo.controller.Component} controller=ViewportController
|
17
17
|
*/
|