neo.mjs 10.0.0-beta.5 → 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 (468) hide show
  1. package/.github/RELEASE_NOTES/v10.0.0-beta.5.md +70 -0
  2. package/.github/RELEASE_NOTES/v10.0.0-beta.6.md +48 -0
  3. package/.github/epic-functional-components.md +498 -0
  4. package/.github/ticket-asymmetric-vdom-updates.md +122 -0
  5. package/README.md +0 -3
  6. package/ServiceWorker.mjs +2 -2
  7. package/apps/colors/store/Colors.mjs +1 -0
  8. package/apps/colors/view/GridContainer.mjs +3 -0
  9. package/apps/colors/view/HeaderToolbar.mjs +2 -0
  10. package/apps/colors/view/Viewport.mjs +3 -0
  11. package/apps/covid/view/FooterContainer.mjs +3 -0
  12. package/apps/covid/view/GalleryContainer.mjs +2 -0
  13. package/apps/covid/view/GalleryContainerController.mjs +1 -0
  14. package/apps/covid/view/HeaderContainer.mjs +2 -0
  15. package/apps/covid/view/HelixContainer.mjs +2 -0
  16. package/apps/covid/view/HelixContainerController.mjs +1 -0
  17. package/apps/covid/view/MainContainer.mjs +3 -0
  18. package/apps/covid/view/TableContainer.mjs +3 -0
  19. package/apps/covid/view/TableContainerController.mjs +1 -0
  20. package/apps/covid/view/WorldMapContainer.mjs +2 -0
  21. package/apps/covid/view/country/Gallery.mjs +3 -0
  22. package/apps/covid/view/country/Helix.mjs +8 -0
  23. package/apps/covid/view/country/HistoricalDataTable.mjs +1 -0
  24. package/apps/covid/view/country/Table.mjs +2 -0
  25. package/apps/covid/view/mapboxGl/Component.mjs +1 -0
  26. package/apps/covid/view/mapboxGl/Container.mjs +2 -0
  27. package/apps/email/EPIC_PLAN.md +58 -0
  28. package/apps/email/neo-config.json +2 -2
  29. package/apps/email/store/Emails.mjs +11 -1
  30. package/apps/email/view/ComposeView.mjs +44 -0
  31. package/apps/email/view/MainView.mjs +89 -0
  32. package/apps/email/view/Viewport.mjs +4 -33
  33. package/apps/email/view/ViewportStateProvider.mjs +3 -3
  34. package/apps/form/store/SideNav.mjs +1 -0
  35. package/apps/form/view/FormContainer.mjs +1 -0
  36. package/apps/form/view/FormPageContainer.mjs +2 -0
  37. package/apps/form/view/SideNavList.mjs +1 -0
  38. package/apps/form/view/Viewport.mjs +3 -0
  39. package/apps/portal/childapps/preview/MainContainer.mjs +1 -0
  40. package/apps/portal/index.html +1 -1
  41. package/apps/portal/store/BlogPosts.mjs +2 -0
  42. package/apps/portal/store/Content.mjs +1 -0
  43. package/apps/portal/store/ContentSections.mjs +1 -0
  44. package/apps/portal/store/Examples.mjs +1 -0
  45. package/apps/portal/view/HeaderToolbar.mjs +1 -0
  46. package/apps/portal/view/Viewport.mjs +5 -0
  47. package/apps/portal/view/ViewportController.mjs +8 -2
  48. package/apps/portal/view/about/Container.mjs +2 -0
  49. package/apps/portal/view/about/MemberContainer.mjs +7 -0
  50. package/apps/portal/view/blog/Container.mjs +2 -0
  51. package/apps/portal/view/blog/List.mjs +2 -0
  52. package/apps/portal/view/examples/List.mjs +1 -0
  53. package/apps/portal/view/examples/TabContainer.mjs +4 -0
  54. package/apps/portal/view/home/ContentBox.mjs +3 -0
  55. package/apps/portal/view/home/FeatureSection.mjs +8 -0
  56. package/apps/portal/view/home/FooterContainer.mjs +4 -1
  57. package/apps/portal/view/home/MainContainer.mjs +2 -0
  58. package/apps/portal/view/home/parts/AfterMath.mjs +2 -0
  59. package/apps/portal/view/home/parts/BaseContainer.mjs +1 -0
  60. package/apps/portal/view/home/parts/Colors.mjs +4 -0
  61. package/apps/portal/view/home/parts/Features.mjs +2 -0
  62. package/apps/portal/view/home/parts/Helix.mjs +5 -0
  63. package/apps/portal/view/home/parts/How.mjs +4 -0
  64. package/apps/portal/view/home/parts/MainNeo.mjs +1 -0
  65. package/apps/portal/view/home/parts/References.mjs +2 -0
  66. package/apps/portal/view/learn/ContentComponent.mjs +11 -5
  67. package/apps/portal/view/learn/ContentTreeList.mjs +2 -0
  68. package/apps/portal/view/learn/CubeLayoutButton.mjs +1 -0
  69. package/apps/portal/view/learn/MainContainer.mjs +4 -0
  70. package/apps/portal/view/learn/PageContainer.mjs +2 -0
  71. package/apps/portal/view/learn/PageSectionsContainer.mjs +3 -0
  72. package/apps/portal/view/learn/PageSectionsList.mjs +1 -0
  73. package/apps/portal/view/services/Component.mjs +1 -0
  74. package/apps/realworld/api/Base.mjs +1 -0
  75. package/apps/realworld/view/HeaderComponent.mjs +4 -0
  76. package/apps/realworld/view/HomeComponent.mjs +7 -0
  77. package/apps/realworld/view/MainContainer.mjs +2 -0
  78. package/apps/realworld/view/MainContainerController.mjs +2 -0
  79. package/apps/realworld/view/article/CommentComponent.mjs +3 -0
  80. package/apps/realworld/view/article/Component.mjs +17 -10
  81. package/apps/realworld/view/article/CreateCommentComponent.mjs +2 -0
  82. package/apps/realworld/view/article/CreateComponent.mjs +5 -0
  83. package/apps/realworld/view/article/PreviewComponent.mjs +9 -0
  84. package/apps/realworld/view/article/TagListComponent.mjs +2 -0
  85. package/apps/realworld/view/user/ProfileComponent.mjs +7 -0
  86. package/apps/realworld/view/user/SettingsComponent.mjs +5 -0
  87. package/apps/realworld/view/user/SignUpComponent.mjs +3 -0
  88. package/apps/realworld2/api/Base.mjs +1 -0
  89. package/apps/realworld2/view/FooterComponent.mjs +1 -0
  90. package/apps/realworld2/view/HeaderToolbar.mjs +3 -0
  91. package/apps/realworld2/view/HomeContainer.mjs +1 -0
  92. package/apps/realworld2/view/MainContainer.mjs +2 -0
  93. package/apps/realworld2/view/MainContainerController.mjs +1 -0
  94. package/apps/realworld2/view/article/Helix.mjs +1 -0
  95. package/apps/realworld2/view/article/PreviewComponent.mjs +9 -0
  96. package/apps/realworld2/view/article/PreviewList.mjs +1 -0
  97. package/apps/realworld2/view/article/TagListComponent.mjs +2 -0
  98. package/apps/route/view/CenterContainer.mjs +1 -0
  99. package/apps/route/view/MainView.mjs +1 -0
  100. package/apps/sharedcovid/childapps/sharedcovidchart/MainContainer.mjs +1 -0
  101. package/apps/sharedcovid/childapps/sharedcovidgallery/MainContainer.mjs +1 -0
  102. package/apps/sharedcovid/childapps/sharedcovidhelix/MainContainer.mjs +1 -0
  103. package/apps/sharedcovid/childapps/sharedcovidmap/MainContainer.mjs +1 -0
  104. package/apps/sharedcovid/view/FooterContainer.mjs +3 -0
  105. package/apps/sharedcovid/view/GalleryContainer.mjs +2 -0
  106. package/apps/sharedcovid/view/GalleryContainerController.mjs +1 -0
  107. package/apps/sharedcovid/view/HeaderContainer.mjs +2 -0
  108. package/apps/sharedcovid/view/HelixContainer.mjs +2 -0
  109. package/apps/sharedcovid/view/HelixContainerController.mjs +1 -0
  110. package/apps/sharedcovid/view/MainContainer.mjs +3 -0
  111. package/apps/sharedcovid/view/TableContainer.mjs +3 -0
  112. package/apps/sharedcovid/view/TableContainerController.mjs +1 -0
  113. package/apps/sharedcovid/view/WorldMapContainer.mjs +2 -0
  114. package/apps/sharedcovid/view/country/Gallery.mjs +3 -0
  115. package/apps/sharedcovid/view/country/Helix.mjs +8 -0
  116. package/apps/sharedcovid/view/country/HistoricalDataTable.mjs +1 -0
  117. package/apps/sharedcovid/view/country/Table.mjs +2 -0
  118. package/apps/sharedcovid/view/mapboxGl/Component.mjs +1 -0
  119. package/apps/sharedcovid/view/mapboxGl/Container.mjs +2 -0
  120. package/apps/shareddialog/childapps/shareddialog2/view/MainContainer.mjs +2 -0
  121. package/apps/shareddialog/view/DemoDialog.mjs +2 -0
  122. package/apps/shareddialog/view/MainContainer.mjs +2 -0
  123. package/apps/shareddialog/view/MainContainerController.mjs +1 -0
  124. package/buildScripts/addReactiveTags.mjs +191 -0
  125. package/buildScripts/checkReactiveTags.mjs +160 -0
  126. package/docs/app/store/Api.mjs +1 -0
  127. package/docs/app/store/Examples.mjs +1 -0
  128. package/docs/app/view/ApiTreeList.mjs +1 -0
  129. package/docs/app/view/ContentTabContainer.mjs +2 -0
  130. package/docs/app/view/ExamplesTreeList.mjs +2 -0
  131. package/docs/app/view/HeaderContainer.mjs +3 -0
  132. package/docs/app/view/MainContainer.mjs +5 -0
  133. package/docs/app/view/classdetails/HeaderComponent.mjs +1 -0
  134. package/docs/app/view/classdetails/MainContainer.mjs +3 -0
  135. package/docs/app/view/classdetails/MembersList.mjs +5 -0
  136. package/docs/app/view/classdetails/SourceViewComponent.mjs +2 -0
  137. package/examples/ConfigurationViewport.mjs +14 -8
  138. package/examples/calendar/weekview/MainContainer.mjs +4 -0
  139. package/examples/component/coronaGallery/CountryGallery.mjs +2 -0
  140. package/examples/component/coronaGallery/CountryStore.mjs +1 -0
  141. package/examples/component/coronaGallery/Viewport.mjs +3 -0
  142. package/examples/component/coronaGallery/ViewportController.mjs +1 -0
  143. package/examples/component/coronaHelix/CountryHelix.mjs +7 -0
  144. package/examples/component/coronaHelix/MainContainer.mjs +1 -0
  145. package/examples/component/gallery/ImageStore.mjs +1 -0
  146. package/examples/component/helix/ImageStore.mjs +1 -0
  147. package/examples/component/helix/Viewport.mjs +3 -0
  148. package/examples/component/helix/ViewportController.mjs +1 -0
  149. package/examples/component/multiWindowCoronaGallery/childapp/Viewport.mjs +1 -0
  150. package/examples/component/multiWindowHelix/childapp/Viewport.mjs +1 -0
  151. package/examples/component/wrapper/googleMaps/MapComponent.mjs +2 -0
  152. package/examples/core/config/MainContainer.mjs +2 -0
  153. package/examples/dialog/DemoDialog.mjs +2 -0
  154. package/examples/dialog/MainContainer.mjs +1 -0
  155. package/examples/form/field/color/MainStore.mjs +1 -0
  156. package/examples/functional/defineComponent/Component.mjs +18 -0
  157. package/examples/functional/defineComponent/MainContainer.mjs +41 -0
  158. package/examples/functional/defineComponent/app.mjs +6 -0
  159. package/examples/functional/defineComponent/index.html +11 -0
  160. package/examples/functional/defineComponent/neo-config.json +6 -0
  161. package/examples/functional/hostComponent/Component.mjs +32 -0
  162. package/examples/functional/hostComponent/MainContainer.mjs +48 -0
  163. package/examples/functional/hostComponent/app.mjs +6 -0
  164. package/examples/functional/hostComponent/index.html +11 -0
  165. package/examples/functional/hostComponent/neo-config.json +6 -0
  166. package/examples/grid/animatedRowSorting/Viewport.mjs +1 -1
  167. package/examples/grid/bigData/ControlsContainer.mjs +3 -0
  168. package/examples/grid/bigData/GridContainer.mjs +4 -2
  169. package/examples/grid/bigData/MainContainer.mjs +2 -0
  170. package/examples/grid/bigData/MainModel.mjs +1 -0
  171. package/examples/grid/bigData/MainStore.mjs +3 -0
  172. package/examples/grid/cellEditing/MainContainer.mjs +1 -1
  173. package/examples/grid/container/MainContainer.mjs +1 -1
  174. package/examples/grid/covid/GridContainer.mjs +3 -0
  175. package/examples/grid/covid/MainContainer.mjs +2 -0
  176. package/examples/grid/covid/Store.mjs +1 -0
  177. package/examples/grid/nestedRecordFields/EditUserDialog.mjs +3 -0
  178. package/examples/grid/nestedRecordFields/Viewport.mjs +3 -1
  179. package/examples/list/animate/List.mjs +4 -0
  180. package/examples/list/animate/MainContainer.mjs +2 -0
  181. package/examples/list/circle/MainStore.mjs +1 -0
  182. package/examples/list/color/MainStore.mjs +1 -0
  183. package/examples/preloadingAssets/view/MainContainer.mjs +2 -0
  184. package/examples/stateProvider/advanced/MainContainer.mjs +1 -0
  185. package/examples/stateProvider/dialog/EditUserDialog.mjs +2 -0
  186. package/examples/stateProvider/dialog/MainContainer.mjs +1 -0
  187. package/examples/stateProvider/extendedClass/MainContainer.mjs +2 -0
  188. package/examples/stateProvider/inline/MainContainer.mjs +1 -0
  189. package/examples/stateProvider/inlineNoStateProvider/MainContainer.mjs +1 -0
  190. package/examples/stateProvider/inlineNoStateProvider/MainContainerController.mjs +2 -0
  191. package/examples/stateProvider/multiWindow/EditUserDialog.mjs +3 -0
  192. package/examples/stateProvider/multiWindow/MainContainer.mjs +1 -0
  193. package/examples/stateProvider/multiWindow/Viewport.mjs +1 -0
  194. package/examples/stateProvider/nestedData/MainContainer.mjs +1 -0
  195. package/examples/stateProvider/table/MainContainer.mjs +1 -0
  196. package/examples/table/covid/MainContainer.mjs +2 -0
  197. package/examples/table/covid/Store.mjs +1 -0
  198. package/examples/table/covid/TableContainer.mjs +3 -0
  199. package/examples/table/nestedRecordFields/EditUserDialog.mjs +3 -0
  200. package/examples/table/nestedRecordFields/Viewport.mjs +1 -0
  201. package/examples/todoList/version1/MainComponent.mjs +1 -1
  202. package/examples/toolbar/breadcrumb/view/MainContainer.mjs +2 -0
  203. package/examples/toolbar/paging/store/Users.mjs +1 -0
  204. package/examples/toolbar/paging/view/AddUserDialog.mjs +3 -0
  205. package/examples/toolbar/paging/view/MainContainer.mjs +3 -0
  206. package/examples/treeAccordion/MainContainer.mjs +2 -2
  207. package/examples/worker/task/MainContainer.mjs +1 -0
  208. package/learn/Glossary.md +1 -0
  209. package/learn/UsingTheseTopics.md +1 -0
  210. package/learn/benefits/ConfigSystem.md +2 -0
  211. package/learn/benefits/Effort.md +1 -0
  212. package/learn/benefits/Features.md +1 -0
  213. package/learn/benefits/FormsEngine.md +1 -0
  214. package/learn/benefits/FourEnvironments.md +2 -0
  215. package/learn/benefits/Introduction.md +2 -0
  216. package/learn/benefits/MultiWindow.md +3 -1
  217. package/learn/benefits/OffTheMainThread.md +2 -0
  218. package/learn/benefits/Quick.md +2 -0
  219. package/learn/benefits/RPCLayer.md +2 -0
  220. package/learn/benefits/Speed.md +2 -0
  221. package/learn/comparisons/NeoVsAngular.md +90 -0
  222. package/learn/comparisons/NeoVsExtJs.md +178 -0
  223. package/learn/comparisons/NeoVsNextJs.md +124 -0
  224. package/learn/comparisons/NeoVsReact.md +95 -0
  225. package/learn/comparisons/NeoVsSolid.md +78 -0
  226. package/learn/comparisons/NeoVsVue.md +92 -0
  227. package/learn/comparisons/Overview.md +46 -0
  228. package/learn/gettingstarted/ComponentModels.md +2 -0
  229. package/learn/gettingstarted/Config.md +2 -0
  230. package/learn/gettingstarted/DescribingTheUI.md +2 -0
  231. package/learn/gettingstarted/Events.md +2 -0
  232. package/learn/gettingstarted/Extending.md +2 -0
  233. package/learn/gettingstarted/References.md +2 -0
  234. package/learn/gettingstarted/Setup.md +3 -2
  235. package/learn/gettingstarted/Workspaces.md +2 -0
  236. package/learn/guides/datahandling/Collections.md +1 -0
  237. package/learn/guides/datahandling/Records.md +1 -0
  238. package/learn/guides/datahandling/StateProviders.md +130 -16
  239. package/learn/guides/datahandling/Tables.md +1 -1
  240. package/learn/guides/fundamentals/ConfigSystemDeepDive.md +1 -0
  241. package/learn/guides/fundamentals/DeclarativeComponentTreesVsImperativeVdom.md +2 -0
  242. package/learn/guides/fundamentals/DeclarativeVDOMWithEffects.md +10 -8
  243. package/learn/guides/fundamentals/ExtendingNeoClasses.md +1 -0
  244. package/learn/guides/fundamentals/InstanceLifecycle.md +3 -1
  245. package/learn/guides/fundamentals/MainThreadAddons.md +2 -0
  246. package/learn/guides/specificfeatures/Mixins.md +3 -1
  247. package/learn/guides/specificfeatures/MultiWindow.md +3 -1
  248. package/learn/guides/specificfeatures/PortalApp.md +2 -0
  249. package/learn/guides/uibuildingblocks/ComponentsAndContainers.md +2 -0
  250. package/learn/guides/uibuildingblocks/CustomComponents.md +2 -0
  251. package/learn/guides/uibuildingblocks/Layouts.md +2 -0
  252. package/learn/guides/uibuildingblocks/WorkingWithVDom.md +2 -0
  253. package/learn/guides/userinteraction/Forms.md +2 -0
  254. package/learn/guides/userinteraction/events/CustomEvents.md +2 -1
  255. package/learn/guides/userinteraction/events/DomEvents.md +2 -0
  256. package/learn/javascript/ClassFeatures.md +4 -3
  257. package/learn/javascript/Classes.md +10 -13
  258. package/learn/javascript/Overrides.md +10 -6
  259. package/learn/javascript/Super.md +12 -8
  260. package/learn/tree.json +71 -64
  261. package/learn/tutorials/Earthquakes.md +2 -0
  262. package/learn/tutorials/RSP.md +3 -1
  263. package/learn/tutorials/TodoList.md +103 -7
  264. package/package.json +6 -4
  265. package/resources/scss/src/apps/email/ComposeView.scss +16 -0
  266. package/resources/scss/src/apps/email/MainView.scss +5 -0
  267. package/resources/scss/src/apps/portal/learn/ContentComponent.scss +5 -4
  268. package/src/DefaultConfig.mjs +12 -2
  269. package/src/Main.mjs +1 -0
  270. package/src/Neo.mjs +217 -166
  271. package/src/Xhr.mjs +1 -0
  272. package/src/button/Base.mjs +13 -0
  273. package/src/button/Effect.mjs +16 -2
  274. package/src/button/Split.mjs +2 -0
  275. package/src/calendar/store/Calendars.mjs +1 -0
  276. package/src/calendar/store/Colors.mjs +1 -0
  277. package/src/calendar/store/Events.mjs +1 -0
  278. package/src/calendar/view/DayComponent.mjs +2 -0
  279. package/src/calendar/view/EditEventContainer.mjs +4 -1
  280. package/src/calendar/view/MainContainer.mjs +13 -0
  281. package/src/calendar/view/MainContainerStateProvider.mjs +14 -28
  282. package/src/calendar/view/SettingsContainer.mjs +1 -0
  283. package/src/calendar/view/YearComponent.mjs +16 -0
  284. package/src/calendar/view/calendars/ColorsList.mjs +2 -0
  285. package/src/calendar/view/calendars/Container.mjs +2 -0
  286. package/src/calendar/view/calendars/EditContainer.mjs +1 -0
  287. package/src/calendar/view/month/Component.mjs +11 -0
  288. package/src/calendar/view/settings/GeneralContainer.mjs +1 -0
  289. package/src/calendar/view/settings/MonthContainer.mjs +1 -0
  290. package/src/calendar/view/settings/WeekContainer.mjs +1 -0
  291. package/src/calendar/view/settings/YearContainer.mjs +1 -0
  292. package/src/calendar/view/week/Component.mjs +15 -1
  293. package/src/calendar/view/week/TimeAxisComponent.mjs +4 -0
  294. package/src/code/LivePreview.mjs +51 -23
  295. package/src/collection/Base.mjs +7 -10
  296. package/src/collection/Filter.mjs +6 -0
  297. package/src/collection/Sorter.mjs +3 -0
  298. package/src/component/Base.mjs +104 -771
  299. package/src/component/Canvas.mjs +1 -0
  300. package/src/component/Chip.mjs +4 -0
  301. package/src/component/Circle.mjs +14 -0
  302. package/src/component/Clock.mjs +4 -0
  303. package/src/component/DateSelector.mjs +12 -0
  304. package/src/component/Gallery.mjs +11 -0
  305. package/src/component/Helix.mjs +24 -0
  306. package/src/component/Label.mjs +1 -0
  307. package/src/component/Legend.mjs +3 -0
  308. package/src/component/MagicMoveText.mjs +4 -0
  309. package/src/component/Progress.mjs +3 -0
  310. package/src/component/Splitter.mjs +3 -0
  311. package/src/component/StatusBadge.mjs +6 -0
  312. package/src/component/Timer.mjs +4 -0
  313. package/src/component/Toast.mjs +6 -0
  314. package/src/component/Video.mjs +1 -0
  315. package/src/component/mwc/Button.mjs +7 -0
  316. package/src/component/mwc/TextField.mjs +9 -0
  317. package/src/component/wrapper/AmChart.mjs +2 -0
  318. package/src/component/wrapper/GoogleMaps.mjs +3 -0
  319. package/src/component/wrapper/MapboxGL.mjs +5 -0
  320. package/src/component/wrapper/MonacoEditor.mjs +12 -0
  321. package/src/container/Accordion.mjs +2 -0
  322. package/src/container/Base.mjs +7 -3
  323. package/src/container/Panel.mjs +1 -0
  324. package/src/container/Viewport.mjs +1 -0
  325. package/src/controller/Application.mjs +1 -0
  326. package/src/controller/Base.mjs +1 -0
  327. package/src/controller/Component.mjs +1 -0
  328. package/src/core/Base.mjs +55 -3
  329. package/src/core/Compare.mjs +4 -7
  330. package/src/core/Config.mjs +65 -52
  331. package/src/core/Effect.mjs +79 -13
  332. package/src/core/EffectBatchManager.mjs +18 -19
  333. package/src/core/EffectManager.mjs +25 -3
  334. package/src/core/IdGenerator.mjs +13 -44
  335. package/src/data/Model.mjs +2 -0
  336. package/src/data/Store.mjs +7 -0
  337. package/src/data/connection/WebSocket.mjs +2 -0
  338. package/src/date/DayViewComponent.mjs +2 -0
  339. package/src/date/SelectorContainer.mjs +14 -0
  340. package/src/dialog/Base.mjs +8 -0
  341. package/src/draggable/DragZone.mjs +5 -0
  342. package/src/draggable/tree/DragZone.mjs +1 -0
  343. package/src/filter/BooleanContainer.mjs +2 -0
  344. package/src/filter/NumberContainer.mjs +3 -0
  345. package/src/filter/ToggleOperatorsButton.mjs +2 -0
  346. package/src/form/Fieldset.mjs +6 -0
  347. package/src/form/field/Base.mjs +7 -0
  348. package/src/form/field/CheckBox.mjs +18 -0
  349. package/src/form/field/Chip.mjs +1 -0
  350. package/src/form/field/ComboBox.mjs +8 -0
  351. package/src/form/field/Country.mjs +1 -0
  352. package/src/form/field/Currency.mjs +2 -0
  353. package/src/form/field/Date.mjs +4 -0
  354. package/src/form/field/Display.mjs +1 -0
  355. package/src/form/field/Email.mjs +1 -0
  356. package/src/form/field/FileUpload.mjs +7 -0
  357. package/src/form/field/Hidden.mjs +1 -0
  358. package/src/form/field/Number.mjs +7 -0
  359. package/src/form/field/Password.mjs +1 -0
  360. package/src/form/field/Phone.mjs +3 -0
  361. package/src/form/field/Picker.mjs +2 -0
  362. package/src/form/field/Radio.mjs +1 -0
  363. package/src/form/field/Range.mjs +3 -0
  364. package/src/form/field/Search.mjs +2 -0
  365. package/src/form/field/Text.mjs +32 -0
  366. package/src/form/field/TextArea.mjs +7 -0
  367. package/src/form/field/Time.mjs +6 -0
  368. package/src/form/field/Url.mjs +3 -0
  369. package/src/form/field/ZipCode.mjs +2 -0
  370. package/src/form/field/trigger/Base.mjs +3 -0
  371. package/src/form/field/trigger/Clear.mjs +2 -0
  372. package/src/form/field/trigger/CopyToClipboard.mjs +2 -0
  373. package/src/form/field/trigger/Date.mjs +1 -0
  374. package/src/form/field/trigger/Picker.mjs +1 -0
  375. package/src/form/field/trigger/Search.mjs +1 -0
  376. package/src/form/field/trigger/SpinDown.mjs +2 -0
  377. package/src/form/field/trigger/SpinUp.mjs +1 -0
  378. package/src/form/field/trigger/Time.mjs +2 -0
  379. package/src/functional/_export.mjs +6 -0
  380. package/src/functional/component/Base.mjs +499 -0
  381. package/src/functional/defineComponent.mjs +102 -0
  382. package/src/functional/useConfig.mjs +52 -0
  383. package/src/functional/useEvent.mjs +43 -0
  384. package/src/grid/Body.mjs +20 -1
  385. package/src/grid/Container.mjs +50 -60
  386. package/src/grid/ScrollManager.mjs +2 -0
  387. package/src/grid/VerticalScrollbar.mjs +2 -0
  388. package/src/grid/column/Base.mjs +2 -0
  389. package/src/grid/header/Button.mjs +7 -0
  390. package/src/grid/header/Toolbar.mjs +6 -0
  391. package/src/grid/plugin/AnimateRows.mjs +2 -0
  392. package/src/layout/Base.mjs +3 -0
  393. package/src/layout/Card.mjs +1 -0
  394. package/src/layout/Cube.mjs +11 -1
  395. package/src/layout/Fit.mjs +1 -0
  396. package/src/layout/Flexbox.mjs +7 -0
  397. package/src/layout/Form.mjs +2 -0
  398. package/src/layout/Grid.mjs +1 -0
  399. package/src/layout/HBox.mjs +1 -0
  400. package/src/layout/VBox.mjs +1 -0
  401. package/src/list/Base.mjs +13 -0
  402. package/src/list/Chip.mjs +1 -0
  403. package/src/list/Circle.mjs +2 -0
  404. package/src/list/Color.mjs +1 -0
  405. package/src/list/plugin/Animate.mjs +2 -0
  406. package/src/main/DeltaUpdates.mjs +1 -0
  407. package/src/main/DomEvents.mjs +2 -0
  408. package/src/main/addon/CloneNode.mjs +1 -0
  409. package/src/main/addon/Cookie.mjs +1 -0
  410. package/src/main/addon/GoogleMaps.mjs +1 -0
  411. package/src/main/addon/LocalStorage.mjs +1 -0
  412. package/src/main/addon/MapboxGL.mjs +1 -0
  413. package/src/main/addon/Markdown.mjs +1 -0
  414. package/src/main/addon/Navigator.mjs +1 -0
  415. package/src/main/addon/Popover.mjs +1 -0
  416. package/src/main/addon/Stylesheet.mjs +1 -0
  417. package/src/main/addon/WindowPosition.mjs +1 -0
  418. package/src/manager/Component.mjs +0 -71
  419. package/src/manager/VDomUpdate.mjs +235 -0
  420. package/src/menu/List.mjs +6 -0
  421. package/src/menu/Model.mjs +1 -0
  422. package/src/menu/Panel.mjs +3 -0
  423. package/src/menu/Store.mjs +1 -0
  424. package/src/mixin/DomEvents.mjs +130 -0
  425. package/src/mixin/VdomLifecycle.mjs +667 -0
  426. package/src/plugin/Base.mjs +1 -0
  427. package/src/plugin/Resizable.mjs +2 -0
  428. package/src/selection/Model.mjs +15 -18
  429. package/src/selection/grid/BaseModel.mjs +1 -0
  430. package/src/sitemap/Component.mjs +1 -0
  431. package/src/state/Provider.mjs +98 -70
  432. package/src/state/createHierarchicalDataProxy.mjs +39 -25
  433. package/src/tab/Container.mjs +6 -0
  434. package/src/tab/Strip.mjs +1 -0
  435. package/src/tab/header/Button.mjs +2 -0
  436. package/src/tab/header/EffectButton.mjs +2 -0
  437. package/src/tab/header/Toolbar.mjs +1 -0
  438. package/src/table/Body.mjs +3 -0
  439. package/src/table/Container.mjs +10 -0
  440. package/src/table/header/Button.mjs +8 -0
  441. package/src/table/header/Toolbar.mjs +5 -0
  442. package/src/table/plugin/CellEditing.mjs +1 -0
  443. package/src/toolbar/Base.mjs +4 -0
  444. package/src/toolbar/Breadcrumb.mjs +3 -0
  445. package/src/toolbar/Paging.mjs +5 -0
  446. package/src/tooltip/Base.mjs +2 -0
  447. package/src/tree/List.mjs +3 -0
  448. package/src/util/HashHistory.mjs +1 -0
  449. package/src/util/KeyNavigation.mjs +2 -0
  450. package/src/util/Matrix.mjs +1 -0
  451. package/src/util/VDom.mjs +7 -1
  452. package/src/util/VNode.mjs +7 -1
  453. package/src/util/vdom/TreeBuilder.mjs +129 -0
  454. package/src/vdom/Helper.mjs +35 -23
  455. package/src/vdom/VNode.mjs +4 -6
  456. package/src/worker/App.mjs +1 -0
  457. package/src/worker/Base.mjs +2 -0
  458. package/src/worker/Manager.mjs +2 -0
  459. package/src/worker/ServiceBase.mjs +6 -1
  460. package/test/siesta/siesta.js +5 -2
  461. package/test/siesta/tests/VdomCalendar.mjs +13 -9
  462. package/test/siesta/tests/core/Effect.mjs +10 -14
  463. package/test/siesta/tests/core/EffectBatching.mjs +25 -37
  464. package/test/siesta/tests/state/ProviderNestedDataConfigs.mjs +255 -0
  465. package/test/siesta/tests/state/createHierarchicalDataProxy.mjs +42 -55
  466. package/test/siesta/tests/vdom/VdomAsymmetricUpdates.mjs +366 -0
  467. package/test/siesta/tests/vdom/VdomRealWorldUpdates.mjs +249 -0
  468. package/learn/javascript/NewNode.md +0 -31
