neo.mjs 10.0.0-beta.4 → 10.0.0-beta.6

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 (485) hide show
  1. package/.github/RELEASE_NOTES/v10.0.0-beta.4.md +2 -2
  2. package/.github/RELEASE_NOTES/v10.0.0-beta.5.md +70 -0
  3. package/.github/RELEASE_NOTES/v10.0.0-beta.6.md +48 -0
  4. package/.github/epic-functional-components.md +498 -0
  5. package/.github/ticket-asymmetric-vdom-updates.md +122 -0
  6. package/README.md +0 -3
  7. package/ServiceWorker.mjs +2 -2
  8. package/apps/colors/store/Colors.mjs +1 -0
  9. package/apps/colors/view/GridContainer.mjs +3 -0
  10. package/apps/colors/view/HeaderToolbar.mjs +2 -0
  11. package/apps/colors/view/Viewport.mjs +3 -0
  12. package/apps/covid/view/FooterContainer.mjs +3 -0
  13. package/apps/covid/view/GalleryContainer.mjs +2 -0
  14. package/apps/covid/view/GalleryContainerController.mjs +1 -0
  15. package/apps/covid/view/HeaderContainer.mjs +2 -0
  16. package/apps/covid/view/HelixContainer.mjs +2 -0
  17. package/apps/covid/view/HelixContainerController.mjs +1 -0
  18. package/apps/covid/view/MainContainer.mjs +3 -0
  19. package/apps/covid/view/TableContainer.mjs +3 -0
  20. package/apps/covid/view/TableContainerController.mjs +1 -0
  21. package/apps/covid/view/WorldMapContainer.mjs +2 -0
  22. package/apps/covid/view/country/Gallery.mjs +3 -0
  23. package/apps/covid/view/country/Helix.mjs +8 -0
  24. package/apps/covid/view/country/HistoricalDataTable.mjs +1 -0
  25. package/apps/covid/view/country/Table.mjs +2 -0
  26. package/apps/covid/view/mapboxGl/Component.mjs +1 -0
  27. package/apps/covid/view/mapboxGl/Container.mjs +2 -0
  28. package/apps/email/EPIC_PLAN.md +58 -0
  29. package/apps/email/neo-config.json +2 -2
  30. package/apps/email/store/Emails.mjs +11 -1
  31. package/apps/email/view/ComposeView.mjs +44 -0
  32. package/apps/email/view/MainView.mjs +89 -0
  33. package/apps/email/view/Viewport.mjs +4 -33
  34. package/apps/email/view/ViewportStateProvider.mjs +3 -3
  35. package/apps/form/store/SideNav.mjs +1 -0
  36. package/apps/form/view/FormContainer.mjs +1 -0
  37. package/apps/form/view/FormPageContainer.mjs +2 -0
  38. package/apps/form/view/SideNavList.mjs +1 -0
  39. package/apps/form/view/Viewport.mjs +3 -0
  40. package/apps/portal/childapps/preview/MainContainer.mjs +1 -0
  41. package/apps/portal/index.html +1 -1
  42. package/apps/portal/store/BlogPosts.mjs +2 -0
  43. package/apps/portal/store/Content.mjs +1 -0
  44. package/apps/portal/store/ContentSections.mjs +1 -0
  45. package/apps/portal/store/Examples.mjs +1 -0
  46. package/apps/portal/view/HeaderToolbar.mjs +1 -0
  47. package/apps/portal/view/Viewport.mjs +5 -0
  48. package/apps/portal/view/ViewportController.mjs +8 -2
  49. package/apps/portal/view/about/Container.mjs +2 -0
  50. package/apps/portal/view/about/MemberContainer.mjs +7 -0
  51. package/apps/portal/view/blog/Container.mjs +2 -0
  52. package/apps/portal/view/blog/List.mjs +2 -0
  53. package/apps/portal/view/examples/List.mjs +1 -0
  54. package/apps/portal/view/examples/TabContainer.mjs +4 -0
  55. package/apps/portal/view/home/ContentBox.mjs +3 -0
  56. package/apps/portal/view/home/FeatureSection.mjs +8 -0
  57. package/apps/portal/view/home/FooterContainer.mjs +4 -1
  58. package/apps/portal/view/home/MainContainer.mjs +2 -0
  59. package/apps/portal/view/home/parts/AfterMath.mjs +2 -0
  60. package/apps/portal/view/home/parts/BaseContainer.mjs +1 -0
  61. package/apps/portal/view/home/parts/Colors.mjs +4 -0
  62. package/apps/portal/view/home/parts/Features.mjs +2 -0
  63. package/apps/portal/view/home/parts/Helix.mjs +5 -0
  64. package/apps/portal/view/home/parts/How.mjs +4 -0
  65. package/apps/portal/view/home/parts/MainNeo.mjs +1 -0
  66. package/apps/portal/view/home/parts/References.mjs +2 -0
  67. package/apps/portal/view/learn/ContentComponent.mjs +11 -5
  68. package/apps/portal/view/learn/ContentTreeList.mjs +2 -0
  69. package/apps/portal/view/learn/CubeLayoutButton.mjs +1 -0
  70. package/apps/portal/view/learn/MainContainer.mjs +4 -0
  71. package/apps/portal/view/learn/PageContainer.mjs +2 -0
  72. package/apps/portal/view/learn/PageSectionsContainer.mjs +3 -0
  73. package/apps/portal/view/learn/PageSectionsList.mjs +1 -0
  74. package/apps/portal/view/services/Component.mjs +1 -0
  75. package/apps/realworld/api/Base.mjs +1 -0
  76. package/apps/realworld/view/HeaderComponent.mjs +4 -0
  77. package/apps/realworld/view/HomeComponent.mjs +7 -0
  78. package/apps/realworld/view/MainContainer.mjs +2 -0
  79. package/apps/realworld/view/MainContainerController.mjs +2 -0
  80. package/apps/realworld/view/article/CommentComponent.mjs +3 -0
  81. package/apps/realworld/view/article/Component.mjs +17 -10
  82. package/apps/realworld/view/article/CreateCommentComponent.mjs +2 -0
  83. package/apps/realworld/view/article/CreateComponent.mjs +5 -0
  84. package/apps/realworld/view/article/PreviewComponent.mjs +9 -0
  85. package/apps/realworld/view/article/TagListComponent.mjs +2 -0
  86. package/apps/realworld/view/user/ProfileComponent.mjs +7 -0
  87. package/apps/realworld/view/user/SettingsComponent.mjs +5 -0
  88. package/apps/realworld/view/user/SignUpComponent.mjs +3 -0
  89. package/apps/realworld2/api/Base.mjs +1 -0
  90. package/apps/realworld2/view/FooterComponent.mjs +1 -0
  91. package/apps/realworld2/view/HeaderToolbar.mjs +3 -0
  92. package/apps/realworld2/view/HomeContainer.mjs +1 -0
  93. package/apps/realworld2/view/MainContainer.mjs +2 -0
  94. package/apps/realworld2/view/MainContainerController.mjs +1 -0
  95. package/apps/realworld2/view/article/Helix.mjs +1 -0
  96. package/apps/realworld2/view/article/PreviewComponent.mjs +9 -0
  97. package/apps/realworld2/view/article/PreviewList.mjs +1 -0
  98. package/apps/realworld2/view/article/TagListComponent.mjs +2 -0
  99. package/apps/route/view/CenterContainer.mjs +1 -0
  100. package/apps/route/view/MainView.mjs +1 -0
  101. package/apps/sharedcovid/childapps/sharedcovidchart/MainContainer.mjs +1 -0
  102. package/apps/sharedcovid/childapps/sharedcovidgallery/MainContainer.mjs +1 -0
  103. package/apps/sharedcovid/childapps/sharedcovidhelix/MainContainer.mjs +1 -0
  104. package/apps/sharedcovid/childapps/sharedcovidmap/MainContainer.mjs +1 -0
  105. package/apps/sharedcovid/view/FooterContainer.mjs +3 -0
  106. package/apps/sharedcovid/view/GalleryContainer.mjs +2 -0
  107. package/apps/sharedcovid/view/GalleryContainerController.mjs +1 -0
  108. package/apps/sharedcovid/view/HeaderContainer.mjs +2 -0
  109. package/apps/sharedcovid/view/HelixContainer.mjs +2 -0
  110. package/apps/sharedcovid/view/HelixContainerController.mjs +1 -0
  111. package/apps/sharedcovid/view/MainContainer.mjs +3 -0
  112. package/apps/sharedcovid/view/TableContainer.mjs +3 -0
  113. package/apps/sharedcovid/view/TableContainerController.mjs +1 -0
  114. package/apps/sharedcovid/view/WorldMapContainer.mjs +2 -0
  115. package/apps/sharedcovid/view/country/Gallery.mjs +3 -0
  116. package/apps/sharedcovid/view/country/Helix.mjs +8 -0
  117. package/apps/sharedcovid/view/country/HistoricalDataTable.mjs +1 -0
  118. package/apps/sharedcovid/view/country/Table.mjs +2 -0
  119. package/apps/sharedcovid/view/mapboxGl/Component.mjs +1 -0
  120. package/apps/sharedcovid/view/mapboxGl/Container.mjs +2 -0
  121. package/apps/shareddialog/childapps/shareddialog2/view/MainContainer.mjs +2 -0
  122. package/apps/shareddialog/view/DemoDialog.mjs +2 -0
  123. package/apps/shareddialog/view/MainContainer.mjs +2 -0
  124. package/apps/shareddialog/view/MainContainerController.mjs +1 -0
  125. package/buildScripts/addReactiveTags.mjs +191 -0
  126. package/buildScripts/checkReactiveTags.mjs +160 -0
  127. package/docs/app/store/Api.mjs +1 -0
  128. package/docs/app/store/Examples.mjs +1 -0
  129. package/docs/app/view/ApiTreeList.mjs +1 -0
  130. package/docs/app/view/ContentTabContainer.mjs +2 -0
  131. package/docs/app/view/ExamplesTreeList.mjs +2 -0
  132. package/docs/app/view/HeaderContainer.mjs +3 -0
  133. package/docs/app/view/MainContainer.mjs +5 -0
  134. package/docs/app/view/classdetails/HeaderComponent.mjs +1 -0
  135. package/docs/app/view/classdetails/MainContainer.mjs +3 -0
  136. package/docs/app/view/classdetails/MembersList.mjs +5 -0
  137. package/docs/app/view/classdetails/SourceViewComponent.mjs +2 -0
  138. package/examples/ConfigurationViewport.mjs +14 -8
  139. package/examples/button/effect/MainContainer.mjs +207 -0
  140. package/examples/button/effect/app.mjs +6 -0
  141. package/examples/button/effect/index.html +11 -0
  142. package/examples/button/effect/neo-config.json +6 -0
  143. package/examples/calendar/weekview/MainContainer.mjs +4 -0
  144. package/examples/component/coronaGallery/CountryGallery.mjs +2 -0
  145. package/examples/component/coronaGallery/CountryStore.mjs +1 -0
  146. package/examples/component/coronaGallery/Viewport.mjs +3 -0
  147. package/examples/component/coronaGallery/ViewportController.mjs +1 -0
  148. package/examples/component/coronaHelix/CountryHelix.mjs +7 -0
  149. package/examples/component/coronaHelix/MainContainer.mjs +1 -0
  150. package/examples/component/gallery/ImageStore.mjs +1 -0
  151. package/examples/component/helix/ImageStore.mjs +1 -0
  152. package/examples/component/helix/Viewport.mjs +3 -0
  153. package/examples/component/helix/ViewportController.mjs +1 -0
  154. package/examples/component/multiWindowCoronaGallery/childapp/Viewport.mjs +1 -0
  155. package/examples/component/multiWindowHelix/childapp/Viewport.mjs +1 -0
  156. package/examples/component/wrapper/googleMaps/MapComponent.mjs +2 -0
  157. package/examples/core/config/MainContainer.mjs +2 -0
  158. package/examples/dialog/DemoDialog.mjs +2 -0
  159. package/examples/dialog/MainContainer.mjs +1 -0
  160. package/examples/form/field/color/MainStore.mjs +1 -0
  161. package/examples/functional/defineComponent/Component.mjs +18 -0
  162. package/examples/functional/defineComponent/MainContainer.mjs +41 -0
  163. package/examples/functional/defineComponent/app.mjs +6 -0
  164. package/examples/functional/defineComponent/index.html +11 -0
  165. package/examples/functional/defineComponent/neo-config.json +6 -0
  166. package/examples/functional/hostComponent/Component.mjs +32 -0
  167. package/examples/functional/hostComponent/MainContainer.mjs +48 -0
  168. package/examples/functional/hostComponent/app.mjs +6 -0
  169. package/examples/functional/hostComponent/index.html +11 -0
  170. package/examples/functional/hostComponent/neo-config.json +6 -0
  171. package/examples/grid/animatedRowSorting/Viewport.mjs +1 -1
  172. package/examples/grid/bigData/ControlsContainer.mjs +3 -0
  173. package/examples/grid/bigData/GridContainer.mjs +4 -2
  174. package/examples/grid/bigData/MainContainer.mjs +2 -0
  175. package/examples/grid/bigData/MainModel.mjs +1 -0
  176. package/examples/grid/bigData/MainStore.mjs +3 -0
  177. package/examples/grid/cellEditing/MainContainer.mjs +1 -1
  178. package/examples/grid/container/MainContainer.mjs +1 -1
  179. package/examples/grid/covid/GridContainer.mjs +3 -0
  180. package/examples/grid/covid/MainContainer.mjs +2 -0
  181. package/examples/grid/covid/Store.mjs +1 -0
  182. package/examples/grid/nestedRecordFields/EditUserDialog.mjs +3 -0
  183. package/examples/grid/nestedRecordFields/Viewport.mjs +3 -1
  184. package/examples/list/animate/List.mjs +4 -0
  185. package/examples/list/animate/MainContainer.mjs +2 -0
  186. package/examples/list/circle/MainStore.mjs +1 -0
  187. package/examples/list/color/MainStore.mjs +1 -0
  188. package/examples/preloadingAssets/view/MainContainer.mjs +2 -0
  189. package/examples/stateProvider/advanced/MainContainer.mjs +1 -0
  190. package/examples/stateProvider/dialog/EditUserDialog.mjs +2 -0
  191. package/examples/stateProvider/dialog/MainContainer.mjs +1 -0
  192. package/examples/stateProvider/extendedClass/MainContainer.mjs +2 -0
  193. package/examples/stateProvider/inline/MainContainer.mjs +1 -0
  194. package/examples/stateProvider/inlineNoStateProvider/MainContainer.mjs +1 -0
  195. package/examples/stateProvider/inlineNoStateProvider/MainContainerController.mjs +2 -0
  196. package/examples/stateProvider/multiWindow/EditUserDialog.mjs +3 -0
  197. package/examples/stateProvider/multiWindow/MainContainer.mjs +1 -0
  198. package/examples/stateProvider/multiWindow/Viewport.mjs +1 -0
  199. package/examples/stateProvider/nestedData/MainContainer.mjs +1 -0
  200. package/examples/stateProvider/table/MainContainer.mjs +1 -0
  201. package/examples/table/covid/MainContainer.mjs +2 -0
  202. package/examples/table/covid/Store.mjs +1 -0
  203. package/examples/table/covid/TableContainer.mjs +3 -0
  204. package/examples/table/nestedRecordFields/EditUserDialog.mjs +3 -0
  205. package/examples/table/nestedRecordFields/Viewport.mjs +1 -0
  206. package/examples/todoList/version1/MainComponent.mjs +1 -1
  207. package/examples/toolbar/breadcrumb/view/MainContainer.mjs +2 -0
  208. package/examples/toolbar/paging/store/Users.mjs +1 -0
  209. package/examples/toolbar/paging/view/AddUserDialog.mjs +3 -0
  210. package/examples/toolbar/paging/view/MainContainer.mjs +3 -0
  211. package/examples/treeAccordion/MainContainer.mjs +2 -2
  212. package/examples/worker/task/MainContainer.mjs +1 -0
  213. package/learn/Glossary.md +1 -0
  214. package/learn/UsingTheseTopics.md +1 -0
  215. package/learn/benefits/ConfigSystem.md +2 -0
  216. package/learn/benefits/Effort.md +1 -0
  217. package/learn/benefits/Features.md +1 -0
  218. package/learn/benefits/FormsEngine.md +1 -0
  219. package/learn/benefits/FourEnvironments.md +2 -0
  220. package/learn/benefits/Introduction.md +2 -0
  221. package/learn/benefits/MultiWindow.md +3 -1
  222. package/learn/benefits/OffTheMainThread.md +2 -0
  223. package/learn/benefits/Quick.md +2 -0
  224. package/learn/benefits/RPCLayer.md +2 -0
  225. package/learn/benefits/Speed.md +2 -0
  226. package/learn/comparisons/NeoVsAngular.md +90 -0
  227. package/learn/comparisons/NeoVsExtJs.md +178 -0
  228. package/learn/comparisons/NeoVsNextJs.md +124 -0
  229. package/learn/comparisons/NeoVsReact.md +95 -0
  230. package/learn/comparisons/NeoVsSolid.md +78 -0
  231. package/learn/comparisons/NeoVsVue.md +92 -0
  232. package/learn/comparisons/Overview.md +46 -0
  233. package/learn/gettingstarted/ComponentModels.md +2 -0
  234. package/learn/gettingstarted/Config.md +2 -0
  235. package/learn/gettingstarted/DescribingTheUI.md +2 -0
  236. package/learn/gettingstarted/Events.md +2 -0
  237. package/learn/gettingstarted/Extending.md +2 -0
  238. package/learn/gettingstarted/References.md +2 -0
  239. package/learn/gettingstarted/Setup.md +3 -2
  240. package/learn/gettingstarted/Workspaces.md +2 -0
  241. package/learn/guides/datahandling/Collections.md +1 -0
  242. package/learn/guides/datahandling/Records.md +1 -0
  243. package/learn/guides/datahandling/StateProviders.md +131 -16
  244. package/learn/guides/datahandling/Tables.md +1 -1
  245. package/learn/guides/fundamentals/ConfigSystemDeepDive.md +1 -0
  246. package/learn/guides/fundamentals/DeclarativeComponentTreesVsImperativeVdom.md +2 -0
  247. package/learn/guides/fundamentals/DeclarativeVDOMWithEffects.md +168 -0
  248. package/learn/guides/fundamentals/ExtendingNeoClasses.md +1 -0
  249. package/learn/guides/fundamentals/InstanceLifecycle.md +3 -1
  250. package/learn/guides/fundamentals/MainThreadAddons.md +2 -0
  251. package/learn/guides/specificfeatures/Mixins.md +3 -1
  252. package/learn/guides/specificfeatures/MultiWindow.md +3 -1
  253. package/learn/guides/specificfeatures/PortalApp.md +2 -0
  254. package/learn/guides/uibuildingblocks/ComponentsAndContainers.md +2 -0
  255. package/learn/guides/uibuildingblocks/CustomComponents.md +2 -0
  256. package/learn/guides/uibuildingblocks/Layouts.md +2 -0
  257. package/learn/guides/uibuildingblocks/WorkingWithVDom.md +2 -0
  258. package/learn/guides/userinteraction/Forms.md +2 -0
  259. package/learn/guides/userinteraction/events/CustomEvents.md +2 -1
  260. package/learn/guides/userinteraction/events/DomEvents.md +2 -0
  261. package/learn/javascript/ClassFeatures.md +4 -3
  262. package/learn/javascript/Classes.md +10 -13
  263. package/learn/javascript/Overrides.md +10 -6
  264. package/learn/javascript/Super.md +12 -8
  265. package/learn/tree.json +71 -63
  266. package/learn/tutorials/Earthquakes.md +2 -0
  267. package/learn/tutorials/RSP.md +3 -1
  268. package/learn/tutorials/TodoList.md +103 -7
  269. package/package.json +6 -4
  270. package/resources/scss/src/apps/email/ComposeView.scss +16 -0
  271. package/resources/scss/src/apps/email/MainView.scss +5 -0
  272. package/resources/scss/src/apps/portal/learn/ContentComponent.scss +5 -4
  273. package/src/DefaultConfig.mjs +12 -2
  274. package/src/Main.mjs +1 -0
  275. package/src/Neo.mjs +377 -178
  276. package/src/Xhr.mjs +1 -0
  277. package/src/button/Base.mjs +13 -0
  278. package/src/button/Effect.mjs +449 -0
  279. package/src/button/Split.mjs +2 -0
  280. package/src/calendar/store/Calendars.mjs +1 -0
  281. package/src/calendar/store/Colors.mjs +1 -0
  282. package/src/calendar/store/Events.mjs +1 -0
  283. package/src/calendar/view/DayComponent.mjs +2 -0
  284. package/src/calendar/view/EditEventContainer.mjs +4 -1
  285. package/src/calendar/view/MainContainer.mjs +13 -0
  286. package/src/calendar/view/MainContainerStateProvider.mjs +14 -28
  287. package/src/calendar/view/SettingsContainer.mjs +1 -0
  288. package/src/calendar/view/YearComponent.mjs +16 -0
  289. package/src/calendar/view/calendars/ColorsList.mjs +2 -0
  290. package/src/calendar/view/calendars/Container.mjs +2 -0
  291. package/src/calendar/view/calendars/EditContainer.mjs +1 -0
  292. package/src/calendar/view/month/Component.mjs +11 -0
  293. package/src/calendar/view/settings/GeneralContainer.mjs +1 -0
  294. package/src/calendar/view/settings/MonthContainer.mjs +1 -0
  295. package/src/calendar/view/settings/WeekContainer.mjs +1 -0
  296. package/src/calendar/view/settings/YearContainer.mjs +1 -0
  297. package/src/calendar/view/week/Component.mjs +15 -1
  298. package/src/calendar/view/week/TimeAxisComponent.mjs +4 -0
  299. package/src/code/LivePreview.mjs +51 -23
  300. package/src/collection/Base.mjs +14 -12
  301. package/src/collection/Filter.mjs +6 -0
  302. package/src/collection/Sorter.mjs +3 -0
  303. package/src/component/Base.mjs +156 -802
  304. package/src/component/Canvas.mjs +1 -0
  305. package/src/component/Chip.mjs +4 -0
  306. package/src/component/Circle.mjs +14 -0
  307. package/src/component/Clock.mjs +4 -0
  308. package/src/component/DateSelector.mjs +12 -0
  309. package/src/component/Gallery.mjs +11 -0
  310. package/src/component/Helix.mjs +24 -0
  311. package/src/component/Label.mjs +1 -0
  312. package/src/component/Legend.mjs +3 -0
  313. package/src/component/MagicMoveText.mjs +4 -0
  314. package/src/component/Progress.mjs +3 -0
  315. package/src/component/Splitter.mjs +3 -0
  316. package/src/component/StatusBadge.mjs +6 -0
  317. package/src/component/Timer.mjs +4 -0
  318. package/src/component/Toast.mjs +6 -0
  319. package/src/component/Video.mjs +1 -0
  320. package/src/component/mwc/Button.mjs +7 -0
  321. package/src/component/mwc/TextField.mjs +9 -0
  322. package/src/component/wrapper/AmChart.mjs +2 -0
  323. package/src/component/wrapper/GoogleMaps.mjs +3 -0
  324. package/src/component/wrapper/MapboxGL.mjs +5 -0
  325. package/src/component/wrapper/MonacoEditor.mjs +12 -0
  326. package/src/container/Accordion.mjs +2 -0
  327. package/src/container/Base.mjs +34 -26
  328. package/src/container/Panel.mjs +1 -0
  329. package/src/container/Viewport.mjs +1 -0
  330. package/src/controller/Application.mjs +1 -0
  331. package/src/controller/Base.mjs +1 -0
  332. package/src/controller/Component.mjs +1 -0
  333. package/src/core/Base.mjs +193 -22
  334. package/src/core/Compare.mjs +4 -7
  335. package/src/core/Config.mjs +137 -33
  336. package/src/core/Effect.mjs +193 -0
  337. package/src/core/EffectBatchManager.mjs +67 -0
  338. package/src/core/EffectManager.mjs +60 -0
  339. package/src/core/IdGenerator.mjs +13 -44
  340. package/src/data/Model.mjs +2 -0
  341. package/src/data/Store.mjs +7 -0
  342. package/src/data/connection/WebSocket.mjs +2 -0
  343. package/src/date/DayViewComponent.mjs +2 -0
  344. package/src/date/SelectorContainer.mjs +14 -0
  345. package/src/dialog/Base.mjs +8 -0
  346. package/src/draggable/DragZone.mjs +5 -0
  347. package/src/draggable/tree/DragZone.mjs +1 -0
  348. package/src/filter/BooleanContainer.mjs +2 -0
  349. package/src/filter/NumberContainer.mjs +3 -0
  350. package/src/filter/ToggleOperatorsButton.mjs +2 -0
  351. package/src/form/Fieldset.mjs +6 -0
  352. package/src/form/field/Base.mjs +7 -0
  353. package/src/form/field/CheckBox.mjs +18 -0
  354. package/src/form/field/Chip.mjs +1 -0
  355. package/src/form/field/ComboBox.mjs +8 -0
  356. package/src/form/field/Country.mjs +1 -0
  357. package/src/form/field/Currency.mjs +2 -0
  358. package/src/form/field/Date.mjs +4 -0
  359. package/src/form/field/Display.mjs +1 -0
  360. package/src/form/field/Email.mjs +1 -0
  361. package/src/form/field/FileUpload.mjs +7 -0
  362. package/src/form/field/Hidden.mjs +1 -0
  363. package/src/form/field/Number.mjs +7 -0
  364. package/src/form/field/Password.mjs +1 -0
  365. package/src/form/field/Phone.mjs +3 -0
  366. package/src/form/field/Picker.mjs +2 -0
  367. package/src/form/field/Radio.mjs +1 -0
  368. package/src/form/field/Range.mjs +3 -0
  369. package/src/form/field/Search.mjs +2 -0
  370. package/src/form/field/Text.mjs +32 -0
  371. package/src/form/field/TextArea.mjs +7 -0
  372. package/src/form/field/Time.mjs +6 -0
  373. package/src/form/field/Url.mjs +3 -0
  374. package/src/form/field/ZipCode.mjs +2 -0
  375. package/src/form/field/trigger/Base.mjs +3 -0
  376. package/src/form/field/trigger/Clear.mjs +2 -0
  377. package/src/form/field/trigger/CopyToClipboard.mjs +2 -0
  378. package/src/form/field/trigger/Date.mjs +1 -0
  379. package/src/form/field/trigger/Picker.mjs +1 -0
  380. package/src/form/field/trigger/Search.mjs +1 -0
  381. package/src/form/field/trigger/SpinDown.mjs +2 -0
  382. package/src/form/field/trigger/SpinUp.mjs +1 -0
  383. package/src/form/field/trigger/Time.mjs +2 -0
  384. package/src/functional/_export.mjs +6 -0
  385. package/src/functional/component/Base.mjs +499 -0
  386. package/src/functional/defineComponent.mjs +102 -0
  387. package/src/functional/useConfig.mjs +52 -0
  388. package/src/functional/useEvent.mjs +43 -0
  389. package/src/grid/Body.mjs +20 -1
  390. package/src/grid/Container.mjs +57 -63
  391. package/src/grid/ScrollManager.mjs +2 -0
  392. package/src/grid/VerticalScrollbar.mjs +2 -0
  393. package/src/grid/column/Base.mjs +2 -0
  394. package/src/grid/column/Component.mjs +1 -1
  395. package/src/grid/header/Button.mjs +7 -0
  396. package/src/grid/header/Toolbar.mjs +6 -0
  397. package/src/grid/plugin/AnimateRows.mjs +2 -0
  398. package/src/layout/Base.mjs +3 -0
  399. package/src/layout/Card.mjs +1 -0
  400. package/src/layout/Cube.mjs +11 -1
  401. package/src/layout/Fit.mjs +1 -0
  402. package/src/layout/Flexbox.mjs +7 -0
  403. package/src/layout/Form.mjs +2 -0
  404. package/src/layout/Grid.mjs +1 -0
  405. package/src/layout/HBox.mjs +1 -0
  406. package/src/layout/VBox.mjs +1 -0
  407. package/src/list/Base.mjs +13 -0
  408. package/src/list/Chip.mjs +1 -0
  409. package/src/list/Circle.mjs +2 -0
  410. package/src/list/Color.mjs +1 -0
  411. package/src/list/plugin/Animate.mjs +2 -0
  412. package/src/main/DeltaUpdates.mjs +1 -0
  413. package/src/main/DomEvents.mjs +2 -0
  414. package/src/main/addon/CloneNode.mjs +1 -0
  415. package/src/main/addon/Cookie.mjs +1 -0
  416. package/src/main/addon/GoogleMaps.mjs +1 -0
  417. package/src/main/addon/LocalStorage.mjs +1 -0
  418. package/src/main/addon/MapboxGL.mjs +1 -0
  419. package/src/main/addon/Markdown.mjs +1 -0
  420. package/src/main/addon/Navigator.mjs +1 -0
  421. package/src/main/addon/Popover.mjs +1 -0
  422. package/src/main/addon/Stylesheet.mjs +1 -0
  423. package/src/main/addon/WindowPosition.mjs +1 -0
  424. package/src/manager/Component.mjs +0 -71
  425. package/src/manager/VDomUpdate.mjs +235 -0
  426. package/src/menu/List.mjs +6 -0
  427. package/src/menu/Model.mjs +1 -0
  428. package/src/menu/Panel.mjs +3 -0
  429. package/src/menu/Store.mjs +1 -0
  430. package/src/mixin/DomEvents.mjs +130 -0
  431. package/src/mixin/VdomLifecycle.mjs +667 -0
  432. package/src/plugin/Base.mjs +1 -0
  433. package/src/plugin/Resizable.mjs +2 -0
  434. package/src/selection/Model.mjs +15 -18
  435. package/src/selection/grid/BaseModel.mjs +1 -0
  436. package/src/sitemap/Component.mjs +1 -0
  437. package/src/state/Provider.mjs +376 -457
  438. package/src/state/createHierarchicalDataProxy.mjs +138 -0
  439. package/src/tab/Container.mjs +6 -0
  440. package/src/tab/Strip.mjs +1 -0
  441. package/src/tab/header/Button.mjs +2 -0
  442. package/src/tab/header/EffectButton.mjs +77 -0
  443. package/src/tab/header/Toolbar.mjs +1 -0
  444. package/src/table/Body.mjs +3 -0
  445. package/src/table/Container.mjs +10 -0
  446. package/src/table/header/Button.mjs +8 -0
  447. package/src/table/header/Toolbar.mjs +5 -0
  448. package/src/table/plugin/CellEditing.mjs +1 -0
  449. package/src/toolbar/Base.mjs +4 -0
  450. package/src/toolbar/Breadcrumb.mjs +3 -0
  451. package/src/toolbar/Paging.mjs +5 -0
  452. package/src/tooltip/Base.mjs +2 -0
  453. package/src/tree/List.mjs +3 -0
  454. package/src/util/HashHistory.mjs +1 -0
  455. package/src/util/KeyNavigation.mjs +2 -0
  456. package/src/util/Matrix.mjs +1 -0
  457. package/src/util/VDom.mjs +7 -1
  458. package/src/util/VNode.mjs +7 -1
  459. package/src/util/vdom/TreeBuilder.mjs +129 -0
  460. package/src/vdom/Helper.mjs +44 -33
  461. package/src/vdom/VNode.mjs +5 -7
  462. package/src/worker/App.mjs +1 -5
  463. package/src/worker/Base.mjs +2 -0
  464. package/src/worker/Manager.mjs +2 -0
  465. package/src/worker/ServiceBase.mjs +6 -1
  466. package/test/siesta/siesta.js +36 -1
  467. package/test/siesta/tests/CollectionBase.mjs +10 -10
  468. package/test/siesta/tests/VdomCalendar.mjs +13 -9
  469. package/test/siesta/tests/VdomHelper.mjs +22 -59
  470. package/test/siesta/tests/config/AfterSetConfig.mjs +100 -0
  471. package/test/siesta/tests/{ReactiveConfigs.mjs → config/Basic.mjs} +58 -21
  472. package/test/siesta/tests/config/CircularDependencies.mjs +166 -0
  473. package/test/siesta/tests/config/CustomFunctions.mjs +69 -0
  474. package/test/siesta/tests/config/Hierarchy.mjs +94 -0
  475. package/test/siesta/tests/config/MemoryLeak.mjs +92 -0
  476. package/test/siesta/tests/config/MultiLevelHierarchy.mjs +85 -0
  477. package/test/siesta/tests/core/Effect.mjs +127 -0
  478. package/test/siesta/tests/core/EffectBatching.mjs +310 -0
  479. package/test/siesta/tests/neo/MixinStaticConfig.mjs +138 -0
  480. package/test/siesta/tests/state/Provider.mjs +537 -0
  481. package/test/siesta/tests/state/ProviderNestedDataConfigs.mjs +255 -0
  482. package/test/siesta/tests/state/createHierarchicalDataProxy.mjs +204 -0
  483. package/test/siesta/tests/vdom/VdomAsymmetricUpdates.mjs +366 -0
  484. package/test/siesta/tests/vdom/VdomRealWorldUpdates.mjs +249 -0
  485. package/learn/javascript/NewNode.md +0 -31
