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.
Files changed (141) hide show
  1. package/apps/ServiceWorker.mjs +2 -2
  2. package/apps/colors/view/Viewport.mjs +9 -9
  3. package/apps/colors/view/ViewportController.mjs +13 -13
  4. package/apps/colors/view/{ViewportModel.mjs → ViewportStateProvider.mjs} +8 -8
  5. package/apps/covid/view/MainContainer.mjs +8 -8
  6. package/apps/covid/view/MainContainerController.mjs +8 -10
  7. package/apps/covid/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +7 -7
  8. package/apps/covid/view/TableContainerController.mjs +1 -1
  9. package/apps/form/view/FormContainerController.mjs +2 -2
  10. package/apps/form/view/SideNavList.mjs +3 -3
  11. package/apps/form/view/Viewport.mjs +7 -7
  12. package/apps/form/view/ViewportController.mjs +4 -4
  13. package/apps/form/view/{ViewportModel.mjs → ViewportStateProvider.mjs} +8 -8
  14. package/apps/portal/index.html +1 -1
  15. package/apps/portal/resources/data/examples_devmode.json +3 -3
  16. package/apps/portal/resources/data/examples_dist_dev.json +3 -3
  17. package/apps/portal/resources/data/examples_dist_prod.json +3 -3
  18. package/apps/portal/view/Viewport.mjs +12 -12
  19. package/apps/portal/view/ViewportStateProvider.mjs +27 -0
  20. package/apps/portal/view/home/FooterContainer.mjs +1 -1
  21. package/apps/portal/view/learn/ContentComponent.mjs +2 -2
  22. package/apps/portal/view/learn/ContentTreeList.mjs +1 -1
  23. package/apps/portal/view/learn/MainContainer.mjs +9 -9
  24. package/apps/portal/view/learn/MainContainerController.mjs +12 -12
  25. package/apps/portal/view/learn/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +7 -7
  26. package/apps/portal/view/learn/PageSectionsList.mjs +1 -1
  27. package/apps/sharedcovid/view/GalleryContainer.mjs +2 -2
  28. package/apps/sharedcovid/view/HelixContainer.mjs +2 -2
  29. package/apps/sharedcovid/view/MainContainer.mjs +8 -8
  30. package/apps/sharedcovid/view/MainContainerController.mjs +10 -11
  31. package/apps/sharedcovid/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +8 -8
  32. package/apps/sharedcovid/view/TableContainerController.mjs +1 -1
  33. package/apps/sharedcovid/view/mapboxGl/Container.mjs +2 -2
  34. package/buildScripts/createClass.mjs +11 -11
  35. package/buildScripts/createComponent.mjs +4 -4
  36. package/docs/app/view/MainContainerController.mjs +6 -6
  37. package/examples/ServiceWorker.mjs +2 -2
  38. package/examples/{model → stateProvider}/advanced/MainContainer.mjs +12 -12
  39. package/examples/{model → stateProvider}/advanced/MainContainerController.mjs +10 -10
  40. package/examples/stateProvider/advanced/app.mjs +6 -0
  41. package/examples/{model/dialog → stateProvider/advanced}/index.html +1 -1
  42. package/examples/{model/inline → stateProvider/advanced}/neo-config.json +1 -1
  43. package/examples/{model → stateProvider}/dialog/EditUserDialog.mjs +3 -3
  44. package/examples/{model → stateProvider}/dialog/EditUserDialogController.mjs +5 -5
  45. package/examples/{model → stateProvider}/dialog/MainContainer.mjs +7 -7
  46. package/examples/{model → stateProvider}/dialog/MainContainerController.mjs +5 -5
  47. package/examples/{model → stateProvider}/dialog/app.mjs +1 -1
  48. package/examples/{model/multiWindow2 → stateProvider/dialog}/index.html +1 -1
  49. package/examples/{model → stateProvider}/dialog/neo-config.json +1 -1
  50. package/examples/{model → stateProvider}/extendedClass/MainContainer.mjs +13 -13
  51. package/examples/{model/inline → stateProvider/extendedClass}/MainContainerController.mjs +7 -7
  52. package/examples/stateProvider/extendedClass/MainContainerStateProvider.mjs +24 -0
  53. package/examples/stateProvider/extendedClass/app.mjs +6 -0
  54. package/examples/stateProvider/extendedClass/index.html +11 -0
  55. package/examples/stateProvider/extendedClass/neo-config.json +7 -0
  56. package/examples/{model → stateProvider}/inline/MainContainer.mjs +10 -10
  57. package/examples/{model/extendedClass → stateProvider/inline}/MainContainerController.mjs +7 -7
  58. package/examples/{model/extendedClass → stateProvider/inline}/app.mjs +1 -1
  59. package/examples/{model/extendedClass → stateProvider/inline}/index.html +1 -1
  60. package/examples/{model/extendedClass → stateProvider/inline}/neo-config.json +1 -1
  61. package/examples/{model/inlineNoModel → stateProvider/inlineNoStateProvider}/MainContainer.mjs +4 -4
  62. package/examples/{model/inlineNoModel → stateProvider/inlineNoStateProvider}/MainContainerController.mjs +3 -3
  63. package/examples/stateProvider/inlineNoStateProvider/README.md +8 -0
  64. package/examples/stateProvider/inlineNoStateProvider/app.mjs +6 -0
  65. package/examples/{model/inline → stateProvider/inlineNoStateProvider}/index.html +1 -1
  66. package/examples/stateProvider/inlineNoStateProvider/neo-config.json +7 -0
  67. package/examples/{model → stateProvider}/multiWindow/EditUserDialog.mjs +3 -3
  68. package/examples/{model → stateProvider}/multiWindow/EditUserDialogController.mjs +5 -5
  69. package/examples/{model → stateProvider}/multiWindow/MainContainer.mjs +3 -3
  70. package/examples/{model → stateProvider}/multiWindow/MainContainerController.mjs +6 -6
  71. package/examples/{model → stateProvider}/multiWindow/Viewport.mjs +3 -3
  72. package/examples/{model → stateProvider}/multiWindow/ViewportController.mjs +14 -14
  73. package/examples/{model/multiWindow2 → stateProvider/multiWindow}/app.mjs +1 -1
  74. package/examples/{model/advanced → stateProvider/multiWindow}/index.html +1 -1
  75. package/examples/{model → stateProvider}/multiWindow/neo-config.json +1 -1
  76. package/examples/{model → stateProvider}/multiWindow2/Viewport.mjs +3 -3
  77. package/examples/{model/multiWindow → stateProvider/multiWindow2}/app.mjs +1 -1
  78. package/examples/{model/multiWindow → stateProvider/multiWindow2}/index.html +1 -1
  79. package/examples/{model → stateProvider}/multiWindow2/neo-config.json +1 -1
  80. package/examples/{model → stateProvider}/nestedData/MainContainer.mjs +9 -9
  81. package/examples/{model → stateProvider}/nestedData/MainContainerController.mjs +7 -7
  82. package/examples/stateProvider/nestedData/app.mjs +6 -0
  83. package/examples/stateProvider/nestedData/index.html +11 -0
  84. package/examples/stateProvider/nestedData/neo-config.json +7 -0
  85. package/examples/{model → stateProvider}/table/MainContainer.mjs +8 -8
  86. package/examples/stateProvider/table/MainContainerStateProvider.mjs +24 -0
  87. package/examples/{model → stateProvider}/table/MainModel.mjs +2 -2
  88. package/examples/{model → stateProvider}/table/MainStore.mjs +2 -2
  89. package/examples/{model/advanced → stateProvider/table}/app.mjs +1 -1
  90. package/examples/{model/advanced → stateProvider/table}/neo-config.json +1 -1
  91. package/examples/{model → stateProvider}/twoWay/MainContainer.mjs +9 -9
  92. package/examples/{model/inline → stateProvider/twoWay}/app.mjs +1 -1
  93. package/examples/stateProvider/twoWay/index.html +11 -0
  94. package/examples/{model → stateProvider}/twoWay/neo-config.json +1 -1
  95. package/examples/table/nestedRecordFields/EditUserDialog.mjs +3 -3
  96. package/examples/table/nestedRecordFields/MainContainer.mjs +8 -8
  97. package/examples/table/nestedRecordFields/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +10 -10
  98. package/examples/toolbar/paging/view/MainContainer.mjs +7 -7
  99. package/examples/toolbar/paging/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +8 -8
  100. package/examples/treeAccordion/MainContainer.mjs +2 -2
  101. package/package.json +2 -2
  102. package/resources/data/deck/learnneo/pages/guides/{ViewModels.md → StateProviders.md} +52 -58
  103. package/resources/data/deck/learnneo/tree.json +46 -46
  104. package/src/DefaultConfig.mjs +2 -2
  105. package/src/button/Base.mjs +7 -7
  106. package/src/calendar/view/EditEventContainer.mjs +3 -3
  107. package/src/calendar/view/MainContainer.mjs +27 -27
  108. package/src/calendar/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +7 -7
  109. package/src/calendar/view/YearComponent.mjs +5 -5
  110. package/src/calendar/view/calendars/EditContainer.mjs +1 -1
  111. package/src/calendar/view/calendars/List.mjs +1 -1
  112. package/src/calendar/view/month/Component.mjs +6 -6
  113. package/src/calendar/view/settings/GeneralContainer.mjs +2 -2
  114. package/src/calendar/view/week/Component.mjs +10 -10
  115. package/src/calendar/view/week/EventDragZone.mjs +1 -1
  116. package/src/component/Base.mjs +77 -61
  117. package/src/container/Base.mjs +3 -3
  118. package/src/controller/Component.mjs +29 -12
  119. package/src/core/Base.mjs +0 -1
  120. package/src/core/Compare.mjs +128 -83
  121. package/src/date/SelectorContainer.mjs +12 -12
  122. package/src/date/{SelectorContainerModel.mjs → SelectorContainerStateProvider.mjs} +7 -7
  123. package/src/layout/Base.mjs +6 -6
  124. package/src/{model/Component.mjs → state/Provider.mjs} +67 -69
  125. package/src/tree/Accordion.mjs +15 -13
  126. package/src/worker/App.mjs +2 -2
  127. package/apps/portal/view/ViewportModel.mjs +0 -27
  128. package/examples/model/extendedClass/MainContainerModel.mjs +0 -24
  129. package/examples/model/inlineNoModel/README.md +0 -8
  130. package/examples/model/inlineNoModel/app.mjs +0 -6
  131. package/examples/model/inlineNoModel/index.html +0 -11
  132. package/examples/model/inlineNoModel/neo-config.json +0 -7
  133. package/examples/model/nestedData/app.mjs +0 -6
  134. package/examples/model/nestedData/index.html +0 -11
  135. package/examples/model/nestedData/neo-config.json +0 -7
  136. package/examples/model/table/MainContainerModel.mjs +0 -24
  137. package/examples/model/table/app.mjs +0 -6
  138. package/examples/model/table/neo-config.json +0 -7
  139. package/examples/model/twoWay/app.mjs +0 -6
  140. package/examples/model/twoWay/index.html +0 -11
  141. /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.model.dialog.MainContainer
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.model.dialog.MainContainer'
13
+ * @member {String} className='Neo.examples.stateProvider.dialog.MainContainer'
14
14
  * @protected