@@ -18,11 +18,13 @@ class DayComponent extends WeekComponent {
18
18
  /**
19
19
  * Amount of hidden columns on both sides each inside this view.
20
20
  * @member {Number} columnsBuffer=1
21
+ * @reactive
21
22
  */
22
23
  columnsBuffer: 1,
23
24
  /**
24
25
  * Amount of visible columns inside this view.
25
26
  * @member {Number} columnsVisible=1
27
+ * @reactive
26
28
  */
27
29
  columnsVisible: 1
28
30
  }
@@ -26,7 +26,7 @@ class EditEventContainer extends FormContainer {
26
26
  */
27
27
  bind: {
28
28
  endTime : data => data.endTime,
29
- intlFormat_time : data => data.intlFormat_time,
29
+ intlFormat_time : data => data.timeFormatter,
30
30
  minimumEventDuration: data => data.minimumEventDuration,
31
31
  startTime : data => data.startTime
32
32
  },
@@ -38,6 +38,7 @@ class EditEventContainer extends FormContainer {
38
38
  * Only full hours are valid for now
39
39
  * format: 'hh:mm'
40
40
  * @member {String} endTime_='24:00'
41
+ * @reactive
41
42
  */
42
43
  endTime_: '24:00',
43
44
  /**
@@ -56,12 +57,14 @@ class EditEventContainer extends FormContainer {
56
57
  owner: null,
57
58
  /**
58
59
  * @member {Neo.calendar.model.Event|null} record_=null
60
+ * @reactive
59
61
  */
60
62
  record_: null,
61
63
  /**
62
64
  * Only full hours are valid for now
63
65
  * format: 'hh:mm'
64
66
  * @member {String} startTime_='00:00'
67
+ * @reactive
65
68
  */
66
69
  startTime_: '00:00',
67
70
  /**
@@ -36,6 +36,7 @@ class MainContainer extends Container {
36
36
  * The currently active view. Must be a value included inside the views config.
37
37
  * valid values: 'day', 'week', 'month', 'year'
38
38
  * @member {String} activeView_='week'
39
+ * @reactive
39
40
  */
40
41
  activeView_: 'week',
41
42
  /**
@@ -45,6 +46,7 @@ class MainContainer extends Container {
45
46
  /**
46
47
  * Scale the calendar with using s different base font-size
47
48
  * @member {Number|null} baseFontSize_=null
49
+ * @reactive
48
50
  */
49
51
  baseFontSize_: null,
50
52
  /**
@@ -53,10 +55,12 @@ class MainContainer extends Container {
53
55
  calendarsContainer: null,
54
56
  /**
55
57
  * @member {Object|null} calendarStoreConfig_=null
58
+ * @reactive
56
59
  */
57
60
  calendarStoreConfig_: null,
58
61
  /**
59
62
  * @member {Object|null} colorStoreConfig_=null
63
+ * @reactive
60
64
  */
61
65
  colorStoreConfig_: null,
62
66
  /**
@@ -78,6 +82,7 @@ class MainContainer extends Container {
78
82
  /**
79
83
  * Read only
80
84
  * @member {Neo.calendar.view.calendars.EditContainer|null} editCalendarContainer_=null
85
+ * @reactive
81
86
  */
82
87
  editCalendarContainer_: null,
83
88
  /**
@@ -87,6 +92,7 @@ class MainContainer extends Container {
87
92
  /**
88
93
  * Read only
89
94
  * @member {Neo.calendar.view.EditEventContainer|null} editEventContainer_=null
95
+ * @reactive
90
96
  */
91
97
  editEventContainer_: null,
92
98
  /**
@@ -95,11 +101,13 @@ class MainContainer extends Container {
95
101
  editEventContainerConfig: null,
96
102
  /**
97
103
  * @member {Object|null} eventStoreConfig_=null
104
+ * @reactive
98
105
  */
99
106
  eventStoreConfig_: null,
100
107
  /**
101
108
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
102
109
  * @protected
110
+ * @reactive
103
111
  */
104
112
  layout: {ntype: 'vbox', align: 'stretch'},
105
113
  /**
@@ -125,10 +133,12 @@ class MainContainer extends Container {
125
133
  settingsContainerWidth: 310,
126
134
  /**
127
135
  * @member {Boolean} settingsExpanded_=false
136
+ * @reactive
128
137
  */
129
138
  settingsExpanded_: false,
130
139
  /**
131
140
  * @member {Boolean} sideBarExpanded_=true
141
+ * @reactive
132
142
  */
133
143
  sideBarExpanded_: true,
134
144
  /**
@@ -137,15 +147,18 @@ class MainContainer extends Container {
137
147
  sideBarWidth: 220,
138
148
  /**
139
149
  * @member {Neo.calendar.view.MainContainerStateProvider} stateProvider=MainContainerStateProvider
150
+ * @reactive
140
151
  */
141
152
  stateProvider: MainContainerStateProvider,
142
153
  /**
143
154
  * @member {Boolean} useSettingsContainer_=true
155
+ * @reactive
144
156
  */
145
157
  useSettingsContainer_: true,
146
158
  /**
147
159
  * Any combination and order of 'day', 'week', 'month', 'year'
148
160
  * @member {String[]} views_=['day','week','month','year']
161
+ * @reactive
149
162
  */
150
163
  views_: ['day', 'week', 'month', 'year'],
151
164
  /**
@@ -63,11 +63,6 @@ class MainContainerStateProvider extends StateProvider {
63
63
  */
64
64
  enableResizingAcrossOppositeEdge: true
65
65
  },
66
- /**
67
- * Read only, it will automatically get created inside onDataPropertyChange()
68
- * @member {Intl.DateTimeFormat|null} data.intlFormat_time=null
69
- */
70
- intlFormat_time: null,
71
66
  /**
72
67
  * @member {String} data.locale=Neo.config.locale
73
68
  */
@@ -101,6 +96,20 @@ class MainContainerStateProvider extends StateProvider {
101
96
  * @member {Number} data.weekStartDay=0
102
97
  */
103
98
  weekStartDay: 0
99
+ },
100
+ /**
101
+ * Defines computed properties based on other data properties.
102
+ * @member {Object} formulas
103
+ */
104
+ formulas: {
105
+ /**
106
+ * Creates the Intl.DateTimeFormat instance based on the current locale and timeFormat.
107
+ * This formula will automatically re-run whenever `data.locale` or `data.timeFormat` changes.
108
+ * The result is exposed as the 'timeFormatter' property in the state.
109
+ * @param {Object} data The hierarchical data proxy
110
+ * @returns {Intl.DateTimeFormat}
111
+ */
112
+ timeFormatter: data => (data.locale && data.timeFormat) ? new Intl.DateTimeFormat(data.locale, data.timeFormat) : null
104
113
  }
105
114
  }
