neo.mjs 8.0.0-alpha.2 → 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 (186) hide show
  1. package/.github/CODING_GUIDELINES.md +5 -5
  2. package/.github/CONCEPT.md +10 -10
  3. package/apps/ServiceWorker.mjs +2 -2
  4. package/apps/colors/view/Viewport.mjs +9 -9
  5. package/apps/colors/view/ViewportController.mjs +13 -13
  6. package/apps/colors/view/{ViewportModel.mjs → ViewportStateProvider.mjs} +8 -8
  7. package/apps/covid/view/MainContainer.mjs +22 -22
  8. package/apps/covid/view/MainContainerController.mjs +8 -10
  9. package/apps/covid/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +7 -7
  10. package/apps/covid/view/TableContainer.mjs +2 -2
  11. package/apps/covid/view/TableContainerController.mjs +1 -1
  12. package/apps/form/view/FormContainerController.mjs +2 -2
  13. package/apps/form/view/SideNavList.mjs +3 -3
  14. package/apps/form/view/Viewport.mjs +7 -7
  15. package/apps/form/view/ViewportController.mjs +4 -4
  16. package/apps/form/view/{ViewportModel.mjs → ViewportStateProvider.mjs} +8 -8
  17. package/apps/portal/index.html +1 -1
  18. package/apps/portal/resources/data/examples_devmode.json +3 -3
  19. package/apps/portal/resources/data/examples_dist_dev.json +3 -3
  20. package/apps/portal/resources/data/examples_dist_prod.json +3 -3
  21. package/apps/portal/view/Viewport.mjs +12 -12
  22. package/apps/portal/view/ViewportController.mjs +2 -2
  23. package/apps/portal/view/ViewportStateProvider.mjs +27 -0
  24. package/apps/portal/view/examples/TabContainer.mjs +11 -11
  25. package/apps/portal/view/home/FooterContainer.mjs +1 -1
  26. package/apps/portal/view/home/parts/MainNeo.mjs +6 -2
  27. package/apps/portal/view/learn/ContentComponent.mjs +2 -2
  28. package/apps/portal/view/learn/ContentTreeList.mjs +1 -1
  29. package/apps/portal/view/learn/MainContainer.mjs +9 -9
  30. package/apps/portal/view/learn/MainContainerController.mjs +12 -12
  31. package/apps/portal/view/learn/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +7 -7
  32. package/apps/portal/view/learn/PageSectionsList.mjs +1 -1
  33. package/apps/realworld/view/article/CreateComponent.mjs +1 -1
  34. package/apps/realworld2/view/HomeContainer.mjs +7 -7
  35. package/apps/sharedcovid/view/GalleryContainer.mjs +2 -2
  36. package/apps/sharedcovid/view/HelixContainer.mjs +2 -2
  37. package/apps/sharedcovid/view/MainContainer.mjs +25 -25
  38. package/apps/sharedcovid/view/MainContainerController.mjs +10 -11
  39. package/apps/sharedcovid/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +8 -8
  40. package/apps/sharedcovid/view/TableContainer.mjs +2 -2
  41. package/apps/sharedcovid/view/TableContainerController.mjs +1 -1
  42. package/apps/sharedcovid/view/mapboxGl/Container.mjs +2 -2
  43. package/buildScripts/createApp.mjs +2 -2
  44. package/buildScripts/createClass.mjs +15 -17
  45. package/buildScripts/createComponent.mjs +4 -4
  46. package/docs/app/view/ContentTabContainer.mjs +1 -1
  47. package/docs/app/view/MainContainer.mjs +3 -3
  48. package/docs/app/view/MainContainerController.mjs +15 -15
  49. package/examples/ServiceWorker.mjs +2 -2
  50. package/examples/component/mwc/buttons/MainContainer.mjs +2 -2
  51. package/examples/component/mwc/textFields/MainContainer.mjs +2 -2
  52. package/examples/fields/MainContainer.mjs +197 -228
  53. package/examples/preloadingAssets/view/MainContainer.mjs +2 -2
  54. package/examples/{model → stateProvider}/advanced/MainContainer.mjs +12 -12
  55. package/examples/{model → stateProvider}/advanced/MainContainerController.mjs +10 -10
  56. package/examples/stateProvider/advanced/app.mjs +6 -0
  57. package/examples/{model/dialog → stateProvider/advanced}/index.html +1 -1
  58. package/examples/{model/inline → stateProvider/advanced}/neo-config.json +1 -1
  59. package/examples/{model → stateProvider}/dialog/EditUserDialog.mjs +3 -3
  60. package/examples/{model → stateProvider}/dialog/EditUserDialogController.mjs +5 -5
  61. package/examples/{model → stateProvider}/dialog/MainContainer.mjs +7 -7
  62. package/examples/{model → stateProvider}/dialog/MainContainerController.mjs +5 -5
  63. package/examples/{model → stateProvider}/dialog/app.mjs +1 -1
  64. package/examples/{model/multiWindow2 → stateProvider/dialog}/index.html +1 -1
  65. package/examples/{model → stateProvider}/dialog/neo-config.json +1 -1
  66. package/examples/{model → stateProvider}/extendedClass/MainContainer.mjs +13 -13
  67. package/examples/{model/inline → stateProvider/extendedClass}/MainContainerController.mjs +7 -7
  68. package/examples/stateProvider/extendedClass/MainContainerStateProvider.mjs +24 -0
  69. package/examples/stateProvider/extendedClass/app.mjs +6 -0
  70. package/examples/stateProvider/extendedClass/index.html +11 -0
  71. package/examples/stateProvider/extendedClass/neo-config.json +7 -0
  72. package/examples/{model → stateProvider}/inline/MainContainer.mjs +10 -10
  73. package/examples/{model/extendedClass → stateProvider/inline}/MainContainerController.mjs +7 -7
  74. package/examples/{model/extendedClass → stateProvider/inline}/app.mjs +1 -1
  75. package/examples/{model/extendedClass → stateProvider/inline}/index.html +1 -1
  76. package/examples/{model/extendedClass → stateProvider/inline}/neo-config.json +1 -1
  77. package/examples/{model/inlineNoModel → stateProvider/inlineNoStateProvider}/MainContainer.mjs +4 -4
  78. package/examples/{model/inlineNoModel → stateProvider/inlineNoStateProvider}/MainContainerController.mjs +3 -3
  79. package/examples/stateProvider/inlineNoStateProvider/README.md +8 -0
  80. package/examples/stateProvider/inlineNoStateProvider/app.mjs +6 -0
  81. package/examples/{model/inline → stateProvider/inlineNoStateProvider}/index.html +1 -1
  82. package/examples/stateProvider/inlineNoStateProvider/neo-config.json +7 -0
  83. package/examples/{model → stateProvider}/multiWindow/EditUserDialog.mjs +3 -3
  84. package/examples/{model → stateProvider}/multiWindow/EditUserDialogController.mjs +5 -5
  85. package/examples/{model → stateProvider}/multiWindow/MainContainer.mjs +3 -3
  86. package/examples/{model → stateProvider}/multiWindow/MainContainerController.mjs +6 -6
  87. package/examples/{model → stateProvider}/multiWindow/Viewport.mjs +3 -3
  88. package/examples/{model → stateProvider}/multiWindow/ViewportController.mjs +14 -14
  89. package/examples/{model/multiWindow2 → stateProvider/multiWindow}/app.mjs +1 -1
  90. package/examples/{model/advanced → stateProvider/multiWindow}/index.html +1 -1
  91. package/examples/{model → stateProvider}/multiWindow/neo-config.json +1 -1
  92. package/examples/{model → stateProvider}/multiWindow2/Viewport.mjs +3 -3
  93. package/examples/{model/multiWindow → stateProvider/multiWindow2}/app.mjs +1 -1
  94. package/examples/{model/multiWindow → stateProvider/multiWindow2}/index.html +1 -1
  95. package/examples/{model → stateProvider}/multiWindow2/neo-config.json +1 -1
  96. package/examples/{model → stateProvider}/nestedData/MainContainer.mjs +9 -9
  97. package/examples/{model → stateProvider}/nestedData/MainContainerController.mjs +7 -7
  98. package/examples/stateProvider/nestedData/app.mjs +6 -0
  99. package/examples/stateProvider/nestedData/index.html +11 -0
  100. package/examples/stateProvider/nestedData/neo-config.json +7 -0
  101. package/examples/{model → stateProvider}/table/MainContainer.mjs +8 -8
  102. package/examples/stateProvider/table/MainContainerStateProvider.mjs +24 -0
  103. package/examples/{model → stateProvider}/table/MainModel.mjs +2 -2
  104. package/examples/{model → stateProvider}/table/MainStore.mjs +2 -2
  105. package/examples/{model/advanced → stateProvider/table}/app.mjs +1 -1
  106. package/examples/{model/advanced → stateProvider/table}/neo-config.json +1 -1
  107. package/examples/{model → stateProvider}/twoWay/MainContainer.mjs +9 -9
  108. package/examples/{model/inline → stateProvider/twoWay}/app.mjs +1 -1
  109. package/examples/stateProvider/twoWay/index.html +11 -0
  110. package/examples/{model → stateProvider}/twoWay/neo-config.json +1 -1
  111. package/examples/tab/container/MainContainer.mjs +7 -9
  112. package/examples/table/nestedRecordFields/EditUserDialog.mjs +3 -3
  113. package/examples/table/nestedRecordFields/MainContainer.mjs +8 -8
  114. package/examples/table/nestedRecordFields/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +10 -10
  115. package/examples/tabs/MainContainer.mjs +3 -3
  116. package/examples/tabs/MainContainer2.mjs +4 -4
  117. package/examples/toolbar/paging/view/MainContainer.mjs +7 -7
  118. package/examples/toolbar/paging/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +8 -8
  119. package/examples/treeAccordion/MainContainer.mjs +2 -2
  120. package/examples/videoMove/MainContainer.mjs +14 -7
  121. package/examples/viewport/MainContainer.mjs +3 -3
  122. package/package.json +6 -6
  123. package/resources/data/deck/learnneo/pages/benefits/FormsEngine.md +13 -13
  124. package/resources/data/deck/learnneo/pages/guides/{ViewModels.md → StateProviders.md} +52 -58
  125. package/resources/data/deck/learnneo/tree.json +46 -46
  126. package/resources/data/deck/training/pages/2022-12-27T21-55-23-144Z.md +2 -2
  127. package/resources/data/deck/training/pages/2022-12-28T17-11-34-653Z.md +6 -6
  128. package/resources/data/deck/training/pages/2022-12-29T18-36-08-226Z.md +2 -2
  129. package/resources/data/deck/training/pages/2022-12-29T18-36-56-893Z.md +2 -2
  130. package/resources/data/deck/training/pages/2022-12-29T20-37-08-919Z.md +2 -2
  131. package/resources/data/deck/training/pages/2022-12-29T20-37-20-344Z.md +2 -2
  132. package/resources/data/deck/training/pages/2023-01-01T21-11-58-025Z.md +3 -3
  133. package/resources/data/deck/training/pages/2023-01-16T20-24-09-690Z.md +4 -4
  134. package/resources/data/deck/training/pages/2023-02-05T17-44-53-815Z.md +3 -3
  135. package/resources/data/deck/training/pages/2023-02-05T17-45-40-114Z.md +1 -1
  136. package/src/DefaultConfig.mjs +2 -2
  137. package/src/button/Base.mjs +7 -7
  138. package/src/calendar/view/EditEventContainer.mjs +3 -3
  139. package/src/calendar/view/MainContainer.mjs +27 -27
  140. package/src/calendar/view/{MainContainerModel.mjs → MainContainerStateProvider.mjs} +7 -7
  141. package/src/calendar/view/SettingsContainer.mjs +13 -28
  142. package/src/calendar/view/YearComponent.mjs +5 -5
  143. package/src/calendar/view/calendars/ColorsList.mjs +5 -0
  144. package/src/calendar/view/calendars/EditContainer.mjs +1 -1
  145. package/src/calendar/view/calendars/List.mjs +1 -1
  146. package/src/calendar/view/month/Component.mjs +6 -6
  147. package/src/calendar/view/settings/GeneralContainer.mjs +2 -2
  148. package/src/calendar/view/week/Component.mjs +10 -10
  149. package/src/calendar/view/week/EventDragZone.mjs +1 -1
  150. package/src/code/LivePreview.mjs +10 -10
  151. package/src/component/Base.mjs +123 -105
  152. package/src/container/Base.mjs +4 -4
  153. package/src/controller/Component.mjs +29 -12
  154. package/src/core/Base.mjs +0 -1
  155. package/src/core/Compare.mjs +128 -83
  156. package/src/date/SelectorContainer.mjs +12 -12
  157. package/src/date/{SelectorContainerModel.mjs → SelectorContainerStateProvider.mjs} +7 -7
  158. package/src/form/field/Text.mjs +1 -1
  159. package/src/form/field/Time.mjs +5 -3
  160. package/src/form/field/trigger/Time.mjs +2 -1
  161. package/src/layout/Base.mjs +6 -6
  162. package/src/list/Base.mjs +7 -1
  163. package/src/list/Color.mjs +3 -3
  164. package/src/main/DomEvents.mjs +1 -1
  165. package/src/main/DomUtils.mjs +39 -36
  166. package/src/{model/Component.mjs → state/Provider.mjs} +67 -69
  167. package/src/tab/Container.mjs +3 -5
  168. package/src/toolbar/Base.mjs +26 -8
  169. package/src/tree/Accordion.mjs +15 -13
  170. package/src/util/VNode.mjs +6 -8
  171. package/src/worker/App.mjs +2 -2
  172. package/apps/portal/view/ViewportModel.mjs +0 -27
  173. package/examples/model/extendedClass/MainContainerModel.mjs +0 -24
  174. package/examples/model/inlineNoModel/README.md +0 -8
  175. package/examples/model/inlineNoModel/app.mjs +0 -6
  176. package/examples/model/inlineNoModel/index.html +0 -11
  177. package/examples/model/inlineNoModel/neo-config.json +0 -7
  178. package/examples/model/nestedData/app.mjs +0 -6
  179. package/examples/model/nestedData/index.html +0 -11
  180. package/examples/model/nestedData/neo-config.json +0 -7
  181. package/examples/model/table/MainContainerModel.mjs +0 -24
  182. package/examples/model/table/app.mjs +0 -6
  183. package/examples/model/table/neo-config.json +0 -7
  184. package/examples/model/twoWay/app.mjs +0 -6
  185. package/examples/model/twoWay/index.html +0 -11
  186. /package/examples/{model → stateProvider}/table/index.html +0 -0