15
15
  */
16
- className: 'Neo.examples.model.dialog.MainContainer',
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.model.Component} model
22
+ * @member {Object|Neo.state.Provider} stateProvider
23
23
  */
24
- model: {
25
- module: ComponentModel,
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.model.dialog.MainContainerController
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.model.dialog.MainContainerController'
10
+ * @member {String} className='Neo.examples.stateProvider.dialog.MainContainerController'
11
11
  * @protected
12
12
  */
13
- className: 'Neo.examples.model.dialog.MainContainerController',
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
- model: {
35
- parent: me.getModel()
34
+ stateProvider: {
35
+ parent: me.getStateProvider()
36
36
  }
37
37
  })
38
38
  })
@@ -2,5 +2,5 @@ import MainContainer from './MainContainer.mjs';
2
2
 
3
3
  export const onStart = () => Neo.app({
4
4
  mainView: MainContainer,
5
- name : 'Neo.examples.model.dialog'
5
+ name : 'Neo.examples.stateProvider.dialog'
6
6
  });
@@ -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>model.multiWindow2</title>
6
+ <title>state.Provider: dialog</title>
7
7
  </head>
8
8
  <body>
9
9
  <script src="../../../src/MicroLoader.mjs" type="module"></script>
@@ -1,5 +1,5 @@
1
1
  {
2
- "appPath" : "examples/model/dialog/app.mjs",
2
+ "appPath" : "examples/stateProvider/dialog/app.mjs",
3
3
  "basePath" : "../../../",
4
4
  "environment": "development",
5
5
  "mainPath" : "./Main.mjs",
@@ -1,28 +1,28 @@
1
- import MainContainerController from './MainContainerController.mjs'
2
- import MainContainerModel from './MainContainerModel.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';
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.model.extendedClass.MainContainer
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.model.extendedClass.MainContainer'
14
+ * @member {String} className='Neo.examples.stateProvider.extendedClass.MainContainer'
15
15
  * @protected
16
16
  */
17
- className: 'Neo.examples.model.extendedClass.MainContainer',
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.model.Component} model=MainContainerModel
23
+ * @member {Object|Neo.state.Provider} stateProvider=MainContainerStateProvider
24
24
  */