106
115
 
@@ -141,29 +150,6 @@ class MainContainerStateProvider extends StateProvider {
141
150
  module: EventsStore,
142
151
  ...component.eventStoreConfig
143
152
  }
144
- };
145
- }
146
-
147
- /**
148
- * @param {String} key
149
- * @param {*} value
150
- * @param {*} oldValue
151
- */
152
- onDataPropertyChange(key, value, oldValue) {
153
- super.onDataPropertyChange(key, value, oldValue);
154
-
155
- let {data} = this;
156
-
157
- switch (key) {
158
- case 'locale': {
159
- data.intlFormat_time = new Intl.DateTimeFormat(value, data.timeFormat);
160
- break
161
- }
162
-
163
- case 'timeFormat': {
164
- data.intlFormat_time = new Intl.DateTimeFormat(data.locale, value);
165
- break
166
- }
167
153
  }
168
154
  }
169
155
  }
@@ -24,6 +24,7 @@ class SettingsContainer extends Container {
24
24
  /**
25
25
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
26
26
  * @protected
27
+ * @reactive
27
28
  */
28
29
  layout: {ntype: 'vbox', align: 'stretch'},
29
30
  /**
@@ -46,35 +46,42 @@ class YearComponent extends Component {
46
46
  /**
47
47
  * Bound to the state provider.
48
48
  * @member {Neo.calendar.store.Calendars|null} calendarStore_=null
49
+ * @reactive
49
50
  */
50
51
  calendarStore_: null,
51
52
  /**
52
53
  * Will get passed from the MainContainer
53
54
  * @member {Date|null} currentDate_=null
54
55
  * @protected
56
+ * @reactive
55
57
  */
56
58
  currentDate_: null,
57
59
  /**
58
60
  * The format of the column headers.
59
61
  * Valid values are: narrow, short & long
60
62
  * @member {String} dayNameFormat_='narrow'
63
+ * @reactive
61
64
  */
62
65
  dayNameFormat_: 'narrow',
63
66
  /**
64
67
  * @member {Number} eventIndicatorHigh_=3
68
+ * @reactive
65
69
  */
66
70
  eventIndicatorHigh_: 3,
67
71
  /**
68
72
  * @member {Number} eventIndicatorLow_=1
73
+ * @reactive
69
74
  */
70
75
  eventIndicatorLow_: 1,
71
76
  /**
72
77
  * @member {Number} eventIndicatorMedium_=2
78
+ * @reactive
73
79
  */
74
80
  eventIndicatorMedium_: 2,
75
81
  /**
76
82
  * Bound to the state provider.
77
83
  * @member {Neo.calendar.store.Events|null} eventStore_=null
84
+ * @reactive
78
85
  */
79
86
  eventStore_: null,
80
87
  /**
@@ -91,17 +98,20 @@ class YearComponent extends Component {
91
98
  * Internal flag to prevent changing the date while change animations are still running
92
99
  * @member {Boolean} isUpdating_=false
93
100
  * @protected
101
+ * @reactive
94
102
  */
95
103
  isUpdating_: false,
96
104
  /**
97
105
  * Bound to the state provider.
98
106
  * @member {String} locale_=Neo.config.locale
107
+ * @reactive
99
108
  */
100
109
  locale_: Neo.config.locale,
101
110
  /**
102
111
  * The format of the month header names.
103
112
  * Valid values are: narrow, short & long
104
113
  * @member {String} monthNameFormat_='long'
114
+ * @reactive
105
115
  */
106
116
  monthNameFormat_: 'long',
107
117
  /**
@@ -123,26 +133,31 @@ class YearComponent extends Component {
123
133
  /**
124
134
  * True to show borders for the calendar month cells
125
135
  * @member {Boolean} showCellBorders_=false
136
+ * @reactive
126
137
  */
127
138
  showCellBorders_: false,
128
139
  /**
129
140
  * True to show the days of the previous or next month (not selectable)
130
141
  * @member {Boolean} showDisabledDays_=true
142
+ * @reactive
131
143
  */
132
144
  showDisabledDays_: true,
133
145
  /**
134
146
  * Bound to the state provider.
135
147
  * @member {Boolean} showWeekends_=true
148
+ * @reactive
136
149
  */
137
150
  showWeekends_: true,
138
151
  /**
139
152
  * True to show the week number as the first column of each month
140
153
  * @member {Boolean} showWeekNumbers_=true
154
+ * @reactive
141
155
  */
142
156
  showWeekNumbers_: true,
143
157
  /**
144
158
  * True to show 6 weeks for each month, so that all months have the same height
145
159
  * @member {Boolean} sixWeeksPerMonth_=false
160
+ * @reactive
146
161
  */
147
162
  sixWeeksPerMonth_: false,
148
163
  /**
@@ -168,6 +183,7 @@ class YearComponent extends Component {
168
183
  * 0-6 => Sun-Sat
169
184
  * Bound to the state provider.
170
185
  * @member {Number} weekStartDay_=0
186
+ * @reactive
171
187
  */
172
188
  weekStartDay_: 0
173
189
  }