@@ -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
  */
@@ -1,9 +1,9 @@
1
1
  import ComponentController from '../../../src/controller/Component.mjs';
2
- import ComponentModel from '../../../src/model/Component.mjs';
3
2
  import NeoArray from '../../../src/util/Array.mjs';
3
+ import StateProvider from '../../../src/state/Provider.mjs';
4
4
 
5
5
  /**
6
- * @class Neo.examples.model.multiWindow.ViewportController
6
+ * @class Neo.examples.stateProvider.multiWindow.ViewportController
7
7
  * @extends Neo.controller.Component
8
8
  */
9
9
  class MainContainerController extends ComponentController {
@@ -12,16 +12,16 @@ class MainContainerController extends ComponentController {
12
12
  */
13
13
  connectedApps = []
14
14
  /**
15
- * @member {Neo.model.Component|null} mainModel=null
15
+ * @member {Neo.state.Provider|null} mainStateProvider=null
16
16
  */
17
- mainModel = null
17
+ mainStateProvider = null
18
18
 
19
19
  static config = {
20
20
  /**
21
- * @member {String} className='Neo.examples.model.multiWindow.ViewportController'
21
+ * @member {String} className='Neo.examples.stateProvider.multiWindow.ViewportController'
22
22
  * @protected
23
23
  */
24
- className: 'Neo.examples.model.multiWindow.ViewportController'
24
+ className: 'Neo.examples.stateProvider.multiWindow.ViewportController'
25
25
  }
26
26
 
27
27
  /**
@@ -46,14 +46,14 @@ class MainContainerController extends ComponentController {
46
46
  onAppConnect(data) {
47
47
  let me = this,
48
48
  name = data.appName,
49
- model, view;
49
+ stateProvider, view;
50
50
 
51
51
  console.log('onAppConnect', data);
52
52
 
53
53
  NeoArray.add(me.connectedApps, name);
54
54
 
55
- if (!me.mainModel) {
56
- model = {
55
+ if (!me.mainStateProvider) {
56
+ stateProvider = {
57
57
  data: {
58
58
  user: {
59
59
  firstname: 'Tobias',
@@ -62,19 +62,19 @@ class MainContainerController extends ComponentController {
62
62
  }
63
63
  };
64
64
  } else {
65
- model = {
66
- parent: me.mainModel
65
+ stateProvider = {
66
+ parent: me.mainStateProvider
67
67
  };
68
68
  }
69
69
 
70
70
  import('../multiWindow/MainContainer.mjs').then(module => {
71
71
  view = Neo.apps[name].mainView.add({
72
72
  module: module.default,
73
- model : model
73
+ stateProvider
74
74
  });
75
75
 
76
- if (!me.mainModel) {
77
- me.mainModel = view.model
76
+ if (!me.mainStateProvider) {
77
+ me.mainStateProvider = view.stateProvider
78
78
  }
79
79
  })
80
80
  }
@@ -2,5 +2,5 @@ import Viewport from './Viewport.mjs';
2
2
 
3
3
  export const onStart = () => Neo.app({
4
4
  mainView: Viewport,
5
- name : 'Neo.examples.model.multiWindow2'
5
+ name : 'Neo.examples.stateProvider.multiWindow'
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: advanced</title>
6
+ <title>stateProvider.multiWindow</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/multiWindow/app.mjs",
2
+ "appPath" : "examples/stateProvider/multiWindow/app.mjs",
3
3
  "basePath" : "../../../",
4
4
  "environment" : "development",
5
5
  "mainPath" : "./Main.mjs",
@@ -1,16 +1,16 @@
1
1
  import BaseViewport from '../../../src/container/Viewport.mjs';
2
2
 
3
3
  /**
4
- * @class Neo.examples.model.multiWindow2.Viewport
4
+ * @class Neo.examples.stateProvider.multiWindow2.Viewport
5
5
  * @extends Neo.container.Viewport
6
6
  */
7
7
  class Viewport extends BaseViewport {
8
8
  static config = {
9
9
  /**
10
- * @member {String} className='Neo.examples.model.multiWindow2.Viewport'
10
+ * @member {String} className='Neo.examples.stateProvider.multiWindow2.Viewport'
11
11
  * @protected
12
12
  */
13
- className: 'Neo.examples.model.multiWindow2.Viewport',
13
+ className: 'Neo.examples.stateProvider.multiWindow2.Viewport',
14
14
  /**
15
15
  * @member {Object} style
16
16
  */
@@ -2,5 +2,5 @@ import Viewport from './Viewport.mjs';
2
2
 
3
3
  export const onStart = () => Neo.app({
4
4
  mainView: Viewport,
5
- name : 'Neo.examples.model.multiWindow'
5
+ name : 'Neo.examples.stateProvider.multiWindow2'
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.multiWindow</title>
6
+ <title>stateProvider.multiWindow2</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/multiWindow2/app.mjs",
2
+ "appPath" : "examples/stateProvider/multiWindow2/app.mjs",
3
3
  "basePath" : "../../../",
4
4
  "environment" : "development",
5
5
  "mainPath" : "./Main.mjs",
@@ -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 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.nestedData.MainContainer
8
+ * @class Neo.examples.stateProvider.nestedData.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.nestedData.MainContainer'
14
+ * @member {String} className='Neo.examples.stateProvider.nestedData.MainContainer'
15
15
  * @protected
16
16
  */
17
- className: 'Neo.examples.model.nestedData.MainContainer',
17
+ className: 'Neo.examples.stateProvider.nestedData.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: {
25
+ stateProvider: {
26
26
  data: {
27
27
  user: {
28
28
  details: {
@@ -59,7 +59,7 @@ class MainContainer extends Viewport {
59
59
  dock : 'top',
60
60
  items: [{
61
61
  ntype: 'label',
62
- text : 'model.Component: nested data'
62
+ text : 'state.Provider: nested data'
63
63
  }, {
64
64
  ntype: 'component',
65
65
  flex : 1
@@ -111,9 +111,9 @@ class MainContainer extends Viewport {
111
111
  }
112
112
  }, {
113
113
  ntype : 'button',
114
- handler: 'onLogModelIntoConsoleButtonClick',
114
+ handler: 'onLogStateProviderIntoConsoleButtonClick',
115
115
  style : {marginTop: '2em'},
116
- text : 'Log model into console'
116
+ text : 'Log stateProvider into console'
117
117
  }]
118
118
  }]
119
119
  }
@@ -1,16 +1,16 @@
1
1
  import Controller from '../../../src/controller/Component.mjs';
2
2
 
3
3
  /**
4
- * @class Neo.examples.model.nestedData.MainContainerController
4
+ * @class Neo.examples.stateProvider.nestedData.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.nestedData.MainContainerController'
10
+ * @member {String} className='Neo.examples.stateProvider.nestedData.MainContainerController'
11
11
  * @protected
12
12
  */
13
- className: 'Neo.examples.model.nestedData.MainContainerController'
13
+ className: 'Neo.examples.stateProvider.nestedData.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.user.details.firstname = value
59
+ this.getStateProvider().data.user.details.firstname = 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
  'user.details.lastname': value
68
68
  })
69
69
  }
@@ -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.nestedData'
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: nested data</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/nestedData/app.mjs",
3
+ "basePath" : "../../../",
4
+ "environment": "development",
5
+ "mainPath" : "./Main.mjs",
6
+ "themes" : ["neo-theme-dark"]
7
+ }
@@ -1,26 +1,26 @@
1
- import MainContainerModel from './MainContainerModel.mjs';
2
- import TableContainer from '../../../src/table/Container.mjs';
3
- import Viewport from '../../../src/container/Viewport.mjs';
1
+ import MainContainerStateProvider from './MainContainerStateProvider.mjs';
2
+ import TableContainer from '../../../src/table/Container.mjs';
3
+ import Viewport from '../../../src/container/Viewport.mjs';
4
4
 
5
5
  /**
6
- * @class Neo.examples.model.table.MainContainer
6
+ * @class Neo.examples.stateProvider.table.MainContainer
7
7
  * @extends Neo.container.Viewport
8
8
  */
9
9
  class MainContainer extends Viewport {
10
10
  static config = {
11
11
  /**
12
- * @member {String} className='Neo.examples.model.table.MainContainer'
12
+ * @member {String} className='Neo.examples.stateProvider.table.MainContainer'
13
13
  * @protected
14
14
  */
15
- className: 'Neo.examples.model.table.MainContainer',
15
+ className: 'Neo.examples.stateProvider.table.MainContainer',
16
16
  /**
17
17
  * @member {Object} layout
18
18
  */
19
19
  layout: {ntype: 'fit'},
20
20
  /**
21
- * @member {Object|Neo.model.Component} model=MainContainerModel
21
+ * @member {Object|Neo.state.Provider} stateProvider=MainContainerStateProvider
22
22
  */
23
- model: MainContainerModel,
23
+ stateProvider: MainContainerStateProvider,
24
24
  /**
25
25
  * @member {Object} style
26
26
  */
@@ -0,0 +1,24 @@
1
+ import MainStore from './MainStore.mjs';
2
+ import StateProvider from '../../../src/state/Provider.mjs';
3
+
4
+ /**
5
+ * @class Neo.examples.stateProvider.table.MainContainerStateProvider
6
+ * @extends Neo.state.Provider
7
+ */
8
+ class MainContainerStateProvider extends StateProvider {
9
+ static config = {
10
+ /**
11
+ * @member {String} className='Neo.examples.stateProvider.table.MainContainerStateProvider'
12
+ * @protected
13
+ */
14
+ className: 'Neo.examples.stateProvider.table.MainContainerStateProvider',
15
+ /**
16
+ * @member {Object} stores
17
+ */
18
+ stores: {
19
+ main: MainStore
20
+ }
21
+ }
22
+ }
23
+
24
+ export default Neo.setupClass(MainContainerStateProvider);
@@ -1,12 +1,12 @@
1
1
  import Model from '../../../src/data/Model.mjs';
2
2
 
3
3
  /**
4
- * @class Neo.examples.model.table.MainModel
4
+ * @class Neo.examples.stateProvider.table.MainModel
5
5
  * @extends Neo.data.Model
6
6
  */
7
7
  class MainModel extends Model {
8
8
  static config = {
9
- className: 'Neo.examples.model.table.MainModel',
9
+ className: 'Neo.examples.stateProvider.table.MainModel',
10
10
 
11
11
  fields: [{
12
12
  name: 'country',
@@ -2,12 +2,12 @@ import Model from './MainModel.mjs';
2
2
  import Store from '../../../src/data/Store.mjs';
3
3
 
4
4
  /**
5
- * @class Neo.examples.model.table.MainStore
5
+ * @class Neo.examples.stateProvider.table.MainStore
6
6
  * @extends Neo.data.Store
7
7
  */
8
8
  class MainStore extends Store {
9
9
  static config = {
10
- className : 'Neo.examples.model.table.MainStore',
10
+ className : 'Neo.examples.stateProvider.table.MainStore',
11
11
  keyProperty: 'githubId',
12
12
  model : Model,
13
13
 
@@ -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.advanced'
5
+ name : 'Neo.examples.stateProvider.table'
6
6
  });
@@ -1,5 +1,5 @@
1
1
  {
2
- "appPath" : "examples/model/advanced/app.mjs",
2
+ "appPath" : "examples/stateProvider/table/app.mjs",
3
3
  "basePath" : "../../../",
4
4
  "environment": "development",
5
5
  "mainPath" : "./Main.mjs",
@@ -1,23 +1,23 @@
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';
1
+ import Label from '../../../src/component/Label.mjs';
2
+ import StateProvider from '../../../src/state/Provider.mjs';
3
+ import TextField from '../../../src/form/field/Text.mjs';
4
+ import Viewport from '../../../src/container/Viewport.mjs';
5
5
 
6
6
  /**
7
- * @class Neo.examples.model.twoWay.MainContainer
7
+ * @class Neo.examples.stateProvider.twoWay.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.twoWay.MainContainer'
13
+ * @member {String} className='Neo.examples.stateProvider.twoWay.MainContainer'
14
14
  * @protected
15
15
  */
16
- className: 'Neo.examples.model.twoWay.MainContainer',
16
+ className: 'Neo.examples.stateProvider.twoWay.MainContainer',
17
17
  /**
18
- * @member {Object|Neo.model.Component} model
18
+ * @member {Object|Neo.state.Provider} stateProvider
19
19
  */
20
- model: {
20
+ stateProvider: {
21
21
  data: {
22
22
  user: {
23
23
  details: {
@@ -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.inline'
5
+ name : 'Neo.examples.stateProvider.twoWay'
6
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: 2 way binding</title>
7
+ </head>
8
+ <body>
9
+ <script src="../../../src/MicroLoader.mjs" type="module"></script>
10
+ </body>
11
+ </html>
@@ -1,5 +1,5 @@
1
1
  {
2
- "appPath" : "examples/model/twoWay/app.mjs",
2
+ "appPath" : "examples/stateProvider/twoWay/app.mjs",
3
3
  "basePath" : "../../../",
4
4
  "environment": "development",
5
5
  "mainPath" : "./Main.mjs"
@@ -174,20 +174,18 @@ class MainContainer extends ConfigurationViewport {
174
174
  itemDefaults: {
175
175
  ntype: 'component',
176
176
  cls : ['neo-examples-tab-component'],
177
- style: {
178
- padding: '20px'
179
- }
177
+ style: {padding: '20px'}
180
178
  },
181
179
 
182
180
  items: [{
183
- tabButtonConfig: {iconCls: 'fa fa-home', text: 'Tab 1', flag: 'tab1',},
184
- vdom : {innerHTML: 'Tab 1 Content'}
181
+ header: {iconCls: 'fa fa-home', text: 'Tab 1', flag: 'tab1',},
182
+ vdom : {innerHTML: 'Tab 1 Content'}
185
183
  }, {
186
- tabButtonConfig: {iconCls: 'fa fa-play-circle', text: 'Tab 2'},
187
- vdom : {innerHTML: 'Tab 2 Content'}
184
+ header: {iconCls: 'fa fa-play-circle', text: 'Tab 2'},
185
+ vdom : {innerHTML: 'Tab 2 Content'}
188
186
  }, {
189
- tabButtonConfig: {iconCls: 'fa fa-user', text: 'Tab 3', badgeText: 'hello'},
190
- vdom : {innerHTML: 'Tab 3 Content'}
187
+ header: {iconCls: 'fa fa-user', text: 'Tab 3', badgeText: 'hello'},
188
+ vdom : {innerHTML: 'Tab 3 Content'}
191
189
  }],
192
190
 
193
191
  listeners: {
@@ -10,10 +10,10 @@ import TextField from '../../../src/form/field/Text.mjs';
10
10
  class EditUserDialog extends Dialog {
11
11
  static config = {
12
12
  /**
13
- * @member {String} className='Neo.examples.model.dialog.EditUserDialog'
13
+ * @member {String} className='Neo.examples.table.nestedRecordFields.EditUserDialog'
14
14
  * @protected
15
15
  */
16
- className: 'Neo.examples.model.dialog.EditUserDialog',
16
+ className: 'Neo.examples.table.nestedRecordFields.EditUserDialog',
17
17
  /**
18
18
  * @member {String} closeAction='hide'
19
19
  */
@@ -121,7 +121,7 @@ class EditUserDialog extends Dialog {
121
121
  */
122
122
  onSelectedFieldChange(data) {
123
123
  let me = this,
124
- store = me.getModel().getStore('mainStore');
124
+ store = me.getStateProvider().getStore('mainStore');
125
125
 
126
126
  if (data.value === false) {
127
127
  me.record.annotations.selected = false
@@ -1,7 +1,7 @@
1
- import Button from '../../../src/button/Base.mjs';
2
- import MainContainerModel from './MainContainerModel.mjs';
3
- import TableContainer from '../../../src/table/Container.mjs';
4
- import Viewport from '../../../src/container/Viewport.mjs';
1
+ import Button from '../../../src/button/Base.mjs';
2
+ import MainContainerStateProvider from './MainContainerStateProvider.mjs';
3
+ import TableContainer from '../../../src/table/Container.mjs';
4
+ import Viewport from '../../../src/container/Viewport.mjs';
5
5
 
6
6
  /**
7
7
  * @class Neo.examples.table.nestedRecordFields.MainContainer
@@ -19,9 +19,9 @@ class MainContainer extends Viewport {
19
19
  */
20
20
  layout: 'fit',
21
21
  /**
22
- * @member {Neo.model.Component} model=MainContainerModel
22
+ * @member {Neo.state.Provider} stateProvider=MainContainerStateProvider
23
23
  */
24
- model: MainContainerModel,
24
+ stateProvider: MainContainerStateProvider,
25
25
  /**
26
26
  * @member {Object} style={padding:'20px'}
27
27
  */
@@ -52,7 +52,7 @@ class MainContainer extends Viewport {
52
52
  * @param {Object} data
53
53
  */
54
54
  countryRenderer({record}) {
55
- let countryStore = this.getModel().getStore('countries');
55
+ let countryStore = this.getStateProvider().getStore('countries');
56
56
 
57
57
  if (countryStore.getCount() > 0) {
58
58
  return countryStore.get(record.country).name
@@ -76,7 +76,7 @@ class MainContainer extends Viewport {
76
76
  module : module.default,
77
77
  animateTargetId: button.id,
78
78
  appName,
79
- model : {parent: me.getModel()},
79
+ stateProvider : {parent: me.getStateProvider()},
80
80
  record,
81
81
  windowId
82
82
  })
@@ -1,20 +1,20 @@
1
- import MainStore from './MainStore.mjs';
2
- import Model from '../../../src/model/Component.mjs';
3
- import Store from '../../../src/data/Store.mjs';
1
+ import MainStore from './MainStore.mjs';
2
+ import StateProvider from '../../../src/state/Provider.mjs';
3
+ import Store from '../../../src/data/Store.mjs';
4
4
 
5
5
  const countrySymbol = Symbol.for('country');
6
6
 
7
7
  /**
8
- * @class Neo.examples.table.nestedRecordFields.MainContainerModel
9
- * @extends Neo.model.Component
8
+ * @class Neo.examples.table.nestedRecordFields.MainContainerStateProvider
9
+ * @extends Neo.state.Provider
10
10
  */
11
- class MainContainerModel extends Model {
11
+ class MainContainerStateProvider extends StateProvider {
12
12
  static config = {
13
13
  /**
14
- * @member {String} className='Neo.examples.table.nestedRecordFields.MainContainerModel'
14
+ * @member {String} className='Neo.examples.table.nestedRecordFields.MainContainerStateProvider'
15
15
  * @protected
16
16
  */
17
- className: 'Neo.examples.table.nestedRecordFields.MainContainerModel',
17
+ className: 'Neo.examples.table.nestedRecordFields.MainContainerStateProvider',
18
18
  /**
19
19
  * @member {Object} stores
20
20
  */
@@ -30,7 +30,7 @@ class MainContainerModel extends Model {
30
30
  fields: [
31
31
  {name: 'code'},
32
32
  {name: 'name'}
33
- ]},
33
+ ]}
34
34
  },
35
35
  mainStore: MainStore
36
36
  }
@@ -58,4 +58,4 @@ class MainContainerModel extends Model {
58
58
  }
59
59
  }
60
60
 
61
- export default Neo.setupClass(MainContainerModel);
61
+ export default Neo.setupClass(MainContainerStateProvider);
@@ -142,12 +142,12 @@ class MainContainer extends TabContainer {
142
142
  }]
143
143
  }],
144
144
 
145
- tabButtonConfig: {
145
+ header: {
146
146
  iconCls: 'fa fa-home',
147
147
  text : 'Tab 1'
148
148
  }
149
149
  }, {
150
- tabButtonConfig: {
150
+ header: {
151
151
  iconCls: 'fa fa-play-circle',
152
152
  text : 'Tab 2'
153
153
  },
@@ -155,7 +155,7 @@ class MainContainer extends TabContainer {
155
155
  innerHTML: 'Test 2'
156
156
  }
157
157
  }, {
158
- tabButtonConfig: {
158
+ header: {
159
159
  iconCls: 'fa fa-user',
160
160
  text : 'Tab 3'
161
161
  },