25
- model: MainContainerModel,
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 : 'model.Component: extended class'
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: 'onLogModelIntoConsoleButtonClick',
105
+ handler: 'onLogStateProviderIntoConsoleButtonClick',
106
106
  style : {marginTop: '2em'},
107
- text : 'Log model into console'
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.model.inline.MainContainerController
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.model.inline.MainContainerController'
10
+ * @member {String} className='Neo.examples.stateProvider.extendedClass.MainContainerController'
11
11
  * @protected
12
12
  */
13
- className: 'Neo.examples.model.inline.MainContainerController'
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
- onLogModelIntoConsoleButtonClick(data) {
34
- console.log(this.getModel())
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.getModel().data['button1Text'] = value || ''
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.getModel().setData({
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,6 @@
1
+ import MainContainer from './MainContainer.mjs';
2
+
3
+ export const onStart = () => Neo.app({
4
+ mainView: MainContainer,
5
+ name : 'Neo.examples.stateProvider.extendedClass'
6
+ });
@@ -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>
@@ -0,0 +1,7 @@
1
+ {
2
+ "appPath" : "examples/stateProvider/extendedClass/app.mjs",
3
+ "basePath" : "../../../",
4
+ "environment": "development",
5
+ "mainPath" : "./Main.mjs",
6
+ "themes" : ["neo-theme-dark"]
7
+ }
@@ -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.model.inline.MainContainer
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.model.inline.MainContainer'
14
+ * @member {String} className='Neo.examples.stateProvider.inline.MainContainer'
15
15
  * @protected
16
16
  */
17
- className: 'Neo.examples.model.inline.MainContainer',
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.model.Component} model
23
+ * @member {Object|Neo.state.Provider} stateProvider
24
24
  */
25
- model: {
26
- module: ComponentModel,
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 : 'model.Component: inline definition'
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: 'onLogModelIntoConsoleButtonClick',
108
+ handler: 'onLogStateProviderIntoConsoleButtonClick',
109
109
  style : {marginTop: '2em'},
110
- text : 'Log model into console'
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.model.extendedClass.MainContainerController
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.model.extendedClass.MainContainerController'
10
+ * @member {String} className='Neo.examples.stateProvider.inline.MainContainerController'
11
11
  * @protected
12
12
  */
13
- className: 'Neo.examples.model.extendedClass.MainContainerController'
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
- onLogModelIntoConsoleButtonClick(data) {
34
- console.log(this.getModel())
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.getModel().data['button1Text'] = value || ''
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.getModel().setData({
66
+ this.setState({
67
67
  button2Text: value || ''
68
68
  })
69
69
  }
@@ -2,5 +2,5 @@ import MainContainer from './MainContainer.mjs';
2
2
 
3
3
  export const onStart = () => Neo.app({
4
4
  mainView: MainContainer,
5
- name : 'Neo.examples.model.extendedClass'
5
+ name : 'Neo.examples.stateProvider.inline'
6
6
  });
@@ -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>model.Component: extended class</title>
6
+ <title>state.Provider: inline definition</title>
7
7
  </head>
8
8
  <body>
9
9
  <script src="../../../src/MicroLoader.mjs" type="module"></script>
@@ -1,5 +1,5 @@
1
1
  {
2
- "appPath" : "examples/model/extendedClass/app.mjs",
2
+ "appPath" : "examples/stateProvider/inline/app.mjs",
3
3
  "basePath" : "../../../",
4
4
  "environment": "development",
5
5
  "mainPath" : "./Main.mjs",
@@ -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.model.inlineNoModel.MainContainer
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.model.inlineNoModel.MainContainer'
13
+ * @member {String} className='Neo.examples.stateProvider.inlineNoStateProvider.MainContainer'
14
14
  * @protected
15
15
  */
16
- className: 'Neo.examples.model.inlineNoModel.MainContainer',
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 model.Component'
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.model.inlineNoModel.MainContainerController
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.model.inlineNoModel.MainContainerController'
10
+ * @member {String} className='Neo.examples.stateProvider.inlineNoStateProvider.MainContainerController'
11
11
  * @protected
12
12
  */
13
- className: 'Neo.examples.model.inlineNoModel.MainContainerController',
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.
@@ -0,0 +1,6 @@
1
+ import MainContainer from './MainContainer.mjs';
2
+
3
+ export const onStart = () => Neo.app({
4
+ mainView: MainContainer,
5
+ name : 'Neo.examples.stateProvider.inlineNoStateProvider'
6
+ });
@@ -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>model.Component: inline definition</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>
@@ -0,0 +1,7 @@
1
+ {
2
+ "appPath" : "examples/stateProvider/inlineNoStateProvider/app.mjs",
3
+ "basePath" : "../../../",
4
+ "environment": "development",
5
+ "mainPath" : "./Main.mjs",
6
+ "themes" : ["neo-theme-dark"]
7
+ }
@@ -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.model.multiWindow.EditUserDialog
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.model.multiWindow.EditUserDialog'
12
+ * @member {String} className='Neo.examples.stateProvider.multiWindow.EditUserDialog'
13
13
  * @protected
14
14
  */
15
- className: 'Neo.examples.model.multiWindow.EditUserDialog',
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.model.multiWindow.EditUserDialogController
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.model.multiWindow.EditUserDialogController'
10
+ * @member {String} className='Neo.examples.stateProvider.multiWindow.EditUserDialogController'
11
11
  * @protected
12
12
  */
13
- className: 'Neo.examples.model.multiWindow.EditUserDialogController'
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.getModel().setData({
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.getModel().setData({
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.model.multiWindow.MainContainer
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.model.multiWindow.MainContainer'
11
+ * @member {String} className='Neo.examples.stateProvider.multiWindow.MainContainer'
12
12
  * @protected
13
13
  */
14
- className: 'Neo.examples.model.multiWindow.MainContainer',
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.model.multiWindow.MainContainerController
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.model.multiWindow.MainContainerController'
15
+ * @member {String} className='Neo.examples.stateProvider.multiWindow.MainContainerController'
16
16
  * @protected
17
17
  */
18
- className: 'Neo.examples.model.multiWindow.MainContainerController'
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
- model: {
49
- parent: me.getModel()
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.model.multiWindow.Viewport
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.model.multiWindow.Viewport'
11
+ * @member {String} className='Neo.examples.stateProvider.multiWindow.Viewport'
12
12
  * @protected
13
13
  */
14
- className: 'Neo.examples.model.multiWindow.Viewport',
14
+ className: 'Neo.examples.stateProvider.multiWindow.Viewport',
15
15
  /**
16
16
  * @member {Neo.controller.Component} controller=ViewportController
17
17
  */