@@ -28,11 +28,13 @@ class ColorsList extends List {
28
28
  selectOnFocus: true,
29
29
  /**
30
30
  * @member {Boolean} useWrapperNode=false
31
+ * @reactive
31
32
  */
32
33
  useWrapperNode: false,
33
34
  /**
34
35
  * The list gets used as a form field, so we are adjusting the selection based on this config
35
36
  * @member {String} value_=null
37
+ * @reactive
36
38
  */
37
39
  value_: null,
38
40
  /**
@@ -24,6 +24,7 @@ class Container extends BaseContainer {
24
24
  },
25
25
  /**
26
26
  * @member {Neo.calendar.store.Calendars|null} calendarStore_=null
27
+ * @reactive
27
28
  */
28
29
  calendarStore: null,
29
30
  /**
@@ -44,6 +45,7 @@ class Container extends BaseContainer {
44
45
  /**
45
46
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
46
47
  * @protected
48
+ * @reactive
47
49
  */
48
50
  layout: {ntype: 'vbox', align: 'stretch'},
49
51
  /**
@@ -36,6 +36,7 @@ class EditContainer extends FormContainer {
36
36
  owner: null,
37
37
  /**
38
38
  * @member {Neo.calendar.model.Calendar|null} record_=null
39
+ * @reactive
39
40
  */
40
41
  record_: null,
41
42
  /**
@@ -41,28 +41,33 @@ class Component extends BaseComponent {
41
41
  /**
42
42
  * Bound to the state provider
43
43
  * @member {Neo.calendar.store.Calendars|null} calendarStore_=null
44
+ * @reactive
44
45
  */
45
46
  calendarStore_: null,
46
47
  /**
47
48
  * Will get passed from the MainContainer
48
49
  * @member {Date|null} currentDate_=null
49
50
  * @protected
51
+ * @reactive
50
52
  */
51
53
  currentDate_: null,
52
54
  /**
53
55
  * The format of the column headers.
54
56
  * Valid values are: narrow, short & long
55
57
  * @member {String} dayNameFormat_='short'
58
+ * @reactive
56
59
  */
57
60
  dayNameFormat_: 'short',
58
61
  /**
59
62
  * Bound to the state provider
60
63
  * @member {String|null} eventBorder_=null
64
+ * @reactive
61
65
  */
62
66
  eventBorder_: null,
63
67
  /**
64
68
  * Bound to the state provider.
65
69
  * @member {Neo.calendar.store.Events|null} eventStore_=null
70
+ * @reactive
66
71
  */
67
72
  eventStore_: null,
68
73
  /**
@@ -95,12 +100,14 @@ class Component extends BaseComponent {
95
100
  /**
96
101
  * Bound to the state provider.
97
102
  * @member {String} locale_=Neo.config.locale
103
+ * @reactive
98
104
  */
99
105
  locale_: Neo.config.locale,
100
106
  /**
101
107
  * The format of the month header names.
102
108
  * Valid values are: narrow, short & long
103
109
  * @member {String} monthNameFormat_='long'
110
+ * @reactive
104
111
  */
105
112
  monthNameFormat_: 'short',
106
113
  /**
@@ -122,15 +129,18 @@ class Component extends BaseComponent {
122
129
  /**
123
130
  * Bound to the state provider.
124
131
  * @member {Boolean} showWeekends_=true
132
+ * @reactive
125
133
  */
126
134
  showWeekends_: true,
127
135
  /**
128
136
  * @member {Object} timeFormat_={hour:'2-digit',minute:'2-digit'}
137
+ * @reactive
129
138
  */
130
139
  timeFormat_: {hour: '2-digit', minute: '2-digit'},
131
140
  /**
132
141
  * True to use box shadows for the months while scrolling
133
142
  * @member {Boolean} useScrollBoxShadows_=true
143
+ * @reactive
134
144
  */
135
145
  useScrollBoxShadows_: true,
136
146
  /**
@@ -150,6 +160,7 @@ class Component extends BaseComponent {
150
160
  * 0-6 => Sun-Sat
151
161
  * Bound to the state provider.
152
162
  * @member {Number} weekStartDay_=0
163
+ * @reactive
153
164
  */
154
165
  weekStartDay_: 0
155
166
  }