@@ -0,0 +1,48 @@
1
+ import ConfigurationViewport from '../../ConfigurationViewport.mjs';
2
+ import MyFunctionalComponent from './Component.mjs';
3
+ import TextField from '../../../src/form/field/Text.mjs';
4
+
5
+ /**
6
+ * @class Neo.examples.functional.hostComponent.MainContainer
7
+ * @extends Neo.examples.ConfigurationViewport
8
+ */
9
+ class MainContainer extends ConfigurationViewport {
10
+ static config = {
11
+ className : 'Neo.examples.functional.hostComponent.MainContainer',
12
+ configItemLabelWidth: 120,
13
+ configItemWidth : 300,
14
+ layout : {ntype: 'hbox', align: 'stretch'}
15
+ }
16
+
17
+ async createConfigurationComponents() {
18
+ // Wait one micro task queue tick, to ensure the fn render Effect is done
19
+ await Promise.resolve();
20
+
21
+ const button = Neo.getComponent('myButtonModule');
22
+
23
+ return [{
24
+ module : TextField,
25
+ clearable : true,
26
+ labelText : 'Button Text',
27
+ style : {marginTop: '10px'},
28
+ value : button.text,
29
+
30
+ listeners : {
31
+ change({value}) {
32
+ button.text = value
33
+ }
34
+ }
35
+ }]
36
+ }
37
+
38
+ /**
39
+ * @returns {Neo.functional.Component}
40
+ */
41
+ createExampleComponent() {
42
+ return {
43
+ module: MyFunctionalComponent
44
+ }
45
+ }
46
+ }
47
+
48
+ export default Neo.setupClass(MainContainer);
@@ -0,0 +1,6 @@
1
+ import MainContainer from './MainContainer.mjs';
2
+
3
+ export const onStart = () => Neo.app({
4
+ mainView: MainContainer,
5
+ name : 'Neo.examples.functional.hostComponent'
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>Functional Component Hosting Component</title>
7
+ </head>
8
+ <body>
9
+ <script src="../../../src/MicroLoader.mjs" type="module"></script>
10
+ </body>
11
+ </html>
@@ -0,0 +1,6 @@
1
+ {
2
+ "appPath" : "examples/functional/hostComponent/app.mjs",
3
+ "basePath" : "../../../",
4
+ "environment": "development",
5
+ "mainPath" : "./Main.mjs"
6
+ }
@@ -52,7 +52,7 @@ class Viewport extends BaseViewport {
52
52
  store : MainStore,
53
53
  wrapperStyle: {maxWidth: '902px'},
54
54
 
55
- bodyConfig: {
55
+ body: {
56
56
  animatedRowSorting: true
57
57
  },
58
58
 
@@ -17,6 +17,7 @@ class ControlsContainer extends Container {
17
17
  className: 'Neo.examples.grid.bigData.ControlsContainer',
18
18
  /**
19
19
  * @member {String[]} cls=['neo-examples-bigdata-controls-container']
20
+ * @reactive
20
21
  */
21
22
  cls: ['neo-examples-bigdata-controls-container'],
22
23
  /**
@@ -170,10 +171,12 @@ class ControlsContainer extends Container {
170
171
  }],
171
172
  /**
172
173
  * @member {Object} layout={ntype:'vbox'}
174
+ * @reactive
173
175
  */
174
176
  layout: {ntype: 'fit'},
175
177
  /**
176
178
  * @member {String} tag='aside'
179
+ * @reactive
177
180
  */
178
181
  tag: 'aside'
179
182
  }
@@ -15,12 +15,13 @@ class GridContainer extends BaseGridContainer {
15
15
  className: 'Neo.examples.grid.bigData.GridContainer',
16
16
  /**
17
17
  * @member {Number} amountColumns_=50
18
+ * @reactive
18
19
  */
19
20
  amountColumns_: 50,
20
21
  /**
21
- * @member {Object} bodyConfig
22
+ * @member {Object} body
22
23
  */
23
- bodyConfig: {
24
+ body: {
24
25
  bufferColumnRange: 3,
25
26
  bufferRowRange : 5
26
27
  },
@@ -35,6 +36,7 @@ class GridContainer extends BaseGridContainer {
35
36
  },
36
37
  /**
37
38
  * @member {Object[]} store=MainStore
39
+ * @reactive
38
40
  */
39
41
  store: MainStore
40
42
  }
@@ -15,10 +15,12 @@ class MainContainer extends Viewport {
15
15
  className: 'Neo.examples.grid.bigData.MainContainer',
16
16
  /**
17
17
  * @member {String[]} cls=['neo-examples-bigdata-maincontainer']
18
+ * @reactive
18
19
  */
19
20
  cls: ['neo-examples-bigdata-maincontainer'],
20
21
  /**
21
22
  * @member {Object} layout={ntype:'hbox',align:'stretch'}
23
+ * @reactive
22
24
  */
23
25
  layout: {ntype: 'hbox', align: 'stretch'},
24
26
  /**
@@ -13,6 +13,7 @@ class MainModel extends Model {
13
13
  className: 'Neo.examples.grid.bigData.MainModel',
14
14
  /**
15
15
  * @member {Number} amountColumns_=50
16
+ * @reactive
16
17
  */
17
18
  amountColumns_: 50
18
19
  }
@@ -14,10 +14,12 @@ class MainStore extends Store {
14
14
  className: 'Neo.examples.grid.bigData.MainStore',
15
15
  /**
16
16
  * @member {Number} amountColumns_=50
17
+ * @reactive
17
18
  */
18
19
  amountColumns_: 50,
19
20
  /**
20
21
  * @member {Number} amountRows_=1000
22
+ * @reactive
21
23
  */
22
24
  amountRows_: 1000,
23
25
  /**
@@ -34,6 +36,7 @@ class MainStore extends Store {
34
36
  }],
35
37
  /**
36
38
  * @member {Neo.data.Model} model=Model
39
+ * @reactive
37
40
  */
38
41
  model: Model
39
42
  }
@@ -114,7 +114,7 @@ class MainContainer extends ConfigurationViewport {
114
114
  store : MainStore,
115
115
  wrapperStyle: {maxWidth: '1002px'},
116
116
 
117
- bodyConfig: {
117
+ body: {
118
118
  selectionModel: CellModel
119
119
  },
120
120
 
@@ -88,7 +88,7 @@ class MainContainer extends ConfigurationViewport {
88
88
  width: 200
89
89
  },
90
90
 
91
- bodyConfig: {
91
+ body: {
92
92
  selectionModel: CellModel
93
93
  },
94
94
 
@@ -16,6 +16,7 @@ class GridContainer extends BaseGridContainer {
16
16
  className: 'Neo.examples.grid.covid.GridContainer',
17
17
  /**
18
18
  * @member {String[]} cls=['covid-country-grid']
19
+ * @reactive
19
20
  */
20
21
  cls: ['covid-country-grid'],
21
22
  /**
@@ -99,10 +100,12 @@ class GridContainer extends BaseGridContainer {
99
100
  }],
100
101
  /**
101
102
  * @member {Neo.controller.Component} controller=GridContainerController
103
+ * @reactive
102
104
  */
103
105
  controller: GridContainerController,
104
106
  /**
105
107
  * @member {Object[]} store=Store
108
+ * @reactive
106
109
  */
107
110
  store: Store
108
111
  }
@@ -14,10 +14,12 @@ class MainContainer extends Viewport {
14
14
  className: 'Neo.examples.grid.covid.MainContainer',
15
15
  /**
16
16
  * @member {Object[]} items=[GridContainer]
17
+ * @reactive
17
18
  */
18
19
  items: [GridContainer],
19
20
  /**
20
21
  * @member {Object} layout={ntype:'fit'}
22
+ * @reactive
21
23
  */
22
24
  layout: {ntype: 'fit'},
23
25
  /**
@@ -18,6 +18,7 @@ class Store extends BaseStore {
18
18
  keyProperty: 'country',
19
19
  /**
20
20
  * @member {Neo.data.Model} model=Model
21
+ * @reactive
21
22
  */
22
23
  model: Model,
23
24
  /**
@@ -29,14 +29,17 @@ class EditUserDialog extends Dialog {
29
29
  },
30
30
  /**
31
31
  * @member {Boolean} modal=true
32
+ * @reactive
32
33
  */
33
34
  modal: true,
34
35
  /**
35
36
  * @member {Record|null} record_=null
37
+ * @reactive
36
38
  */
37
39
  record_: null,
38
40
  /**
39
41
  * @member {String} title='Edit User'
42
+ * @reactive
40
43
  */
41
44
  title: 'Edit User',
42
45
  /**
@@ -17,10 +17,12 @@ class Viewport extends BaseViewport {
17
17
  className: 'Neo.examples.grid.nestedRecordFields.Viewport',
18
18
  /**
19
19
  * @member {Neo.controller.Component} controller=ViewportController
20
+ * @reactive
20
21
  */
21
22
  controller: ViewportController,
22
23
  /**
23
24
  * @member {Neo.state.Provider} stateProvider=ViewportStateProvider
25
+ * @reactive
24
26
  */
25
27
  stateProvider: ViewportStateProvider,
26
28
  /**
@@ -51,7 +53,7 @@ class Viewport extends BaseViewport {
51
53
  bind : {store: 'stores.mainStore'},
52
54
  reference: 'grid',
53
55
 
54
- bodyConfig: {
56
+ body: {
55
57
  highlightModifiedCells: true
56
58
  },
57
59
 
@@ -13,15 +13,18 @@ class List extends BaseList {
13
13
  className: 'Neo.examples.list.animate.List',
14
14
  /**
15
15
  * @member {Boolean} animate=true
16
+ * @reactive
16
17
  */
17
18
  animate: true,
18
19
  /**
19
20
  * @member {String[]} cls=['neo-examples-list-animate']
21
+ * @reactive
20
22
  */
21
23
  cls: ['neo-examples-list-animate'],
22
24
  /**
23
25
  * Value in px
24
26
  * @member {Number} itemHeight=200
27
+ * @reactive
25
28
  */
26
29
  itemHeight: 200,
27
30
  /**
@@ -31,6 +34,7 @@ class List extends BaseList {
31
34
  /**
32
35
  * Value in px
33
36
  * @member {Number} itemWidth=300
37
+ * @reactive
34
38
  */
35
39
  itemWidth: 300
36
40
  }
@@ -20,10 +20,12 @@ class MainContainer extends Viewport {
20
20
  className: 'Neo.examples.list.animate.MainContainer',
21
21
  /**
22
22
  * @member {Neo.controller.Component} controller=MainContainerController
23
+ * @reactive
23
24
  */
24
25
  controller: MainContainerController,
25
26
  /**
26
27
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
28
+ * @reactive
27
29
  */
28
30
  layout: {ntype: 'vbox', align: 'stretch'},
29
31
  /**
@@ -25,6 +25,7 @@ class MainStore extends Store {
25
25
  ],
26
26
  /**
27
27
  * @member {Neo.data.Model} model=MainModel
28
+ * @reactive
28
29
  */
29
30
  model: MainModel,
30
31
  /**
@@ -25,6 +25,7 @@ class MainStore extends Store {
25
25
  ],
26
26
  /**
27
27
  * @member {Neo.data.Model} model=MainModel
28
+ * @reactive
28
29
  */
29
30
  model: MainModel
30
31
  }
@@ -16,10 +16,12 @@ class MainContainer extends Viewport {
16
16
  className: 'Neo.examples.preloadingAssets.view.MainContainer',
17
17
  /**
18
18
  * @member {Neo.controller.Component} controller=MainContainerController
19
+ * @reactive
19
20
  */
20
21
  controller: MainContainerController,
21
22
  /**
22
23
  * @member {Object} layout={ntype:'fit'}
24
+ * @reactive
23
25
  */
24
26
  layout: {ntype: 'fit'},
25
27
  /**
@@ -18,6 +18,7 @@ class MainContainer extends Viewport {
18
18
  className: 'Neo.examples.stateProvider.advanced.MainContainer',
19
19
  /**
20
20
  * @member {Neo.controller.Component} controller=MainContainerController
21
+ * @reactive
21
22
  */
22
23
  controller: MainContainerController,
23
24
  /**
@@ -23,10 +23,12 @@ class EditUserDialog extends Dialog {
23
23
  },
24
24
  /**
25
25
  * @member {Neo.controller.Component} controller=EditUserDialogController
26
+ * @reactive
26
27
  */
27
28
  controller: EditUserDialogController,
28
29
  /**
29
30
  * @member {String} title='Edit User'
31
+ * @reactive
30
32
  */
31
33
  title: 'Edit User',
32
34
  /**
@@ -16,6 +16,7 @@ class MainContainer extends Viewport {
16
16
  className: 'Neo.examples.stateProvider.dialog.MainContainer',
17
17
  /**
18
18
  * @member {Neo.controller.Component} controller=MainContainerController
19
+ * @reactive
19
20
  */
20
21
  controller: MainContainerController,
21
22
  /**
@@ -17,10 +17,12 @@ class MainContainer extends Viewport {
17
17
  className: 'Neo.examples.stateProvider.extendedClass.MainContainer',
18
18
  /**
19
19
  * @member {Neo.controller.Component} controller=MainContainerController
20
+ * @reactive
20
21
  */
21
22
  controller: MainContainerController,
22
23
  /**
23
24
  * @member {Object|Neo.state.Provider} stateProvider=MainContainerStateProvider
25
+ * @reactive
24
26
  */
25
27
  stateProvider: MainContainerStateProvider,
26
28
  /**
@@ -17,6 +17,7 @@ class MainContainer extends Viewport {
17
17
  className: 'Neo.examples.stateProvider.inline.MainContainer',
18
18
  /**
19
19
  * @member {Neo.controller.Component} controller=MainContainerController
20
+ * @reactive
20
21
  */
21
22
  controller: MainContainerController,
22
23
  /**
@@ -16,6 +16,7 @@ class MainContainer extends Viewport {
16
16
  className: 'Neo.examples.stateProvider.inlineNoStateProvider.MainContainer',
17
17
  /**
18
18
  * @member {Neo.controller.Component} controller=MainContainerController
19
+ * @reactive
19
20
  */
20
21
  controller: MainContainerController,
21
22
  /**
@@ -13,10 +13,12 @@ class MainContainerController extends Controller {
13
13
  className: 'Neo.examples.stateProvider.inlineNoStateProvider.MainContainerController',
14
14
  /**
15
15
  * @member {String} button1Text_='Button 1'
16
+ * @reactive
16
17
  */
17
18
  button1Text_: 'Button 1',
18
19
  /**
19
20
  * @member {String} button1Text_='Button 2'
21
+ * @reactive
20
22
  */
21
23
  button2Text_: 'Button 2'
22
24
  }
@@ -23,10 +23,12 @@ class EditUserDialog extends Dialog {
23
23
  },
24
24
  /**
25
25
  * @member {Neo.controller.Component} controller=EditUserDialogController
26
+ * @reactive
26
27
  */
27
28
  controller: EditUserDialogController,
28
29
  /**
29
30
  * @member {String} title='Edit User'
31
+ * @reactive
30
32
  */
31
33
  title: 'Edit User',
32
34
  /**
@@ -49,6 +51,7 @@ class EditUserDialog extends Dialog {
49
51
  }],
50
52
  /**
51
53
  * @member {Object} wrapperStyle={height: '300px',width : '400px'}
54
+ * @reactive
52
55
  */
53
56
  wrapperStyle: {
54
57
  height: '300px',
@@ -27,6 +27,7 @@ class MainContainer extends Panel {
27
27
  },
28
28
  /**
29
29
  * @member {Neo.controller.Component} controller=MainContainerController
30
+ * @reactive
30
31
  */
31
32
  controller: MainContainerController,
32
33
  /**
@@ -14,6 +14,7 @@ class Viewport extends BaseViewport {
14
14
  className: 'Neo.examples.stateProvider.multiWindow.Viewport',
15
15
  /**
16
16
  * @member {Neo.controller.Component} controller=ViewportController
17
+ * @reactive
17
18
  */
18
19
  controller: ViewportController,
19
20
  /**
@@ -17,6 +17,7 @@ class MainContainer extends Viewport {
17
17
  className: 'Neo.examples.stateProvider.nestedData.MainContainer',
18
18
  /**
19
19
  * @member {Neo.controller.Component} controller=MainContainerController
20
+ * @reactive
20
21
  */
21
22
  controller: MainContainerController,
22
23
  /**
@@ -19,6 +19,7 @@ class MainContainer extends Viewport {
19
19
  layout: {ntype: 'fit'},
20
20
  /**
21
21
  * @member {Object|Neo.state.Provider} stateProvider=MainContainerStateProvider
22
+ * @reactive
22
23
  */
23
24
  stateProvider: MainContainerStateProvider,
24
25
  /**
@@ -14,10 +14,12 @@ class MainContainer extends Viewport {
14
14
  className: 'Neo.examples.table.covid.MainContainer',
15
15
  /**
16
16
  * @member {Object[]} items=[TableContainer]
17
+ * @reactive
17
18
  */
18
19
  items: [TableContainer],
19
20
  /**
20
21
  * @member {Object} layout={ntype:'fit'}
22
+ * @reactive
21
23
  */
22
24
  layout: {ntype: 'fit'},
23
25
  /**
@@ -18,6 +18,7 @@ class Store extends BaseStore {
18
18
  keyProperty: 'country',
19
19
  /**
20
20
  * @member {Neo.data.Model} model=Model
21
+ * @reactive
21
22
  */
22
23
  model: Model,
23
24
  /**
@@ -16,6 +16,7 @@ class TableContainer extends BaseTableContainer {
16
16
  className: 'Neo.examples.table.covid.TableContainer',
17
17
  /**
18
18
  * @member {String[]} cls=['covid-country-table']
19
+ * @reactive
19
20
  */
20
21
  cls: ['covid-country-table'],
21
22
  /**
@@ -99,10 +100,12 @@ class TableContainer extends BaseTableContainer {
99
100
  }],
100
101
  /**
101
102
  * @member {Neo.controller.Component} controller=TableContainerController
103
+ * @reactive
102
104
  */
103
105
  controller: TableContainerController,
104
106
  /**
105
107
  * @member {Object[]} store=MainStore
108
+ * @reactive
106
109
  */
107
110
  store: Store
108
111
  }
@@ -28,14 +28,17 @@ class EditUserDialog extends Dialog {
28
28
  },
29
29
  /**
30
30
  * @member {Boolean} modal=true
31
+ * @reactive
31
32
  */
32
33
  modal: true,
33
34
  /**
34
35
  * @member {Record|null} record_=null
36
+ * @reactive
35
37
  */
36
38
  record_: null,
37
39
  /**
38
40
  * @member {String} title='Edit User'
41
+ * @reactive
39
42
  */
40
43
  title: 'Edit User',
41
44
  /**
@@ -16,6 +16,7 @@ class Viewport extends BaseViewport {
16
16
  className: 'Neo.examples.table.nestedRecordFields.Viewport',
17
17
  /**
18
18
  * @member {Neo.state.Provider} stateProvider=ViewportStateProvider
19
+ * @reactive
19
20
  */
20
21
  stateProvider: ViewportStateProvider,
21
22
  /**
@@ -75,7 +75,7 @@ class MainComponent extends Component {
75
75
  style: {cursor: 'pointer', width: '20px'}
76
76
  }, {
77
77
  vtype: 'text',
78
- html : item.text
78
+ text : item.text
79
79
  }]
80
80
  })
81
81
  });
@@ -15,6 +15,7 @@ class MainContainer extends Viewport {
15
15
  className: 'Neo.examples.toolbar.breadcrumb.view.MainContainer',
16
16
  /**
17
17
  * @member {Neo.controller.Component} controller=MainContainerController
18
+ * @reactive
18
19
  */
19
20
  controller: MainContainerController,
20
21
  /**
@@ -102,6 +103,7 @@ class MainContainer extends Viewport {
102
103
  }],
103
104
  /**
104
105
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
106
+ * @reactive
105
107
  */
106
108
  layout: {ntype: 'vbox', align: 'start'},
107
109
  /**
@@ -27,6 +27,7 @@ class Users extends Store {
27
27
  autoSort: false,
28
28
  /**
29
29
  * @member {Neo.data.Model} model=UserModel
30
+ * @reactive
30
31
  */
31
32
  model: UserModel,
32
33
  /**
@@ -46,14 +46,17 @@ class AddUserDialog extends Dialog {
46
46
  }],
47
47
  /**
48
48
  * @member {Boolean} resizable=false
49
+ * @reactive
49
50
  */
50
51
  resizable: false,
51
52
  /**
52
53
  * @member {String} title='Edit User'
54
+ * @reactive
53
55
  */
54
56
  title: 'Add User',
55
57
  /**
56
58
  * @member {Object} wrapperStyle={height:'300px',width:'400px'}
59
+ * @reactive
57
60
  */
58
61
  wrapperStyle: {
59
62
  height: '300px',
@@ -17,6 +17,7 @@ class MainContainer extends Viewport {
17
17
  className: 'Neo.examples.toolbar.paging.view.MainContainer',
18
18
  /**
19
19
  * @member {Neo.controller.Component} controller=MainContainerController
20
+ * @reactive
20
21
  */
21
22
  controller: MainContainerController,
22
23
  /**
@@ -89,10 +90,12 @@ class MainContainer extends Viewport {
89
90
  }],
90
91
  /**
91
92
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
93
+ * @reactive
92
94
  */
93
95
  layout: {ntype: 'vbox', align: 'stretch'},
94
96
  /**
95
97
  * @member {Neo.state.Provider} stateProvider=MainContainerStateProvider
98
+ * @reactive
96
99
  */
97
100
  stateProvider: MainContainerStateProvider,
98
101
  /**