@@ -18,6 +18,7 @@ class GeneralContainer extends Container {
18
18
  className: 'Neo.calendar.view.settings.GeneralContainer',
19
19
  /**
20
20
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
21
+ * @reactive
21
22
  */
22
23
  layout: {ntype: 'vbox', align: 'stretch'}
23
24
  }
@@ -15,6 +15,7 @@ class MonthContainer extends Container {
15
15
  className: 'Neo.calendar.view.settings.MonthContainer',
16
16
  /**
17
17
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
18
+ * @reactive
18
19
  */
19
20
  layout: {ntype: 'vbox', align: 'stretch'}
20
21
  }
@@ -24,6 +24,7 @@ class WeekContainer extends Container {
24
24
  },
25
25
  /**
26
26
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
27
+ * @reactive
27
28
  */
28
29
  layout: {ntype: 'vbox', align: 'stretch'}
29
30
  }
@@ -16,6 +16,7 @@ class YearContainer extends Container {
16
16
  className: 'Neo.calendar.view.settings.YearContainer',
17
17
  /**
18
18
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
19
+ * @reactive
19
20
  */
20
21
  layout: {ntype: 'vbox', align: 'stretch'}
21
22
  }
@@ -45,7 +45,7 @@ class Component extends BaseComponent {
45
45
  endTime : data => data.endTime,
46
46
  eventBorder : data => data.events.border,
47
47
  eventStore : 'stores.events',
48
- intlFormat_time : data => data.intlFormat_time,
48
+ intlFormat_time : data => data.timeFormatter,
49
49
  locale : data => data.locale,
50
50
  minimumEventDuration: data => data.minimumEventDuration,
51
51
  showWeekends : data => data.showWeekends,
@@ -55,39 +55,46 @@ class Component extends BaseComponent {
55
55
  /**
56
56
  * Bound to the state provider
57
57
  * @member {Neo.calendar.store.Calendars|null} calendarStore_=null
58
+ * @reactive
58
59
  */
59
60
  calendarStore_: null,
60
61
  /**
61
62
  * Amount of hidden columns on both sides each inside this view.
62
63
  * @member {Number} columnsBuffer_=7
64
+ * @reactive
63
65
  */
64
66
  columnsBuffer_: 7,
65
67
  /**
66
68
  * Amount of visible columns inside this view.
67
69
  * @member {Number} columnsVisible_=7
70
+ * @reactive
68
71
  */
69
72
  columnsVisible_: 7,
70
73
  /**
71
74
  * Bound to the state provider.
72
75
  * @member {Date|null} currentDate_=null
73
76
  * @protected
77
+ * @reactive
74
78
  */
75
79
  currentDate_: null,
76
80
  /**
77
81
  * The format of the column headers.
78
82
  * Valid values are: narrow, short & long
79
83
  * @member {String} dayNameFormat_='short'
84
+ * @reactive
80
85
  */
81
86
  dayNameFormat_: 'short',
82
87
  /**
83
88
  * Bound to the state provider.
84
89
  * @member {Boolean} enableDrag_=true
85
90
  * @protected
91
+ * @reactive
86
92
  */
87
93
  enableDrag_: true,
88
94
  /**
89
95
  * Bound to the state provider
90
96
  * @member {String|null} eventBorder_=null
97
+ * @reactive
91
98
  */
92
99
  eventBorder_: null,
93
100
  /**
@@ -97,6 +104,7 @@ class Component extends BaseComponent {
97
104
  /**
98
105
  * Bound to the state provider
99
106
  * @member {Neo.calendar.store.Events|null} eventStore_=null
107
+ * @reactive
100
108
  */
101
109
  eventStore_: null,
102
110
  /**
@@ -120,6 +128,7 @@ class Component extends BaseComponent {
120
128
  * Bound to the state provider.
121
129
  * @member {Intl.DateTimeFormat|null} intlFormat_time_=null
122
130
  * @protected
131
+ * @reactive
123
132
  */
124
133
  intlFormat_time_: null,
125
134
  /**
@@ -130,6 +139,7 @@ class Component extends BaseComponent {
130
139
  /**
131
140
  * Bound to the state provider.
132
141
  * @member {String} locale_=Neo.config.locale
142
+ * @reactive
133
143
  */
134
144
  locale_: Neo.config.locale,
135
145
  /**
@@ -161,11 +171,13 @@ class Component extends BaseComponent {
161
171
  pluginEventResizableConfig: null,
162
172
  /**
163
173
  * @member {Boolean} showEventEndTime_=false
174
+ * @reactive
164
175
  */
165
176
  showEventEndTime_: false,
166
177
  /**
167
178
  * Bound to the state provider.
168
179
  * @member {Boolean} showWeekends_=true
180
+ * @reactive
169
181
  */
170
182
  showWeekends_: true,
171
183
  /**
@@ -181,6 +193,7 @@ class Component extends BaseComponent {
181
193
  * Valid values are start & end.
182
194
  * start => left, end => right in LTR mode.
183
195
  * @member {String} timeAxisPosition_='start'
196
+ * @reactive
184
197
  */
185
198
  timeAxisPosition_: 'start',
186
199
  /**
@@ -208,6 +221,7 @@ class Component extends BaseComponent {
208
221
  * 0-6 => Sun-Sat
209
222
  * Bound to the state provider.
210
223
  * @member {Number} weekStartDay_=0
224
+ * @reactive
211
225
  */
212
226
  weekStartDay_: 0
213
227
  }
@@ -34,22 +34,26 @@ class TimeAxisComponent extends Component {
34
34
  * Only full hours are valid for now
35
35
  * format: 'hh:mm'
36
36
  * @member {String} endTime_='24:00'
37
+ * @reactive
37
38
  */
38
39
  endTime_: '24:00',
39
40
  /**
40
41
  * The time interval in minutes to display as rows.
41
42
  * Valid values: 15, 30, 60
42
43
  * @member {Number} interval_=30
44
+ * @reactive
43
45
  */
44
46
  interval_: 30,
45
47
  /**
46
48
  * @member {Number} rowHeight_=20
49
+ * @reactive
47
50
  */
48
51
  rowHeight_: 20,
49
52
  /**
50
53
  * Only full hours are valid for now
51
54
  * format: 'hh:mm'
52
55
  * @member {String} startTime_='00:00'
56
+ * @reactive
53
57
  */
54
58
  startTime_: '00:00',
55
59
  /**