neo.mjs 6.12.1 → 6.13.0

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 (940) hide show
  1. package/apps/ServiceWorker.mjs +1 -1
  2. package/apps/covid/Util.mjs +1 -1
  3. package/apps/covid/model/Country.mjs +1 -1
  4. package/apps/covid/model/HistoricalData.mjs +1 -1
  5. package/apps/covid/store/Countries.mjs +1 -1
  6. package/apps/covid/store/HistoricalData.mjs +1 -1
  7. package/apps/covid/view/AttributionComponent.mjs +1 -1
  8. package/apps/covid/view/FooterContainer.mjs +1 -1
  9. package/apps/covid/view/GalleryContainer.mjs +1 -1
  10. package/apps/covid/view/GalleryContainerController.mjs +1 -1
  11. package/apps/covid/view/HeaderContainer.mjs +1 -1
  12. package/apps/covid/view/HelixContainer.mjs +1 -1
  13. package/apps/covid/view/HelixContainerController.mjs +1 -1
  14. package/apps/covid/view/MainContainer.mjs +1 -1
  15. package/apps/covid/view/MainContainerController.mjs +1 -1
  16. package/apps/covid/view/MainContainerModel.mjs +1 -1
  17. package/apps/covid/view/TableContainer.mjs +1 -1
  18. package/apps/covid/view/TableContainerController.mjs +1 -1
  19. package/apps/covid/view/WorldMapComponent.mjs +1 -1
  20. package/apps/covid/view/WorldMapContainer.mjs +1 -1
  21. package/apps/covid/view/WorldMapContainerController.mjs +1 -1
  22. package/apps/covid/view/country/Gallery.mjs +1 -1
  23. package/apps/covid/view/country/Helix.mjs +1 -1
  24. package/apps/covid/view/country/HistoricalDataTable.mjs +1 -1
  25. package/apps/covid/view/country/LineChartComponent.mjs +1 -1
  26. package/apps/covid/view/country/Table.mjs +1 -1
  27. package/apps/covid/view/mapboxGl/Component.mjs +1 -1
  28. package/apps/covid/view/mapboxGl/Container.mjs +1 -1
  29. package/apps/covid/view/mapboxGl/ContainerController.mjs +1 -1
  30. package/apps/form/model/SideNav.mjs +1 -1
  31. package/apps/form/store/SideNav.mjs +1 -1
  32. package/apps/form/view/FormContainer.mjs +1 -1
  33. package/apps/form/view/FormContainerController.mjs +1 -1
  34. package/apps/form/view/FormPageContainer.mjs +1 -1
  35. package/apps/form/view/SideNavList.mjs +1 -1
  36. package/apps/form/view/Viewport.mjs +3 -3
  37. package/apps/form/view/ViewportController.mjs +1 -1
  38. package/apps/form/view/ViewportModel.mjs +1 -1
  39. package/apps/form/view/pages/Page1.mjs +1 -1
  40. package/apps/form/view/pages/Page10.mjs +1 -1
  41. package/apps/form/view/pages/Page11.mjs +1 -1
  42. package/apps/form/view/pages/Page12.mjs +1 -1
  43. package/apps/form/view/pages/Page13.mjs +1 -1
  44. package/apps/form/view/pages/Page14.mjs +1 -1
  45. package/apps/form/view/pages/Page15.mjs +1 -1
  46. package/apps/form/view/pages/Page2.mjs +1 -1
  47. package/apps/form/view/pages/Page3.mjs +1 -1
  48. package/apps/form/view/pages/Page4.mjs +1 -1
  49. package/apps/form/view/pages/Page5.mjs +1 -1
  50. package/apps/form/view/pages/Page6.mjs +1 -1
  51. package/apps/form/view/pages/Page7.mjs +1 -1
  52. package/apps/form/view/pages/Page8.mjs +1 -1
  53. package/apps/form/view/pages/Page9.mjs +1 -1
  54. package/apps/krausest/TableCollection.mjs +1 -1
  55. package/apps/krausest/view/MainComponent.mjs +1 -1
  56. package/apps/krausest/view/MainComponentController.mjs +1 -1
  57. package/apps/krausest/view/TableComponent.mjs +1 -1
  58. package/apps/portal/childapps/preview/MainContainer.mjs +23 -0
  59. package/apps/portal/childapps/preview/app.mjs +6 -0
  60. package/apps/portal/childapps/preview/index.html +11 -0
  61. package/apps/portal/childapps/preview/neo-config.json +9 -0
  62. package/apps/portal/model/BlogPost.mjs +1 -1
  63. package/apps/portal/model/Content.mjs +5 -5
  64. package/apps/portal/model/ContentSection.mjs +32 -0
  65. package/apps/portal/neo-config.json +3 -2
  66. package/apps/portal/store/BlogPosts.mjs +1 -1
  67. package/apps/portal/store/Content.mjs +4 -51
  68. package/apps/portal/store/ContentSections.mjs +24 -0
  69. package/apps/portal/view/HeaderToolbar.mjs +14 -6
  70. package/apps/portal/view/Viewport.mjs +3 -2
  71. package/apps/portal/view/ViewportController.mjs +11 -1
  72. package/apps/portal/view/blog/Container.mjs +1 -1
  73. package/apps/portal/view/blog/List.mjs +1 -1
  74. package/apps/portal/view/home/MainContainer.mjs +1 -1
  75. package/apps/portal/view/learn/ContentTreeList.mjs +34 -147
  76. package/apps/portal/view/learn/ContentView.mjs +229 -17
  77. package/apps/portal/view/learn/LivePreview.mjs +175 -76
  78. package/apps/portal/view/learn/MainContainer.mjs +20 -18
  79. package/apps/portal/view/learn/MainContainerController.mjs +135 -23
  80. package/apps/portal/view/learn/MainContainerModel.mjs +99 -7
  81. package/apps/portal/view/learn/PageContainer.mjs +110 -0
  82. package/apps/portal/view/learn/PageSectionsPanel.mjs +88 -0
  83. package/apps/realworld/api/Article.mjs +1 -5
  84. package/apps/realworld/api/Base.mjs +1 -1
  85. package/apps/realworld/api/Favorite.mjs +1 -5
  86. package/apps/realworld/api/Profile.mjs +1 -5
  87. package/apps/realworld/api/Tag.mjs +1 -5
  88. package/apps/realworld/api/User.mjs +1 -5
  89. package/apps/realworld/view/FooterComponent.mjs +1 -1
  90. package/apps/realworld/view/HeaderComponent.mjs +1 -1
  91. package/apps/realworld/view/HomeComponent.mjs +1 -1
  92. package/apps/realworld/view/MainContainer.mjs +1 -1
  93. package/apps/realworld/view/MainContainerController.mjs +1 -1
  94. package/apps/realworld/view/article/CommentComponent.mjs +1 -1
  95. package/apps/realworld/view/article/Component.mjs +1 -1
  96. package/apps/realworld/view/article/CreateCommentComponent.mjs +1 -1
  97. package/apps/realworld/view/article/CreateComponent.mjs +1 -1
  98. package/apps/realworld/view/article/PreviewComponent.mjs +1 -1
  99. package/apps/realworld/view/article/TagListComponent.mjs +1 -1
  100. package/apps/realworld/view/user/ProfileComponent.mjs +1 -1
  101. package/apps/realworld/view/user/SettingsComponent.mjs +1 -1
  102. package/apps/realworld/view/user/SignUpComponent.mjs +1 -1
  103. package/apps/realworld2/api/Article.mjs +1 -5
  104. package/apps/realworld2/api/Base.mjs +1 -1
  105. package/apps/realworld2/api/Favorite.mjs +1 -5
  106. package/apps/realworld2/api/Profile.mjs +1 -5
  107. package/apps/realworld2/api/Tag.mjs +1 -5
  108. package/apps/realworld2/api/User.mjs +1 -5
  109. package/apps/realworld2/model/ArticlePreview.mjs +1 -1
  110. package/apps/realworld2/store/ArticlePreviews.mjs +1 -1
  111. package/apps/realworld2/view/FooterComponent.mjs +1 -1
  112. package/apps/realworld2/view/HeaderToolbar.mjs +1 -1
  113. package/apps/realworld2/view/HeaderToolbarController.mjs +1 -1
  114. package/apps/realworld2/view/HomeContainer.mjs +1 -1
  115. package/apps/realworld2/view/MainContainer.mjs +1 -1
  116. package/apps/realworld2/view/MainContainerController.mjs +1 -1
  117. package/apps/realworld2/view/article/DetailsContainer.mjs +1 -1
  118. package/apps/realworld2/view/article/FormContainer.mjs +1 -1
  119. package/apps/realworld2/view/article/Gallery.mjs +1 -1
  120. package/apps/realworld2/view/article/GalleryContainer.mjs +1 -1
  121. package/apps/realworld2/view/article/Helix.mjs +1 -1
  122. package/apps/realworld2/view/article/HelixContainer.mjs +1 -1
  123. package/apps/realworld2/view/article/PreviewComponent.mjs +1 -1
  124. package/apps/realworld2/view/article/PreviewList.mjs +1 -1
  125. package/apps/realworld2/view/article/TagListComponent.mjs +1 -1
  126. package/apps/realworld2/view/user/LoginFormContainer.mjs +1 -1
  127. package/apps/realworld2/view/user/ProfileContainer.mjs +1 -1
  128. package/apps/realworld2/view/user/SettingsFormContainer.mjs +1 -1
  129. package/apps/route/view/ButtonBar.mjs +1 -1
  130. package/apps/route/view/CenterContainer.mjs +1 -1
  131. package/apps/route/view/FooterContainer.mjs +1 -1
  132. package/apps/route/view/HeaderContainer.mjs +1 -1
  133. package/apps/route/view/MainView.mjs +4 -4
  134. package/apps/route/view/MainViewController.mjs +1 -1
  135. package/apps/route/view/MetaContainer.mjs +2 -2
  136. package/apps/route/view/Viewport.mjs +1 -1
  137. package/apps/route/view/center/CardAdministration.mjs +1 -1
  138. package/apps/route/view/center/CardAdministrationDenied.mjs +1 -1
  139. package/apps/route/view/center/CardContact.mjs +1 -1
  140. package/apps/route/view/center/CardHome.mjs +1 -1
  141. package/apps/route/view/center/CardSection1.mjs +1 -1
  142. package/apps/route/view/center/CardSection2.mjs +1 -1
  143. package/apps/sharedcovid/Util.mjs +1 -1
  144. package/apps/sharedcovid/childapps/sharedcovidchart/MainContainer.mjs +1 -1
  145. package/apps/sharedcovid/childapps/sharedcovidgallery/MainContainer.mjs +1 -1
  146. package/apps/sharedcovid/childapps/sharedcovidhelix/MainContainer.mjs +1 -1
  147. package/apps/sharedcovid/childapps/sharedcovidmap/MainContainer.mjs +1 -1
  148. package/apps/sharedcovid/model/Country.mjs +1 -1
  149. package/apps/sharedcovid/model/HistoricalData.mjs +1 -1
  150. package/apps/sharedcovid/store/Countries.mjs +1 -1
  151. package/apps/sharedcovid/store/HistoricalData.mjs +1 -1
  152. package/apps/sharedcovid/view/AttributionComponent.mjs +1 -1
  153. package/apps/sharedcovid/view/FooterContainer.mjs +1 -1
  154. package/apps/sharedcovid/view/GalleryContainer.mjs +1 -1
  155. package/apps/sharedcovid/view/GalleryContainerController.mjs +1 -1
  156. package/apps/sharedcovid/view/HeaderContainer.mjs +1 -1
  157. package/apps/sharedcovid/view/HelixContainer.mjs +1 -1
  158. package/apps/sharedcovid/view/HelixContainerController.mjs +1 -1
  159. package/apps/sharedcovid/view/MainContainer.mjs +1 -1
  160. package/apps/sharedcovid/view/MainContainerController.mjs +1 -1
  161. package/apps/sharedcovid/view/MainContainerModel.mjs +1 -1
  162. package/apps/sharedcovid/view/TableContainer.mjs +1 -1
  163. package/apps/sharedcovid/view/TableContainerController.mjs +1 -1
  164. package/apps/sharedcovid/view/WorldMapComponent.mjs +1 -1
  165. package/apps/sharedcovid/view/WorldMapContainer.mjs +1 -1
  166. package/apps/sharedcovid/view/WorldMapContainerController.mjs +1 -1
  167. package/apps/sharedcovid/view/country/Gallery.mjs +1 -1
  168. package/apps/sharedcovid/view/country/Helix.mjs +1 -1
  169. package/apps/sharedcovid/view/country/HistoricalDataTable.mjs +1 -1
  170. package/apps/sharedcovid/view/country/LineChartComponent.mjs +1 -1
  171. package/apps/sharedcovid/view/country/Table.mjs +1 -1
  172. package/apps/sharedcovid/view/mapboxGl/Component.mjs +1 -1
  173. package/apps/sharedcovid/view/mapboxGl/Container.mjs +1 -1
  174. package/apps/sharedcovid/view/mapboxGl/ContainerController.mjs +1 -1
  175. package/apps/shareddialog/childapps/shareddialog2/view/MainContainer.mjs +1 -1
  176. package/apps/shareddialog/childapps/shareddialog2/view/MainContainerController.mjs +1 -1
  177. package/apps/shareddialog/view/DemoDialog.mjs +1 -1
  178. package/apps/shareddialog/view/MainContainer.mjs +1 -1
  179. package/apps/shareddialog/view/MainContainerController.mjs +1 -1
  180. package/apps/website/model/BlogPost.mjs +1 -1
  181. package/apps/website/model/Example.mjs +1 -1
  182. package/apps/website/store/BlogPosts.mjs +1 -1
  183. package/apps/website/store/Examples.mjs +1 -1
  184. package/apps/website/view/HeaderContainer.mjs +1 -1
  185. package/apps/website/view/MainContainer.mjs +1 -1
  186. package/apps/website/view/MainContainerController.mjs +1 -1
  187. package/apps/website/view/blog/Container.mjs +1 -1
  188. package/apps/website/view/blog/List.mjs +1 -1
  189. package/apps/website/view/examples/List.mjs +1 -1
  190. package/apps/website/view/examples/TabContainer.mjs +1 -1
  191. package/apps/website/view/home/DeveloperIntroComponent.mjs +1 -1
  192. package/apps/website/view/home/ExecutiveIntroComponent.mjs +1 -1
  193. package/apps/website/view/home/TabContainer.mjs +1 -1
  194. package/buildScripts/createApp.mjs +1 -1
  195. package/buildScripts/createAppMinimal.mjs +4 -4
  196. package/buildScripts/createClass.mjs +2 -2
  197. package/buildScripts/docs/jsdocx.mjs +3 -4
  198. package/buildScripts/tools/createExample.mjs +1 -1
  199. package/docs/app/model/Api.mjs +1 -1
  200. package/docs/app/model/Example.mjs +1 -1
  201. package/docs/app/model/Tutorial.mjs +1 -1
  202. package/docs/app/store/Api.mjs +1 -1
  203. package/docs/app/store/Examples.mjs +1 -1
  204. package/docs/app/store/Tutorials.mjs +1 -1
  205. package/docs/app/view/ApiTreeList.mjs +1 -1
  206. package/docs/app/view/ContentTabContainer.mjs +1 -1
  207. package/docs/app/view/ExamplesTreeList.mjs +1 -1
  208. package/docs/app/view/HeaderContainer.mjs +1 -1
  209. package/docs/app/view/MainContainer.mjs +1 -1
  210. package/docs/app/view/MainContainerController.mjs +54 -40
  211. package/docs/app/view/TutorialsTreeList.mjs +1 -1
  212. package/docs/app/view/classdetails/HeaderComponent.mjs +4 -4
  213. package/docs/app/view/classdetails/HierarchyTreeList.mjs +1 -1
  214. package/docs/app/view/classdetails/MainContainer.mjs +1 -1
  215. package/docs/app/view/classdetails/MainContainerController.mjs +4 -17
  216. package/docs/app/view/classdetails/MembersList.mjs +3 -3
  217. package/docs/app/view/classdetails/SourceViewComponent.mjs +5 -5
  218. package/docs/app/view/classdetails/TutorialComponent.mjs +1 -1
  219. package/docs/neo-config.json +1 -1
  220. package/examples/ConfigurationViewport.mjs +3 -2
  221. package/examples/ServiceWorker.mjs +1 -1
  222. package/examples/button/base/MainContainer.mjs +1 -1
  223. package/examples/button/split/MainContainer.mjs +1 -1
  224. package/examples/calendar/basic/MainContainer.mjs +1 -1
  225. package/examples/calendar/basic/MainContainerController.mjs +1 -1
  226. package/examples/calendar/weekview/MainContainer.mjs +1 -1
  227. package/examples/charts/MainContainer.mjs +1 -1
  228. package/examples/component/canvas/MainContainer.mjs +1 -1
  229. package/examples/component/carousel/MainContainer.mjs +1 -1
  230. package/examples/component/chip/MainContainer.mjs +1 -1
  231. package/examples/component/circle/MainContainer.mjs +1 -1
  232. package/examples/component/clock/MainContainer.mjs +1 -1
  233. package/examples/component/coronaGallery/CountryGallery.mjs +1 -1
  234. package/examples/component/coronaGallery/CountryModel.mjs +1 -1
  235. package/examples/component/coronaGallery/CountryStore.mjs +1 -1
  236. package/examples/component/coronaGallery/MainContainer.mjs +1 -1
  237. package/examples/component/coronaHelix/CountryHelix.mjs +1 -1
  238. package/examples/component/coronaHelix/CountryModel.mjs +1 -1
  239. package/examples/component/coronaHelix/CountryStore.mjs +1 -1
  240. package/examples/component/coronaHelix/MainContainer.mjs +1 -1
  241. package/examples/component/dateSelector/MainContainer.mjs +1 -1
  242. package/examples/component/gallery/ImageModel.mjs +1 -1
  243. package/examples/component/gallery/ImageStore.mjs +1 -1
  244. package/examples/component/gallery/MainContainer.mjs +1 -1
  245. package/examples/component/helix/ImageModel.mjs +1 -1
  246. package/examples/component/helix/ImageStore.mjs +1 -1
  247. package/examples/component/helix/MainContainer.mjs +1 -1
  248. package/examples/component/mwc/button/MainContainer.mjs +1 -1
  249. package/examples/component/mwc/buttons/MainContainer.mjs +1 -1
  250. package/examples/component/mwc/textField/MainContainer.mjs +1 -1
  251. package/examples/component/mwc/textFields/MainContainer.mjs +1 -1
  252. package/examples/component/process/MainContainer.mjs +1 -1
  253. package/examples/component/process/realWorldExample/MainContainer.mjs +1 -1
  254. package/examples/component/progress/MainContainer.mjs +1 -1
  255. package/examples/component/splitter/MainContainer.mjs +1 -1
  256. package/examples/component/statusbadge/MainContainer.mjs +1 -1
  257. package/examples/component/timer/MainContainer.mjs +1 -1
  258. package/examples/component/timer/MainContainerController.mjs +1 -1
  259. package/examples/component/toast/MainContainer.mjs +1 -1
  260. package/examples/component/toast/MainContainerController.mjs +1 -1
  261. package/examples/component/video/MainContainer.mjs +1 -1
  262. package/examples/component/video/MainContainerController.mjs +1 -1
  263. package/examples/component/wrapper/cesiumJS/MainContainer.mjs +1 -1
  264. package/examples/component/wrapper/cesiumJS/MainContainerController.mjs +1 -1
  265. package/examples/component/wrapper/googleMaps/MainContainer.mjs +1 -1
  266. package/examples/component/wrapper/googleMaps/MainContainerController.mjs +1 -1
  267. package/examples/component/wrapper/googleMaps/MapComponent.mjs +1 -1
  268. package/examples/component/wrapper/googleMaps/MarkerDialog.mjs +1 -1
  269. package/examples/component/wrapper/monacoEditor/MainContainer.mjs +187 -0
  270. package/examples/component/wrapper/monacoEditor/app.mjs +7 -0
  271. package/examples/component/wrapper/monacoEditor/index.html +11 -0
  272. package/examples/component/wrapper/monacoEditor/neo-config.json +7 -0
  273. package/examples/container/accordion/MainContainer.mjs +1 -1
  274. package/examples/container/base/MainContainer.mjs +1 -1
  275. package/examples/core/config/MainContainer.mjs +1 -1
  276. package/examples/dashboard/MainContainer.mjs +1 -1
  277. package/examples/dialog/DemoDialog.mjs +1 -1
  278. package/examples/dialog/MainContainer.mjs +1 -1
  279. package/examples/fieldWithPrefix/MainContainer.mjs +1 -1
  280. package/examples/fields/MainContainer.mjs +1 -1
  281. package/examples/form/field/checkbox/MainContainer.mjs +1 -1
  282. package/examples/form/field/chip/MainContainer.mjs +1 -1
  283. package/examples/form/field/chip/MainModel.mjs +1 -1
  284. package/examples/form/field/chip/MainStore.mjs +1 -1
  285. package/examples/form/field/color/MainContainer.mjs +1 -1
  286. package/examples/form/field/color/MainModel.mjs +1 -1
  287. package/examples/form/field/color/MainStore.mjs +1 -1
  288. package/examples/form/field/date/MainContainer.mjs +1 -1
  289. package/examples/form/field/email/MainContainer.mjs +1 -1
  290. package/examples/form/field/fileupload/MainContainer.mjs +1 -1
  291. package/examples/form/field/number/MainContainer.mjs +1 -1
  292. package/examples/form/field/picker/MainContainer.mjs +1 -1
  293. package/examples/form/field/radio/MainContainer.mjs +1 -1
  294. package/examples/form/field/select/MainContainer.mjs +7 -1
  295. package/examples/form/field/select/MainModel.mjs +1 -1
  296. package/examples/form/field/select/MainStore.mjs +1 -1
  297. package/examples/form/field/switch/MainContainer.mjs +1 -1
  298. package/examples/form/field/text/MainContainer.mjs +1 -1
  299. package/examples/form/field/textarea/MainContainer.mjs +1 -1
  300. package/examples/form/field/time/MainContainer.mjs +1 -1
  301. package/examples/form/field/trigger/copyToClipboard/MainContainer.mjs +1 -1
  302. package/examples/form/field/url/MainContainer.mjs +1 -1
  303. package/examples/form/fieldset/MainContainer.mjs +1 -1
  304. package/examples/grid/container/MainContainer.mjs +1 -1
  305. package/examples/grid/container/MainModel.mjs +1 -1
  306. package/examples/grid/container/MainStore.mjs +1 -1
  307. package/examples/grid/covid/GridContainer.mjs +1 -1
  308. package/examples/grid/covid/GridContainerController.mjs +1 -1
  309. package/examples/grid/covid/MainContainer.mjs +1 -1
  310. package/examples/grid/covid/Model.mjs +1 -1
  311. package/examples/grid/covid/Store.mjs +1 -1
  312. package/examples/grid/covid/Util.mjs +1 -1
  313. package/examples/layout/form/MainContainer.mjs +1 -1
  314. package/examples/list/animate/List.mjs +1 -1
  315. package/examples/list/animate/MainContainer.mjs +1 -1
  316. package/examples/list/animate/MainContainerController.mjs +1 -1
  317. package/examples/list/animate/MainModel.mjs +1 -1
  318. package/examples/list/animate/MainStore.mjs +1 -1
  319. package/examples/list/base/MainContainer.mjs +1 -1
  320. package/examples/list/base/MainModel.mjs +1 -1
  321. package/examples/list/base/MainStore.mjs +1 -1
  322. package/examples/list/base/neo-config.json +1 -1
  323. package/examples/list/chip/MainContainer.mjs +1 -1
  324. package/examples/list/chip/MainModel.mjs +1 -1
  325. package/examples/list/chip/MainStore.mjs +1 -1
  326. package/examples/list/circle/MainContainer.mjs +1 -1
  327. package/examples/list/circle/MainModel.mjs +1 -1
  328. package/examples/list/circle/MainStore.mjs +1 -1
  329. package/examples/list/color/MainContainer.mjs +1 -1
  330. package/examples/list/color/MainModel.mjs +1 -1
  331. package/examples/list/color/MainStore.mjs +1 -1
  332. package/examples/menu/list/MainContainer.mjs +1 -1
  333. package/examples/menu/list/MainStore.mjs +1 -1
  334. package/examples/menu/panel/MainContainer.mjs +1 -1
  335. package/examples/model/advanced/MainContainer.mjs +1 -1
  336. package/examples/model/advanced/MainContainerController.mjs +1 -1
  337. package/examples/model/dialog/EditUserDialog.mjs +1 -1
  338. package/examples/model/dialog/EditUserDialogController.mjs +1 -1
  339. package/examples/model/dialog/MainContainer.mjs +1 -1
  340. package/examples/model/dialog/MainContainerController.mjs +1 -1
  341. package/examples/model/extendedClass/MainContainer.mjs +1 -1
  342. package/examples/model/extendedClass/MainContainerController.mjs +1 -1
  343. package/examples/model/extendedClass/MainContainerModel.mjs +1 -1
  344. package/examples/model/inline/MainContainer.mjs +1 -1
  345. package/examples/model/inline/MainContainerController.mjs +1 -1
  346. package/examples/model/inlineNoModel/MainContainer.mjs +1 -1
  347. package/examples/model/inlineNoModel/MainContainerController.mjs +1 -1
  348. package/examples/model/multiWindow/EditUserDialog.mjs +1 -1
  349. package/examples/model/multiWindow/EditUserDialogController.mjs +1 -1
  350. package/examples/model/multiWindow/MainContainer.mjs +1 -1
  351. package/examples/model/multiWindow/MainContainerController.mjs +1 -1
  352. package/examples/model/multiWindow/Viewport.mjs +1 -1
  353. package/examples/model/multiWindow/ViewportController.mjs +1 -1
  354. package/examples/model/multiWindow2/Viewport.mjs +1 -1
  355. package/examples/model/nestedData/MainContainer.mjs +1 -1
  356. package/examples/model/nestedData/MainContainerController.mjs +1 -1
  357. package/examples/model/table/MainContainer.mjs +1 -1
  358. package/examples/model/table/MainContainerModel.mjs +1 -1
  359. package/examples/model/table/MainModel.mjs +1 -1
  360. package/examples/model/table/MainStore.mjs +1 -1
  361. package/examples/panel/MainContainer.mjs +1 -1
  362. package/examples/panel/MainContainerController.mjs +1 -1
  363. package/examples/popover/MainContainer.mjs +1 -1
  364. package/examples/preloadingAssets/view/MainContainer.mjs +1 -1
  365. package/examples/preloadingAssets/view/MainContainerController.mjs +1 -1
  366. package/examples/remotesApi/basic/MainContainer.mjs +1 -1
  367. package/examples/remotesApi/basic/MainContainerController.mjs +1 -1
  368. package/examples/sitemap/MainContainer.mjs +1 -1
  369. package/examples/tab/container/MainContainer.mjs +1 -1
  370. package/examples/table/container/MainContainer.mjs +1 -1
  371. package/examples/table/container/MainModel.mjs +1 -1
  372. package/examples/table/container/MainStore.mjs +1 -1
  373. package/examples/table/covid/MainContainer.mjs +1 -1
  374. package/examples/table/covid/Model.mjs +1 -1
  375. package/examples/table/covid/Store.mjs +1 -1
  376. package/examples/table/covid/TableContainer.mjs +1 -1
  377. package/examples/table/covid/TableContainerController.mjs +1 -1
  378. package/examples/table/covid/Util.mjs +1 -1
  379. package/examples/tableFiltering/MainContainer.mjs +1 -1
  380. package/examples/tableFiltering/MainModel.mjs +1 -1
  381. package/examples/tableFiltering/MainStore.mjs +1 -1
  382. package/examples/tablePerformance/MainContainer.mjs +1 -1
  383. package/examples/tablePerformance/MainContainer2.mjs +1 -1
  384. package/examples/tablePerformance/MainContainer3.mjs +1 -1
  385. package/examples/tablePerformance/Viewport.mjs +1 -1
  386. package/examples/tableStore/MainContainer.mjs +1 -1
  387. package/examples/tableStore/MainModel.mjs +1 -1
  388. package/examples/tableStore/MainStore.mjs +1 -1
  389. package/examples/tabs/MainContainer.mjs +1 -1
  390. package/examples/tabs/MainContainer2.mjs +1 -1
  391. package/examples/todoList/version1/MainComponent.mjs +1 -1
  392. package/examples/todoList/version2/MainContainer.mjs +1 -1
  393. package/examples/todoList/version2/TodoList.mjs +1 -1
  394. package/examples/todoList/version2/TodoListModel.mjs +1 -1
  395. package/examples/todoList/version2/TodoListStore.mjs +1 -1
  396. package/examples/toolbar/breadcrumb/view/MainContainer.mjs +1 -1
  397. package/examples/toolbar/breadcrumb/view/MainContainerController.mjs +1 -1
  398. package/examples/toolbar/paging/model/User.mjs +1 -1
  399. package/examples/toolbar/paging/store/Users.mjs +1 -1
  400. package/examples/toolbar/paging/view/AddUserDialog.mjs +1 -1
  401. package/examples/toolbar/paging/view/MainContainer.mjs +1 -1
  402. package/examples/toolbar/paging/view/MainContainerController.mjs +1 -1
  403. package/examples/toolbar/paging/view/MainContainerModel.mjs +1 -1
  404. package/examples/toolbar/paging/view/UserTableContainer.mjs +1 -1
  405. package/examples/tree/MainContainer.mjs +1 -1
  406. package/examples/treeAccordion/MainContainer.mjs +1 -1
  407. package/examples/viewport/MainContainer.mjs +1 -1
  408. package/examples/worker/task/MainContainer.mjs +48 -0
  409. package/examples/worker/task/MyTasks.mjs +48 -0
  410. package/examples/worker/task/app.mjs +6 -0
  411. package/examples/worker/task/index.html +11 -0
  412. package/examples/worker/task/neo-config.json +7 -0
  413. package/examples/worker/task/task.mjs +5 -0
  414. package/package.json +10 -8
  415. package/resources/data/deck/learnneo/{p → pages}/2023-10-07T19-18-28-517Z.md +3 -3
  416. package/resources/data/deck/learnneo/{p → pages}/2023-10-08T20-20-07-934Z.md +3 -3
  417. package/resources/data/deck/learnneo/{p → pages}/2023-10-08T20-20-37-336Z.md +1 -1
  418. package/resources/data/deck/learnneo/{p → pages}/2023-10-08T21-58-25-809Z.md +5 -5
  419. package/resources/data/deck/learnneo/{p → pages}/2023-10-14T19-25-08-153Z.md +15 -14
  420. package/resources/data/deck/learnneo/{p → pages}/2023-10-31T13-59-37-550Z.md +2 -2
  421. package/resources/data/deck/learnneo/{p → pages}/ComponentModels.md +23 -23
  422. package/resources/data/deck/learnneo/{p → pages}/Config.md +17 -23
  423. package/resources/data/deck/learnneo/{p → pages}/DescribingTheUI.md +31 -25
  424. package/resources/data/deck/learnneo/{p → pages}/Earthquakes.md +119 -120
  425. package/resources/data/deck/learnneo/{p → pages}/Events.md +9 -20
  426. package/resources/data/deck/learnneo/{p → pages}/Extending.md +39 -42
  427. package/resources/data/deck/learnneo/pages/GuideEvents.md +12 -0
  428. package/resources/data/deck/learnneo/{p → pages}/References.md +38 -38
  429. package/resources/data/deck/learnneo/pages/Setup.md +27 -0
  430. package/resources/data/deck/learnneo/{p → pages}/TestLivePreview.md +1 -1
  431. package/resources/data/deck/learnneo/pages/WhyNeo-Effort.md +4 -0
  432. package/resources/data/deck/learnneo/pages/WhyNeo-Intro.md +11 -0
  433. package/resources/data/deck/learnneo/pages/WhyNeo-Multi-Threaded.md +13 -0
  434. package/resources/data/deck/learnneo/pages/WhyNeo-Multi-Window.md +36 -0
  435. package/resources/data/deck/learnneo/pages/WhyNeo-Quick.md +21 -0
  436. package/resources/data/deck/learnneo/pages/WhyNeo-Speed.md +27 -0
  437. package/resources/data/deck/learnneo/tree.json +44 -27
  438. package/resources/data/deck/training/{p → pages}/2022-12-27T21-55-23-144Z.md +2 -2
  439. package/resources/data/deck/training/{p → pages}/2022-12-27T21-55-43-542Z.md +1 -1
  440. package/resources/data/deck/training/{p → pages}/2022-12-29T18-36-56-893Z.md +2 -2
  441. package/resources/data/deck/training/{p → pages}/2022-12-29T20-37-08-919Z.md +2 -2
  442. package/resources/data/deck/training/{p → pages}/2022-12-29T20-37-20-344Z.md +2 -2
  443. package/resources/data/deck/training/{p → pages}/2022-12-31T23-18-55-655Z.md +1 -1
  444. package/resources/data/deck/training/{p → pages}/2023-01-01T18-44-07-034Z.md +2 -2
  445. package/resources/data/deck/training/{p → pages}/2023-01-01T21-14-45-740Z.md +2 -2
  446. package/resources/data/deck/training/{p → pages}/2023-01-03T02-07-19-014Z.md +1 -1
  447. package/resources/data/deck/training/{p → pages}/2023-01-04T01-52-23-454Z.md +2 -2
  448. package/resources/data/deck/training/{p → pages}/2023-01-06T23-21-12-009Z.md +1 -1
  449. package/resources/data/deck/training/{p → pages}/2023-01-06T23-34-13-897Z.md +2 -2
  450. package/resources/data/deck/training/{p → pages}/2023-01-08T00-45-11-144Z.md +2 -2
  451. package/resources/data/deck/training/{p → pages}/2023-01-08T01-24-21-088Z.md +1 -1
  452. package/resources/data/deck/training/{p → pages}/2023-01-08T01-46-50-723Z.md +2 -2
  453. package/resources/data/deck/training/{p → pages}/2023-01-12T01-50-54-617Z.md +1 -1
  454. package/resources/data/deck/training/{p → pages}/2023-01-14T00-40-27-784Z.md +2 -2
  455. package/resources/data/deck/training/{p → pages}/2023-01-15T18-51-52-134Z.md +2 -2
  456. package/resources/data/deck/training/{p → pages}/2023-01-15T22-28-57-508Z.md +2 -2
  457. package/resources/data/deck/training/{p → pages}/2023-01-15T22-36-30-913Z.md +1 -1
  458. package/resources/data/deck/training/{p → pages}/2023-07-01T15-42-45-193Z.md +5 -5
  459. package/resources/data/deck/training/{p → pages}/2023-07-02T16-14-06-970Z.md +1 -1
  460. package/resources/data/deck/training/{p → pages}/2023-07-31T00-37-21-927Z.md +1 -1
  461. package/resources/data/deck/training/{p → pages}/2023-10-07T19-18-28-517Z.md +3 -3
  462. package/resources/data/deck/training/{p → pages}/2023-10-08T20-20-07-934Z.md +3 -3
  463. package/resources/data/deck/training/{p → pages}/2023-10-08T20-20-37-336Z.md +1 -1
  464. package/resources/data/deck/training/{p → pages}/2023-10-08T21-58-25-809Z.md +5 -5
  465. package/resources/data/deck/training/{p → pages}/2023-10-14T19-25-08-153Z.md +2 -2
  466. package/resources/design-tokens/json/component.json +30 -30
  467. package/resources/design-tokens/json/core.json +19 -9
  468. package/resources/design-tokens/json/semantic.json +90 -0
  469. package/resources/scss/src/apps/portal/HeaderToolbar.scss +2 -1
  470. package/resources/scss/src/apps/portal/learn/ContentTreeList.scss +8 -7
  471. package/resources/scss/src/apps/portal/learn/ContentView.scss +5 -13
  472. package/resources/scss/src/apps/portal/learn/MainContainer.scss +18 -7
  473. package/resources/scss/src/apps/portal/learn/PageSectionsPanel.scss +8 -0
  474. package/resources/scss/src/list/Base.scss +2 -2
  475. package/resources/scss/theme-dark/list/Base.scss +2 -1
  476. package/resources/scss/theme-light/list/Base.scss +2 -1
  477. package/resources/scss/theme-neo-light/Global.scss +5 -1
  478. package/resources/scss/theme-neo-light/apps/portal/learn/ContentTreeList.scss +23 -0
  479. package/resources/scss/theme-neo-light/button/Base.scss +127 -88
  480. package/resources/scss/theme-neo-light/design-tokens/Component.scss +48 -54
  481. package/resources/scss/theme-neo-light/design-tokens/Core.scss +70 -69
  482. package/resources/scss/theme-neo-light/design-tokens/Semantic.scss +87 -67
  483. package/resources/scss/theme-neo-light/list/Base.scss +14 -26
  484. package/resources/scss/theme-neo-light/tooltip/Base.scss +2 -4
  485. package/src/DefaultConfig.mjs +26 -2
  486. package/src/Fetch.mjs +1 -1
  487. package/src/Main.mjs +53 -37
  488. package/src/Neo.mjs +122 -116
  489. package/src/Xhr.mjs +1 -1
  490. package/src/button/Base.mjs +1 -1
  491. package/src/button/Menu.mjs +1 -1
  492. package/src/button/Split.mjs +1 -1
  493. package/src/calendar/model/Calendar.mjs +1 -1
  494. package/src/calendar/model/Color.mjs +1 -1
  495. package/src/calendar/model/Event.mjs +1 -1
  496. package/src/calendar/store/Calendars.mjs +1 -1
  497. package/src/calendar/store/Colors.mjs +1 -1
  498. package/src/calendar/store/Events.mjs +1 -1
  499. package/src/calendar/view/DayComponent.mjs +1 -1
  500. package/src/calendar/view/EditEventContainer.mjs +1 -1
  501. package/src/calendar/view/MainContainer.mjs +1 -1
  502. package/src/calendar/view/MainContainerModel.mjs +1 -1
  503. package/src/calendar/view/SettingsContainer.mjs +1 -1
  504. package/src/calendar/view/YearComponent.mjs +1 -1
  505. package/src/calendar/view/calendars/ColorsList.mjs +1 -1
  506. package/src/calendar/view/calendars/Container.mjs +1 -1
  507. package/src/calendar/view/calendars/EditContainer.mjs +1 -1
  508. package/src/calendar/view/calendars/List.mjs +1 -1
  509. package/src/calendar/view/month/Component.mjs +1 -1
  510. package/src/calendar/view/settings/GeneralContainer.mjs +1 -1
  511. package/src/calendar/view/settings/MonthContainer.mjs +1 -1
  512. package/src/calendar/view/settings/WeekContainer.mjs +1 -1
  513. package/src/calendar/view/settings/YearContainer.mjs +1 -1
  514. package/src/calendar/view/week/Component.mjs +1 -1
  515. package/src/calendar/view/week/EventDragZone.mjs +1 -1
  516. package/src/calendar/view/week/TimeAxisComponent.mjs +1 -1
  517. package/src/calendar/view/week/plugin/DragDrop.mjs +1 -1
  518. package/src/calendar/view/week/plugin/EventResizable.mjs +1 -1
  519. package/src/collection/Base.mjs +4 -4
  520. package/src/collection/Filter.mjs +1 -1
  521. package/src/collection/Sorter.mjs +1 -1
  522. package/src/component/Base.mjs +48 -25
  523. package/src/component/BoxLabel.mjs +1 -1
  524. package/src/component/Canvas.mjs +1 -1
  525. package/src/component/Carousel.mjs +1 -1
  526. package/src/component/Chip.mjs +1 -1
  527. package/src/component/Circle.mjs +1 -1
  528. package/src/component/Clock.mjs +1 -1
  529. package/src/component/DateSelector.mjs +1 -1
  530. package/src/component/Gallery.mjs +1 -1
  531. package/src/component/Helix.mjs +1 -1
  532. package/src/component/Iframe.mjs +1 -1
  533. package/src/component/Label.mjs +1 -1
  534. package/src/component/Legend.mjs +1 -1
  535. package/src/component/Process.mjs +2 -2
  536. package/src/component/Progress.mjs +1 -1
  537. package/src/component/Splitter.mjs +1 -1
  538. package/src/component/StatusBadge.mjs +1 -1
  539. package/src/component/Timer.mjs +1 -1
  540. package/src/component/Toast.mjs +1 -1
  541. package/src/component/Video.mjs +1 -1
  542. package/src/component/mwc/Button.mjs +1 -1
  543. package/src/component/mwc/TextField.mjs +1 -1
  544. package/src/component/wrapper/AmChart.mjs +1 -1
  545. package/src/component/wrapper/CesiumJS.mjs +1 -1
  546. package/src/component/wrapper/GoogleMaps.mjs +1 -1
  547. package/src/component/wrapper/MapboxGL.mjs +1 -1
  548. package/src/component/wrapper/MonacoEditor.mjs +420 -0
  549. package/src/container/Accordion.mjs +1 -1
  550. package/src/container/AccordionItem.mjs +1 -1
  551. package/src/container/Base.mjs +18 -6
  552. package/src/container/Panel.mjs +1 -1
  553. package/src/container/Viewport.mjs +1 -1
  554. package/src/controller/Application.mjs +1 -1
  555. package/src/controller/Base.mjs +2 -2
  556. package/src/controller/Component.mjs +1 -1
  557. package/src/core/Base.mjs +7 -6
  558. package/src/core/Compare.mjs +1 -1
  559. package/src/core/IdGenerator.mjs +1 -1
  560. package/src/core/Observable.mjs +1 -1
  561. package/src/core/Util.mjs +1 -1
  562. package/src/dashboard/Container.mjs +1 -1
  563. package/src/data/Model.mjs +1 -1
  564. package/src/data/RecordFactory.mjs +35 -31
  565. package/src/data/Store.mjs +1 -1
  566. package/src/data/connection/Fetch.mjs +1 -1
  567. package/src/data/connection/WebSocket.mjs +1 -1
  568. package/src/data/connection/Xhr.mjs +1 -1
  569. package/src/dialog/Base.mjs +1 -1
  570. package/src/dialog/header/Toolbar.mjs +1 -1
  571. package/src/draggable/DragProxyComponent.mjs +1 -1
  572. package/src/draggable/DragZone.mjs +2 -2
  573. package/src/draggable/DropZone.mjs +1 -1
  574. package/src/draggable/list/DragZone.mjs +1 -1
  575. package/src/draggable/list/SortZone.mjs +1 -1
  576. package/src/draggable/tab/header/toolbar/SortZone.mjs +1 -1
  577. package/src/draggable/toolbar/DragZone.mjs +1 -1
  578. package/src/draggable/toolbar/SortZone.mjs +1 -1
  579. package/src/draggable/tree/DragZone.mjs +1 -1
  580. package/src/draggable/tree/SortZone.mjs +1 -1
  581. package/src/filter/BooleanContainer.mjs +1 -1
  582. package/src/filter/DateContainer.mjs +1 -1
  583. package/src/filter/NumberContainer.mjs +1 -1
  584. package/src/filter/ToggleOperatorsButton.mjs +1 -1
  585. package/src/form/Container.mjs +1 -1
  586. package/src/form/Fieldset.mjs +1 -1
  587. package/src/form/field/Base.mjs +57 -2
  588. package/src/form/field/CheckBox.mjs +1 -1
  589. package/src/form/field/Chip.mjs +1 -1
  590. package/src/form/field/Color.mjs +1 -1
  591. package/src/form/field/Country.mjs +1 -1
  592. package/src/form/field/Currency.mjs +1 -1
  593. package/src/form/field/Date.mjs +1 -1
  594. package/src/form/field/Display.mjs +1 -1
  595. package/src/form/field/Email.mjs +1 -1
  596. package/src/form/field/FileUpload.mjs +2 -2
  597. package/src/form/field/Hidden.mjs +1 -1
  598. package/src/form/field/Number.mjs +1 -1
  599. package/src/form/field/Password.mjs +1 -1
  600. package/src/form/field/Phone.mjs +1 -1
  601. package/src/form/field/Picker.mjs +1 -1
  602. package/src/form/field/Radio.mjs +1 -1
  603. package/src/form/field/Range.mjs +1 -1
  604. package/src/form/field/Search.mjs +1 -1
  605. package/src/form/field/Select.mjs +58 -63
  606. package/src/form/field/Switch.mjs +1 -1
  607. package/src/form/field/Text.mjs +103 -52
  608. package/src/form/field/TextArea.mjs +1 -1
  609. package/src/form/field/Time.mjs +1 -1
  610. package/src/form/field/Url.mjs +1 -1
  611. package/src/form/field/ZipCode.mjs +1 -1
  612. package/src/form/field/trigger/Base.mjs +1 -1
  613. package/src/form/field/trigger/Clear.mjs +1 -1
  614. package/src/form/field/trigger/CopyToClipboard.mjs +1 -1
  615. package/src/form/field/trigger/Date.mjs +1 -1
  616. package/src/form/field/trigger/Picker.mjs +1 -1
  617. package/src/form/field/trigger/Search.mjs +1 -1
  618. package/src/form/field/trigger/SpinDown.mjs +1 -1
  619. package/src/form/field/trigger/SpinUp.mjs +1 -1
  620. package/src/form/field/trigger/SpinUpDown.mjs +1 -1
  621. package/src/form/field/trigger/Time.mjs +1 -1
  622. package/src/grid/Container.mjs +1 -1
  623. package/src/grid/View.mjs +1 -1
  624. package/src/grid/header/Button.mjs +1 -1
  625. package/src/grid/header/Toolbar.mjs +1 -1
  626. package/src/layout/Base.mjs +18 -7
  627. package/src/layout/Card.mjs +1 -1
  628. package/src/layout/Fit.mjs +1 -1
  629. package/src/layout/Flexbox.mjs +1 -1
  630. package/src/layout/Form.mjs +1 -1
  631. package/src/layout/Grid.mjs +1 -1
  632. package/src/layout/HBox.mjs +1 -1
  633. package/src/layout/VBox.mjs +1 -1
  634. package/src/list/Base.mjs +60 -54
  635. package/src/list/Chip.mjs +6 -1
  636. package/src/list/Circle.mjs +1 -1
  637. package/src/list/Color.mjs +1 -1
  638. package/src/list/Component.mjs +1 -1
  639. package/src/list/plugin/Animate.mjs +1 -1
  640. package/src/main/DomAccess.mjs +49 -24
  641. package/src/main/DomEvents.mjs +2 -2
  642. package/src/main/addon/AmCharts.mjs +1 -1
  643. package/src/main/addon/AnalyticsByGoogle.mjs +1 -1
  644. package/src/main/addon/Base.mjs +1 -1
  645. package/src/main/addon/CesiumJS.mjs +1 -1
  646. package/src/main/addon/CloneNode.mjs +1 -1
  647. package/src/main/addon/Cookie.mjs +1 -1
  648. package/src/main/addon/DragDrop.mjs +1 -1
  649. package/src/main/addon/GoogleMaps.mjs +1 -1
  650. package/src/main/addon/HighlightJS.mjs +20 -29
  651. package/src/main/addon/IntersectionObserver.mjs +134 -0
  652. package/src/main/addon/LocalStorage.mjs +1 -1
  653. package/src/main/addon/MapboxGL.mjs +1 -1
  654. package/src/main/addon/Markdown.mjs +2 -2
  655. package/src/main/addon/MonacoEditor.mjs +179 -0
  656. package/src/main/addon/Mwc.mjs +1 -1
  657. package/src/main/addon/Navigator.mjs +1 -1
  658. package/src/main/addon/Popover.mjs +1 -1
  659. package/src/main/addon/PrefixField.mjs +1 -1
  660. package/src/main/addon/ResizeObserver.mjs +1 -1
  661. package/src/main/addon/ServiceWorker.mjs +1 -1
  662. package/src/main/addon/Siesta.mjs +1 -1
  663. package/src/main/addon/Stylesheet.mjs +1 -1
  664. package/src/main/addon/WebComponent.mjs +1 -1
  665. package/src/main/addon/WindowPosition.mjs +1 -1
  666. package/src/main/draggable/sensor/Base.mjs +1 -1
  667. package/src/main/draggable/sensor/Mouse.mjs +1 -1
  668. package/src/main/draggable/sensor/Touch.mjs +1 -1
  669. package/src/main/mixin/DeltaUpdates.mjs +1 -1
  670. package/src/main/mixin/TouchDomEvents.mjs +1 -1
  671. package/src/manager/Base.mjs +1 -1
  672. package/src/manager/Component.mjs +1 -1
  673. package/src/manager/DomEvent.mjs +4 -3
  674. package/src/manager/Focus.mjs +1 -1
  675. package/src/manager/Instance.mjs +1 -1
  676. package/src/manager/Store.mjs +1 -1
  677. package/src/manager/Task.mjs +1 -1
  678. package/src/manager/Toast.mjs +1 -1
  679. package/src/manager/rpc/Api.mjs +1 -1
  680. package/src/manager/rpc/Message.mjs +1 -1
  681. package/src/menu/List.mjs +1 -5
  682. package/src/menu/Model.mjs +1 -1
  683. package/src/menu/Panel.mjs +1 -1
  684. package/src/menu/Store.mjs +1 -1
  685. package/src/model/Component.mjs +1 -1
  686. package/src/plugin/Base.mjs +1 -1
  687. package/src/plugin/Popover.mjs +1 -1
  688. package/src/plugin/PrefixField.mjs +10 -9
  689. package/src/plugin/Resizable.mjs +3 -3
  690. package/src/remotes/Api.mjs +1 -1
  691. package/src/selection/CircleModel.mjs +1 -1
  692. package/src/selection/DateSelectorModel.mjs +1 -1
  693. package/src/selection/GalleryModel.mjs +1 -1
  694. package/src/selection/HelixModel.mjs +1 -1
  695. package/src/selection/ListModel.mjs +1 -1
  696. package/src/selection/Model.mjs +1 -1
  697. package/src/selection/TreeAccordionModel.mjs +2 -2
  698. package/src/selection/TreeModel.mjs +4 -4
  699. package/src/selection/grid/CellColumnModel.mjs +1 -1
  700. package/src/selection/grid/CellColumnRowModel.mjs +1 -1
  701. package/src/selection/grid/CellModel.mjs +1 -1
  702. package/src/selection/grid/CellRowModel.mjs +1 -1
  703. package/src/selection/grid/ColumnModel.mjs +1 -1
  704. package/src/selection/grid/RowModel.mjs +1 -1
  705. package/src/selection/menu/ListModel.mjs +1 -1
  706. package/src/selection/table/CellColumnModel.mjs +1 -1
  707. package/src/selection/table/CellColumnRowModel.mjs +1 -1
  708. package/src/selection/table/CellModel.mjs +1 -1
  709. package/src/selection/table/CellRowModel.mjs +1 -1
  710. package/src/selection/table/ColumnModel.mjs +1 -1
  711. package/src/selection/table/RowModel.mjs +1 -1
  712. package/src/sitemap/Component.mjs +1 -1
  713. package/src/sitemap/Model.mjs +1 -1
  714. package/src/sitemap/Store.mjs +1 -1
  715. package/src/tab/Container.mjs +1 -1
  716. package/src/tab/Strip.mjs +1 -1
  717. package/src/tab/header/Button.mjs +1 -1
  718. package/src/tab/header/Toolbar.mjs +1 -1
  719. package/src/table/Container.mjs +1 -1
  720. package/src/table/View.mjs +1 -1
  721. package/src/table/header/Button.mjs +1 -1
  722. package/src/table/header/Toolbar.mjs +1 -1
  723. package/src/toolbar/Base.mjs +1 -1
  724. package/src/toolbar/Breadcrumb.mjs +1 -1
  725. package/src/toolbar/Paging.mjs +1 -1
  726. package/src/tooltip/Base.mjs +10 -7
  727. package/src/tree/Accordion.mjs +1 -1
  728. package/src/tree/List.mjs +52 -46
  729. package/src/util/Array.mjs +1 -1
  730. package/src/util/ClassSystem.mjs +1 -1
  731. package/src/util/Css.mjs +1 -1
  732. package/src/util/Date.mjs +1 -1
  733. package/src/util/Function.mjs +31 -31
  734. package/src/util/HashHistory.mjs +1 -1
  735. package/src/util/KeyNavigation.mjs +1 -1
  736. package/src/util/Logger.mjs +9 -27
  737. package/src/util/Matrix.mjs +1 -1
  738. package/src/util/String.mjs +2 -2
  739. package/src/util/Style.mjs +1 -1
  740. package/src/util/VDom.mjs +1 -1
  741. package/src/util/VNode.mjs +1 -1
  742. package/src/util/_export.mjs +1 -1
  743. package/src/vdom/Helper.mjs +7 -3
  744. package/src/worker/App.mjs +10 -9
  745. package/src/worker/Base.mjs +1 -1
  746. package/src/worker/Canvas.mjs +1 -1
  747. package/src/worker/Data.mjs +1 -1
  748. package/src/worker/Manager.mjs +38 -33
  749. package/src/worker/ServiceBase.mjs +1 -1
  750. package/src/worker/Task.mjs +67 -0
  751. package/src/worker/VDom.mjs +1 -1
  752. package/src/worker/mixin/RemoteMethodAccess.mjs +1 -1
  753. package/test/components/app.mjs +1 -1
  754. package/test/components/files/form/field/Select.mjs +2 -2
  755. package/test/components/files/form/field/Text.mjs +90 -0
  756. package/test/components/files/{component/ChipList.mjs → list/Chip.mjs} +3 -3
  757. package/test/components/siesta.js +23 -24
  758. package/resources/data/deck/learnneo/p/2023-10-01T18-29-19-158Z.md +0 -97
  759. package/resources/data/deck/learnneo/p/GuideEvents.md +0 -153
  760. package/resources/data/deck/learnneo/p/Setup.md +0 -1
  761. package/resources/data/deck/learnneo/pages/whyneo.md +0 -80
  762. package/resources/data/deck/learnneo/t.json +0 -38
  763. package/src/data/field/Field.mjs +0 -48
  764. package/src/data/field/Float.mjs +0 -42
  765. package/src/data/field/Integer.mjs +0 -42
  766. package/src/data/field/String.mjs +0 -42
  767. /package/resources/data/deck/learnneo/{p → pages}/2023-10-08T20-37-30-658Z.md +0 -0
  768. /package/resources/data/deck/learnneo/{p → pages}/2023-10-08T22-22-11-013Z.md +0 -0
  769. /package/resources/data/deck/learnneo/{p → pages}/MainThreadAddonExample.md +0 -0
  770. /package/resources/data/deck/learnneo/{p → pages}/MainThreadAddonIntro.md +0 -0
  771. /package/resources/data/deck/learnneo/{p → pages}/RSP.md +0 -0
  772. /package/resources/data/deck/learnneo/{p → pages}/WhatAboutHTML.md +0 -0
  773. /package/resources/data/deck/learnneo/{p → pages}/stylesheet.md +0 -0
  774. /package/resources/data/deck/training/{p → pages}/2022-12-27T21-54-52-300Z.md +0 -0
  775. /package/resources/data/deck/training/{p → pages}/2022-12-27T21-55-30-948Z.md +0 -0
  776. /package/resources/data/deck/training/{p → pages}/2022-12-27T22-23-55-083Z.md +0 -0
  777. /package/resources/data/deck/training/{p → pages}/2022-12-27T22-24-07-886Z.md +0 -0
  778. /package/resources/data/deck/training/{p → pages}/2022-12-27T22-24-52-295Z.md +0 -0
  779. /package/resources/data/deck/training/{p → pages}/2022-12-27T22-25-03-853Z.md +0 -0
  780. /package/resources/data/deck/training/{p → pages}/2022-12-27T22-43-58-924Z.md +0 -0
  781. /package/resources/data/deck/training/{p → pages}/2022-12-27T22-44-28-881Z.md +0 -0
  782. /package/resources/data/deck/training/{p → pages}/2022-12-27T22-44-41-791Z.md +0 -0
  783. /package/resources/data/deck/training/{p → pages}/2022-12-27T22-45-21-032Z.md +0 -0
  784. /package/resources/data/deck/training/{p → pages}/2022-12-27T22-49-22-078Z.md +0 -0
  785. /package/resources/data/deck/training/{p → pages}/2022-12-27T22-50-20-626Z.md +0 -0
  786. /package/resources/data/deck/training/{p → pages}/2022-12-28T16-58-47-786Z.md +0 -0
  787. /package/resources/data/deck/training/{p → pages}/2022-12-28T16-58-55-192Z.md +0 -0
  788. /package/resources/data/deck/training/{p → pages}/2022-12-28T17-10-18-058Z.md +0 -0
  789. /package/resources/data/deck/training/{p → pages}/2022-12-28T17-10-42-296Z.md +0 -0
  790. /package/resources/data/deck/training/{p → pages}/2022-12-28T17-11-34-653Z.md +0 -0
  791. /package/resources/data/deck/training/{p → pages}/2022-12-28T17-13-09-994Z.md +0 -0
  792. /package/resources/data/deck/training/{p → pages}/2022-12-28T21-32-14-420Z.md +0 -0
  793. /package/resources/data/deck/training/{p → pages}/2022-12-29T01-43-32-431Z.md +0 -0
  794. /package/resources/data/deck/training/{p → pages}/2022-12-29T15-56-54-485Z.md +0 -0
  795. /package/resources/data/deck/training/{p → pages}/2022-12-29T15-57-11-499Z.md +0 -0
  796. /package/resources/data/deck/training/{p → pages}/2022-12-29T16-00-13-223Z.md +0 -0
  797. /package/resources/data/deck/training/{p → pages}/2022-12-29T18-34-25-826Z.md +0 -0
  798. /package/resources/data/deck/training/{p → pages}/2022-12-29T18-36-08-226Z.md +0 -0
  799. /package/resources/data/deck/training/{p → pages}/2022-12-29T19-31-30-507Z.md +0 -0
  800. /package/resources/data/deck/training/{p → pages}/2022-12-29T19-31-55-091Z.md +0 -0
  801. /package/resources/data/deck/training/{p → pages}/2022-12-29T20-03-42-628Z.md +0 -0
  802. /package/resources/data/deck/training/{p → pages}/2022-12-29T20-21-20-669Z.md +0 -0
  803. /package/resources/data/deck/training/{p → pages}/2022-12-30T19-04-30-990Z.md +0 -0
  804. /package/resources/data/deck/training/{p → pages}/2022-12-31T18-43-56-338Z.md +0 -0
  805. /package/resources/data/deck/training/{p → pages}/2022-12-31T18-51-50-682Z.md +0 -0
  806. /package/resources/data/deck/training/{p → pages}/2022-12-31T18-54-04-176Z.md +0 -0
  807. /package/resources/data/deck/training/{p → pages}/2022-12-31T22-11-55-555Z.md +0 -0
  808. /package/resources/data/deck/training/{p → pages}/2022-12-31T23-00-41-222Z.md +0 -0
  809. /package/resources/data/deck/training/{p → pages}/2022-12-31T23-25-40-735Z.md +0 -0
  810. /package/resources/data/deck/training/{p → pages}/2022-12-31T23-25-51-014Z.md +0 -0
  811. /package/resources/data/deck/training/{p → pages}/2023-01-01T17-49-18-429Z.md +0 -0
  812. /package/resources/data/deck/training/{p → pages}/2023-01-01T18-47-39-766Z.md +0 -0
  813. /package/resources/data/deck/training/{p → pages}/2023-01-01T19-04-22-830Z.md +0 -0
  814. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-11-58-025Z.md +0 -0
  815. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-12-37-340Z.md +0 -0
  816. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-13-13-880Z.md +0 -0
  817. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-18-23-886Z.md +0 -0
  818. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-18-31-316Z.md +0 -0
  819. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-18-42-290Z.md +0 -0
  820. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-19-57-020Z.md +0 -0
  821. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-22-31-184Z.md +0 -0
  822. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-22-38-317Z.md +0 -0
  823. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-22-47-693Z.md +0 -0
  824. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-23-17-716Z.md +0 -0
  825. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-23-28-532Z.md +0 -0
  826. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-25-23-899Z.md +0 -0
  827. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-25-59-742Z.md +0 -0
  828. /package/resources/data/deck/training/{p → pages}/2023-01-01T21-26-53-748Z.md +0 -0
  829. /package/resources/data/deck/training/{p → pages}/2023-01-01T23-38-42-863Z.md +0 -0
  830. /package/resources/data/deck/training/{p → pages}/2023-01-06T23-21-31-685Z.md +0 -0
  831. /package/resources/data/deck/training/{p → pages}/2023-01-06T23-21-59-596Z.md +0 -0
  832. /package/resources/data/deck/training/{p → pages}/2023-01-06T23-44-02-340Z.md +0 -0
  833. /package/resources/data/deck/training/{p → pages}/2023-01-06T23-46-36-687Z.md +0 -0
  834. /package/resources/data/deck/training/{p → pages}/2023-01-06T23-46-45-783Z.md +0 -0
  835. /package/resources/data/deck/training/{p → pages}/2023-01-08T01-06-31-267Z.md +0 -0
  836. /package/resources/data/deck/training/{p → pages}/2023-01-08T01-25-12-557Z.md +0 -0
  837. /package/resources/data/deck/training/{p → pages}/2023-01-08T02-09-07-802Z.md +0 -0
  838. /package/resources/data/deck/training/{p → pages}/2023-01-08T02-09-19-678Z.md +0 -0
  839. /package/resources/data/deck/training/{p → pages}/2023-01-08T02-11-26-333Z.md +0 -0
  840. /package/resources/data/deck/training/{p → pages}/2023-01-08T17-22-48-841Z.md +0 -0
  841. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-46-11-806Z.md +0 -0
  842. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-47-23-682Z.md +0 -0
  843. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-47-32-064Z.md +0 -0
  844. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-47-57-045Z.md +0 -0
  845. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-48-03-791Z.md +0 -0
  846. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-48-32-466Z.md +0 -0
  847. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-48-51-322Z.md +0 -0
  848. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-49-52-741Z.md +0 -0
  849. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-52-03-556Z.md +0 -0
  850. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-57-36-333Z.md +0 -0
  851. /package/resources/data/deck/training/{p → pages}/2023-01-08T20-57-51-136Z.md +0 -0
  852. /package/resources/data/deck/training/{p → pages}/2023-01-09T00-07-37-951Z.md +0 -0
  853. /package/resources/data/deck/training/{p → pages}/2023-01-09T00-35-40-671Z.md +0 -0
  854. /package/resources/data/deck/training/{p → pages}/2023-01-10T01-29-38-148Z.md +0 -0
  855. /package/resources/data/deck/training/{p → pages}/2023-01-10T01-43-12-166Z.md +0 -0
  856. /package/resources/data/deck/training/{p → pages}/2023-01-10T02-21-54-303Z.md +0 -0
  857. /package/resources/data/deck/training/{p → pages}/2023-01-13T19-55-24-735Z.md +0 -0
  858. /package/resources/data/deck/training/{p → pages}/2023-01-13T20-08-27-068Z.md +0 -0
  859. /package/resources/data/deck/training/{p → pages}/2023-01-13T20-23-38-411Z.md +0 -0
  860. /package/resources/data/deck/training/{p → pages}/2023-01-13T20-37-06-267Z.md +0 -0
  861. /package/resources/data/deck/training/{p → pages}/2023-01-13T21-05-57-708Z.md +0 -0
  862. /package/resources/data/deck/training/{p → pages}/2023-01-13T21-48-17-258Z.md +0 -0
  863. /package/resources/data/deck/training/{p → pages}/2023-01-13T22-05-05-799Z.md +0 -0
  864. /package/resources/data/deck/training/{p → pages}/2023-01-13T22-08-30-863Z.md +0 -0
  865. /package/resources/data/deck/training/{p → pages}/2023-01-13T23-01-50-449Z.md +0 -0
  866. /package/resources/data/deck/training/{p → pages}/2023-01-14T00-33-05-958Z.md +0 -0
  867. /package/resources/data/deck/training/{p → pages}/2023-01-14T00-41-59-081Z.md +0 -0
  868. /package/resources/data/deck/training/{p → pages}/2023-01-14T13-50-28-199Z.md +0 -0
  869. /package/resources/data/deck/training/{p → pages}/2023-01-14T13-59-20-275Z.md +0 -0
  870. /package/resources/data/deck/training/{p → pages}/2023-01-14T14-03-29-456Z.md +0 -0
  871. /package/resources/data/deck/training/{p → pages}/2023-01-14T14-27-57-678Z.md +0 -0
  872. /package/resources/data/deck/training/{p → pages}/2023-01-14T17-30-18-228Z.md +0 -0
  873. /package/resources/data/deck/training/{p → pages}/2023-01-14T18-28-39-316Z.md +0 -0
  874. /package/resources/data/deck/training/{p → pages}/2023-01-14T18-28-44-115Z.md +0 -0
  875. /package/resources/data/deck/training/{p → pages}/2023-01-14T18-28-49-548Z.md +0 -0
  876. /package/resources/data/deck/training/{p → pages}/2023-01-14T18-40-13-758Z.md +0 -0
  877. /package/resources/data/deck/training/{p → pages}/2023-01-14T19-29-15-291Z.md +0 -0
  878. /package/resources/data/deck/training/{p → pages}/2023-01-15T20-03-30-073Z.md +0 -0
  879. /package/resources/data/deck/training/{p → pages}/2023-01-15T22-07-52-073Z.md +0 -0
  880. /package/resources/data/deck/training/{p → pages}/2023-01-15T22-22-13-517Z.md +0 -0
  881. /package/resources/data/deck/training/{p → pages}/2023-01-16T16-03-40-770Z.md +0 -0
  882. /package/resources/data/deck/training/{p → pages}/2023-01-16T20-21-56-859Z.md +0 -0
  883. /package/resources/data/deck/training/{p → pages}/2023-01-16T20-24-09-690Z.md +0 -0
  884. /package/resources/data/deck/training/{p → pages}/2023-01-20T12-51-22-646Z.md +0 -0
  885. /package/resources/data/deck/training/{p → pages}/2023-01-20T13-06-46-614Z.md +0 -0
  886. /package/resources/data/deck/training/{p → pages}/2023-01-20T13-08-51-600Z.md +0 -0
  887. /package/resources/data/deck/training/{p → pages}/2023-01-20T15-20-13-363Z.md +0 -0
  888. /package/resources/data/deck/training/{p → pages}/2023-01-20T15-34-58-813Z.md +0 -0
  889. /package/resources/data/deck/training/{p → pages}/2023-01-21T16-33-20-458Z.md +0 -0
  890. /package/resources/data/deck/training/{p → pages}/2023-01-21T16-45-28-263Z.md +0 -0
  891. /package/resources/data/deck/training/{p → pages}/2023-01-21T16-56-25-452Z.md +0 -0
  892. /package/resources/data/deck/training/{p → pages}/2023-01-21T17-28-31-493Z.md +0 -0
  893. /package/resources/data/deck/training/{p → pages}/2023-01-21T19-49-51-918Z.md +0 -0
  894. /package/resources/data/deck/training/{p → pages}/2023-01-21T20-08-24-452Z.md +0 -0
  895. /package/resources/data/deck/training/{p → pages}/2023-01-21T20-35-54-947Z.md +0 -0
  896. /package/resources/data/deck/training/{p → pages}/2023-01-21T20-54-47-603Z.md +0 -0
  897. /package/resources/data/deck/training/{p → pages}/2023-01-21T20-56-28-184Z.md +0 -0
  898. /package/resources/data/deck/training/{p → pages}/2023-01-21T20-57-32-927Z.md +0 -0
  899. /package/resources/data/deck/training/{p → pages}/2023-01-21T23-13-33-394Z.md +0 -0
  900. /package/resources/data/deck/training/{p → pages}/2023-01-28T19-11-37-464Z.md +0 -0
  901. /package/resources/data/deck/training/{p → pages}/2023-01-28T20-43-41-188Z.md +0 -0
  902. /package/resources/data/deck/training/{p → pages}/2023-01-28T20-53-56-476Z.md +0 -0
  903. /package/resources/data/deck/training/{p → pages}/2023-01-28T20-58-43-776Z.md +0 -0
  904. /package/resources/data/deck/training/{p → pages}/2023-01-28T22-18-41-259Z.md +0 -0
  905. /package/resources/data/deck/training/{p → pages}/2023-01-28T22-24-34-808Z.md +0 -0
  906. /package/resources/data/deck/training/{p → pages}/2023-01-29T16-25-24-528Z.md +0 -0
  907. /package/resources/data/deck/training/{p → pages}/2023-01-29T21-14-32-588Z.md +0 -0
  908. /package/resources/data/deck/training/{p → pages}/2023-01-31T19-24-53-504Z.md +0 -0
  909. /package/resources/data/deck/training/{p → pages}/2023-01-31T20-33-55-855Z.md +0 -0
  910. /package/resources/data/deck/training/{p → pages}/2023-01-31T20-34-30-261Z.md +0 -0
  911. /package/resources/data/deck/training/{p → pages}/2023-01-31T20-52-53-367Z.md +0 -0
  912. /package/resources/data/deck/training/{p → pages}/2023-02-04T15-18-35-682Z.md +0 -0
  913. /package/resources/data/deck/training/{p → pages}/2023-02-04T15-49-47-597Z.md +0 -0
  914. /package/resources/data/deck/training/{p → pages}/2023-02-04T18-58-57-808Z.md +0 -0
  915. /package/resources/data/deck/training/{p → pages}/2023-02-04T20-07-11-288Z.md +0 -0
  916. /package/resources/data/deck/training/{p → pages}/2023-02-04T20-09-50-169Z.md +0 -0
  917. /package/resources/data/deck/training/{p → pages}/2023-02-04T20-19-42-740Z.md +0 -0
  918. /package/resources/data/deck/training/{p → pages}/2023-02-04T20-23-56-013Z.md +0 -0
  919. /package/resources/data/deck/training/{p → pages}/2023-02-04T20-28-12-391Z.md +0 -0
  920. /package/resources/data/deck/training/{p → pages}/2023-02-05T00-20-32-554Z.md +0 -0
  921. /package/resources/data/deck/training/{p → pages}/2023-02-05T00-35-56-282Z.md +0 -0
  922. /package/resources/data/deck/training/{p → pages}/2023-02-05T15-36-57-182Z.md +0 -0
  923. /package/resources/data/deck/training/{p → pages}/2023-02-05T17-39-51-712Z.md +0 -0
  924. /package/resources/data/deck/training/{p → pages}/2023-02-05T17-44-53-815Z.md +0 -0
  925. /package/resources/data/deck/training/{p → pages}/2023-02-05T17-45-40-114Z.md +0 -0
  926. /package/resources/data/deck/training/{p → pages}/2023-02-05T18-12-14-489Z.md +0 -0
  927. /package/resources/data/deck/training/{p → pages}/2023-02-06T00-14-54-457Z.md +0 -0
  928. /package/resources/data/deck/training/{p → pages}/2023-06-28T18-03-14-313Z.md +0 -0
  929. /package/resources/data/deck/training/{p → pages}/2023-06-28T18-26-17-290Z.md +0 -0
  930. /package/resources/data/deck/training/{p → pages}/2023-06-28T21-16-24-034Z.md +0 -0
  931. /package/resources/data/deck/training/{p → pages}/2023-06-28T21-16-34-972Z.md +0 -0
  932. /package/resources/data/deck/training/{p → pages}/2023-06-28T21-28-28-379Z.md +0 -0
  933. /package/resources/data/deck/training/{p → pages}/2023-06-29T23-15-10-411Z.md +0 -0
  934. /package/resources/data/deck/training/{p → pages}/2023-07-01T21-54-31-329Z.md +0 -0
  935. /package/resources/data/deck/training/{p → pages}/2023-07-31T00-26-03-842Z.md +0 -0
  936. /package/resources/data/deck/training/{p → pages}/2023-07-31T00-31-51-933Z.md +0 -0
  937. /package/resources/data/deck/training/{p → pages}/2023-10-01T18-29-19-158Z.md +0 -0
  938. /package/resources/data/deck/training/{p → pages}/2023-10-08T20-37-30-658Z.md +0 -0
  939. /package/resources/data/deck/training/{p → pages}/2023-10-08T22-22-11-013Z.md +0 -0
  940. /package/resources/data/deck/training/{t.json → tree.json} +0 -0
@@ -1,31 +1,21 @@
1
- ##Introduction
1
+ ## Introduction
2
2
 
3
3
  In this topic you'll create an application that fetches data on earthquakes in Iceland,
4
4
  and show the information in two views: a table, and a map.
5
5
 
6
- You'll do this in a series of labs:
7
-
8
- 1. Generate a workspace
9
- 1. Generate a starter app
10
- 1. Learn some debugging tricks
11
- 1. Generate the earthquakes starter app
12
- 1. Refactor a config into its own class
13
- 1. Add a map
14
- 1. Listen to events
15
- 1. Make the app multi-window
6
+ You'll do this in a series of labs.
16
7
 
17
8
  ## Goals
18
9
 
19
- What's the goal of this lengthy topic?
10
+ What are the goals of this lengthy topic?
20
11
 
21
12
  - To give you hands-on coding a simple app
22
13
  - To introduce fundamental Neo concepts
23
- - To do some coding without emphasizing syntax details
24
14
 
25
- Most of these labs are copy-and-paste because we're focusing on _what_ it's doing on rather than _how_.
15
+ Most of these labs are copy-and-paste because we're focusing on _what_ the code is doing on rather than _how_.
26
16
 
27
- As we progress through the training we'll spend more and more time on syntax and how, and you'll
28
- become more and more proficient at writing your own code.
17
+ For this tutorial don't worry about syntax details. Other tutorials and guides will spend more and
18
+ more time on syntax.e
29
19
 
30
20
  ## Key concepts
31
21
 
@@ -45,11 +35,19 @@ A word of advice: Keep a high-level perspective, especially early on. We'll have
45
35
  into the code, and we'll do most things multiple times. In other words, focus on what you're accomplishing,
46
36
  and don't worry about syntax details.
47
37
 
48
- ## Lab. Generate a workspace
38
+ ## Lab. Generate a Workspace
49
39
 
50
40
  In this lab, you'll generate a Neo.mjs workspace and run the starter app.
51
41
 
52
42
  <!-- lab -->
43
+
44
+ <details>
45
+ <summary>Wait!</summary>
46
+ You may already have a workspace! If so, you can skip this lab. For example, if you followed the _Getting Started > Setup_ topic, above, you should already have a workspace.
47
+
48
+ If you don't have a workspace, then continue on to the next step.
49
+ </details>
50
+
53
51
  <details>
54
52
  <summary>Use the command-line to generate the workspace</summary>
55
53
 
@@ -58,7 +56,7 @@ then run
58
56
 
59
57
  npx neo-app@latest
60
58
 
61
- You'll be propted for a workspace name, starter app name, etc &mdash; accept the default for everything.
59
+ You'll be prompted for a workspace name, starter app name, etc &mdash; accept the default for everything.
62
60
  As the command finishes it starts a server and opens a browser window.
63
61
  </details>
64
62
 
@@ -126,8 +124,8 @@ Parallel processing &mdash; along wih the efficient way the `neomjs-vdom-worker`
126
124
 
127
125
  ##Commonly-used Scripts
128
126
 
129
- If you look in the `package.json` script block you'll see several scripts used for generating applications and classes,
130
- doing builds, and starting a server. We'll use several of them throughout the tutorials.
127
+ If you look in the `package.json` script block you'll see several scripts used for generating applications
128
+ and classes, doing builds, and starting a server. We'll use several of them throughout the tutorials.
131
129
 
132
130
  - create-app &mdash; creates a simple demo app
133
131
  - create-app-minimal &mdash; creates a application shell with no content
@@ -137,7 +135,7 @@ doing builds, and starting a server. We'll use several of them throughout the tu
137
135
  - watch-themes &mdash; creates app .css as you save changes to any app
138
136
 
139
137
 
140
- ##Lab. Create the earthquakes starter app
138
+ ##Lab. Create the Earthquakes Starter App
141
139
 
142
140
  <!-- lab -->
143
141
 
@@ -193,9 +191,9 @@ following class definition:
193
191
 
194
192
  <pre data-javascript>
195
193
 
196
- import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
197
- import Controller from './MainViewController.mjs';
198
- import ViewModel from './MainViewModel.mjs';
194
+ import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
195
+ import Controller from './MainViewController.mjs';
196
+ import ViewModel from './MainViewModel.mjs';
199
197
 
200
198
  class MainView extends Base {
201
199
  static config = {
@@ -210,7 +208,7 @@ class MainView extends Base {
210
208
  }
211
209
  }
212
210
 
213
- Neo.applyClassConfig(MainView);
211
+ Neo.setupClass(MainView);
214
212
 
215
213
  export default MainView;
216
214
  </pre>
@@ -227,15 +225,15 @@ are no items in the starter app. The `layout` config specifies how the items are
227
225
  Let's add a button. To do that, add an import for the button base class, then configure it
228
226
  in the container's `items:[]`. If you were to read the API docs for buttons, you'd see
229
227
  that buttons have various configs, such as `text`, which is the button text, `iconCls`, which
230
- is typically a FontAwesome CSS class used to show an icon, and `handler`, which specified
228
+ is typically a FontAwesome CSS class used to show an icon, and `handler`, which specifies
231
229
  which method to run when the button is clicked. We'll use `text`.
232
230
 
233
231
  <pre data-javascript>
234
232
 
235
- import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
236
- import Button from '../../../node_modules/neo.mjs/src/button/Base.mjs';
237
- import Controller from './MainViewController.mjs';
238
- import ViewModel from './MainViewModel.mjs';
233
+ import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
234
+ import Button from '../../../node_modules/neo.mjs/src/button/Base.mjs';
235
+ import Controller from './MainViewController.mjs';
236
+ import ViewModel from './MainViewModel.mjs';
239
237
 
240
238
  class MainView extends Base {
241
239
  static config = {
@@ -253,7 +251,7 @@ class MainView extends Base {
253
251
  }
254
252
  }
255
253
 
256
- Neo.applyClassConfig(MainView);
254
+ Neo.setupClass(MainView);
257
255
 
258
256
  export default MainView;
259
257
  </pre>
@@ -307,19 +305,20 @@ choose that worker in the DevTools JavaScript context dropdown.
307
305
 
308
306
  <img width="80%" src="https://s3.amazonaws.com/mjs.neo.learning.images/DevToolsJavaScriptContext.png">
309
307
 
310
- A basic debugging (and coding!) task is getting a referernce to a component.
311
- You can then see and update the component's state and run its methods.
308
+ A basic debugging (and coding!) task is getting a reference to a component.
309
+ You can then get or update the component's state and run its methods.
310
+
311
+ When you're debugging, there are a few ways to get a component reference.
312
312
 
313
- There are a few ways to get a component reference.
314
- - `Neo.manager.Component.items` <tt>// Returns [Component]</tt>
315
- - `Neo.find({property:'value'})` <tt>// Returns [{}] of instances<t/t>
316
- - `Neo.findFirst({property:'value'})` <tt>// Returns first instance</tt>
317
313
  - Doing a Shift-Ctrl-right-click on a component
314
+ - `Neo.manager.Component.items` &mdash; Returns an array of all components in the app
315
+ - `Neo.find({property:'value'})` &mdash; Returns an array of components matching the specified properties
316
+ - `Neo.findFirst({property:'value'})` &mdash; Returns the first component that matches the specified properties
318
317
 
319
318
  Keep in mind that `Neo.manager.Component.items`, `Neo.find()` and `Neo.findFirst()`
320
- are debugging aids _only_, and _should never be used in app logic_.
319
+ are debugging aids _only_, and <u>_should never be used in app logic_</u>.
321
320
 
322
- Why? There's nothing stopping you from using then, and they would work fine,
321
+ Why? There's nothing stopping you from using these statements, and they would work fine,
323
322
  but those methods completely break encapsulation and scoping principles! Their
324
323
  use would make an application brittle and hard to maintain.
325
324
 
@@ -331,7 +330,7 @@ context, we can inspect the button.
331
330
  <img width="80%" src="https://s3.amazonaws.com/mjs.neo.learning.images/earthquakes/EarthquakesFindFirstButton.png">
332
331
 
333
332
  Once we find the component, we can expand it and scroll down until we see the grayed-out properties &mdash;
334
- those are setter/getter properties.
333
+ those are set/get properties.
335
334
 
336
335
  We can choose whatever property we're interested in, and click on the ellipses. That runs the getter, and if
337
336
  we change the value we'll be running the setter. An obvious button property to change is `text`.
@@ -355,6 +354,8 @@ and inspect or update component.
355
354
  In this lab you'll get a little debugging practice by getting component references, changing properties,
356
355
  and runing methods.
357
356
 
357
+ Remember that when using the debugger console you need to be in the _neo-app-worker_ context.
358
+
358
359
  <!-- lab -->
359
360
 
360
361
  <details>
@@ -430,10 +431,10 @@ Edit `apps/earthquakes/view/MainView.mjs` and add a method.
430
431
 
431
432
  <pre data-javascript>
432
433
 
433
- import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
434
- import Button from '../../../node_modules/neo.mjs/src/button/Base.mjs';
435
- import Controller from './MainViewController.mjs';
436
- import ViewModel from './MainViewModel.mjs';
434
+ import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
435
+ import Button from '../../../node_modules/neo.mjs/src/button/Base.mjs';
436
+ import Controller from './MainViewController.mjs';
437
+ import ViewModel from './MainViewModel.mjs';
437
438
 
438
439
  class MainView extends Base {
439
440
  static config = {
@@ -453,12 +454,12 @@ class MainView extends Base {
453
454
  text: 'Button!'
454
455
  }],
455
456
  }
456
- doFoo (){
457
+ doFoo() {
457
458
  console.log('foo!');
458
459
  }
459
460
  }
460
461
 
461
- Neo.applyClassConfig(MainView);
462
+ Neo.setupClass(MainView);
462
463
 
463
464
  export default MainView;
464
465
  </pre>
@@ -491,9 +492,9 @@ Then run `doFoo()` using that variable.
491
492
 
492
493
  <!-- /lab -->
493
494
 
494
- At this point we have a application with minimal content. You also know how to do some debugging. Let's do something more interesting.
495
+ At this point we have a application with minimal content. You also know how to do some debugging. Now let's do something more interesting.
495
496
 
496
- ##Lab. Fetch earthquakes data and show it in a table
497
+ ##Lab. Fetch Earthquakes Data and Show it in a Table
497
498
 
498
499
  <!-- lab -->
499
500
 
@@ -504,11 +505,11 @@ Replace the button with a table by replacing `MainView.mjs` with the following c
504
505
 
505
506
  <pre data-javascript>
506
507
 
507
- import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
508
- import Table from '../../../node_modules/neo.mjs/src/table/Container.mjs';
509
- import Store from '../../../node_modules/neo.mjs/src/data/Store.mjs';
510
- import Controller from './MainViewController.mjs';
511
- import ViewModel from './MainViewModel.mjs';
508
+ import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
509
+ import Table from '../../../node_modules/neo.mjs/src/table/Container.mjs';
510
+ import Store from '../../../node_modules/neo.mjs/src/data/Store.mjs';
511
+ import Controller from './MainViewController.mjs';
512
+ import ViewModel from './MainViewModel.mjs';
512
513
 
513
514
  class MainView extends Base {
514
515
  static config = {
@@ -541,21 +542,23 @@ class MainView extends Base {
541
542
  columns: [{
542
543
  dataField: "timestamp",
543
544
  text: "Date",
544
- renderer: (data) => data.value.toLocaleDateString(undefined, {weekday: "long", year: "numeric", month: "long", day: "numeric"}),
545
+ renderer: (data) => data.value.toLocaleDateString(undefined,
546
+ {weekday: "long", year: "numeric", month: "long", day: "numeric"}
547
+ )
545
548
  }, {
546
549
  dataField: "humanReadableLocation",
547
- text: "Location",
550
+ text: "Location"
548
551
  }, {
549
552
  dataField: "size",
550
553
  text: "Magnitude",
551
554
  align: "right",
552
- renderer: (data) => data.value.toLocaleString(),
553
- }],
554
- }],
555
+ renderer: (data) => data.value.toLocaleString()
556
+ }]
557
+ }]
555
558
  }
556
559
  }
557
560
 
558
- Neo.applyClassConfig(MainView);
561
+ Neo.setupClass(MainView);
559
562
 
560
563
  export default MainView;
561
564
  </pre>
@@ -657,7 +660,7 @@ By default, a column just runs `toString()` on the record property specified in
657
660
  You can also provide a `renderer`, which is a function you provide to format the value any way you'd like.
658
661
  In the code above it's using standard JavaScript methods to format the data and magnitude.
659
662
 
660
- ## Definining Views as Reusable Components
663
+ ## Defining Views as Reusable Components
661
664
 
662
665
  The way we've coded the app, the grid is _not_ reusable. In other words, if we needed two identical grids we'd
663
666
  have to copy-and-paste the same config block.
@@ -702,7 +705,7 @@ class Table extends Base {
702
705
  }
703
706
  }
704
707
 
705
- Neo.applyClassConfig(Table);
708
+ Neo.setupClass(Table);
706
709
 
707
710
  export default Table;
708
711
  </pre>
@@ -744,9 +747,9 @@ You can confirm that an instance _was created_ by using the DevTools console and
744
747
 
745
748
  <pre data-javascript>
746
749
  import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
750
+ import Controller from './MainViewController.mjs';
747
751
  import EarthquakesTable from './earthquakes/Table.mjs';
748
752
  import Store from '../../../node_modules/neo.mjs/src/data/Store.mjs';
749
- import Controller from './MainViewController.mjs';
750
753
  import ViewModel from './MainViewModel.mjs';
751
754
 
752
755
  class MainView extends Base {
@@ -781,7 +784,7 @@ static config = {
781
784
  }
782
785
  }
783
786
 
784
- Neo.applyClassConfig(MainView);
787
+ Neo.setupClass(MainView);
785
788
 
786
789
  export default MainView;
787
790
  </pre>
@@ -868,11 +871,10 @@ View models have two key configs: `data` and `stores`.
868
871
  Add a `stores` property to the view model config that holds a copy of the store.
869
872
 
870
873
  <pre data-javascript>
871
-
872
874
  import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
875
+ import Controller from './MainViewController.mjs';
873
876
  import EarthquakesTable from './earthquakes/Table.mjs';
874
877
  import Store from '../../../node_modules/neo.mjs/src/data/Store.mjs';
875
- import Controller from './MainViewController.mjs';
876
878
  import ViewModel from './MainViewModel.mjs';
877
879
 
878
880
  class MainView extends Base {
@@ -888,17 +890,17 @@ class MainView extends Base {
888
890
  module: Store,
889
891
  model: {
890
892
  fields: [{
891
- name: "humanReadableLocation",
893
+ name: "humanReadableLocation"
892
894
  }, {
893
- name: "size",
895
+ name: "size"
894
896
  }, {
895
897
  name: "timestamp",
896
- type: "Date",
897
- }],
898
+ type: "Date"
899
+ }]
898
900
  },
899
901
  url: "https://apis.is/earthquake/is",
900
902
  responseRoot: "results",
901
- autoLoad: true,
903
+ autoLoad: true
902
904
  },
903
905
  }
904
906
  },
@@ -912,43 +914,43 @@ class MainView extends Base {
912
914
  module: Store,
913
915
  model: {
914
916
  fields: [{
915
- name: "humanReadableLocation",
917
+ name: "humanReadableLocation"
916
918
  }, {
917
- name: "size",
919
+ name: "size"
918
920
  }, {
919
921
  name: "timestamp",
920
- type: "Date",
921
- }],
922
+ type: "Date"
923
+ }]
922
924
  },
923
925
  url: "https://apis.is/earthquake/is",
924
926
  responseRoot: "results",
925
- autoLoad: true,
927
+ autoLoad: true
926
928
  },
927
- style: {width: '100%'},
929
+ style: {width: '100%'}
928
930
  },{
929
931
  module: EarthquakesTable,
930
932
  store: {
931
933
  module: Store,
932
934
  model: {
933
935
  fields: [{
934
- name: "humanReadableLocation",
936
+ name: "humanReadableLocation"
935
937
  }, {
936
- name: "size",
938
+ name: "size"
937
939
  }, {
938
940
  name: "timestamp",
939
- type: "Date",
940
- }],
941
+ type: "Date"
942
+ }]
941
943
  },
942
944
  url: "https://apis.is/earthquake/is",
943
945
  responseRoot: "results",
944
- autoLoad: true,
946
+ autoLoad: true
945
947
  },
946
- style: {width: '100%'},
948
+ style: {width: '100%'}
947
949
  }],
948
950
  }
949
951
  }
950
952
 
951
- Neo.applyClassConfig(MainView);
953
+ Neo.setupClass(MainView);
952
954
 
953
955
  export default MainView;
954
956
 
@@ -987,9 +989,9 @@ Replace each table's `store` config with the binding.
987
989
  <pre data-javascript>
988
990
 
989
991
  import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
992
+ import Controller from './MainViewController.mjs';
990
993
  import EarthquakesTable from './earthquakes/Table.mjs';
991
994
  import Store from '../../../node_modules/neo.mjs/src/data/Store.mjs';
992
- import Controller from './MainViewController.mjs';
993
995
  import ViewModel from './MainViewModel.mjs';
994
996
 
995
997
  class MainView extends Base {
@@ -1004,17 +1006,17 @@ class MainView extends Base {
1004
1006
  module: Store,
1005
1007
  model: {
1006
1008
  fields: [{
1007
- name: "humanReadableLocation",
1009
+ name: "humanReadableLocation"
1008
1010
  }, {
1009
- name: "size",
1011
+ name: "size"
1010
1012
  }, {
1011
1013
  name: "timestamp",
1012
- type: "Date",
1013
- }],
1014
+ type: "Date"
1015
+ }]
1014
1016
  },
1015
1017
  url: "https://apis.is/earthquake/is",
1016
1018
  responseRoot: "results",
1017
- autoLoad: true,
1019
+ autoLoad: true
1018
1020
  },
1019
1021
  }
1020
1022
  },
@@ -1025,18 +1027,18 @@ class MainView extends Base {
1025
1027
  bind: {
1026
1028
  store: 'stores.earthquakes'
1027
1029
  },
1028
- style: {width: '100%'},
1030
+ style: {width: '100%'}
1029
1031
  },{
1030
1032
  module: EarthquakesTable,
1031
1033
  bind: {
1032
1034
  store: 'stores.earthquakes'
1033
1035
  },
1034
- style: {width: '100%'},
1036
+ style: {width: '100%'}
1035
1037
  }],
1036
1038
  }
1037
1039
  }
1038
1040
 
1039
- Neo.applyClassConfig(MainView);
1041
+ Neo.setupClass(MainView);
1040
1042
 
1041
1043
  export default MainView;
1042
1044
  </pre>
@@ -1071,11 +1073,10 @@ Since the starter app already provides `MainViewModel`, all we need to do is cop
1071
1073
  Here's the resulting code you should place into `MainViewModel.mjs`.
1072
1074
 
1073
1075
  <pre data-javascript>
1076
+ import Model from '../../../node_modules/neo.mjs/src/model/Component.mjs';
1077
+ import Store from '../../../node_modules/neo.mjs/src/data/Store.mjs';
1074
1078
 
1075
- import Base from '../../../node_modules/neo.mjs/src/model/Component.mjs';
1076
- import Store from '../../../node_modules/neo.mjs/src/data/Store.mjs';
1077
-
1078
- class MainViewModel extends Base {
1079
+ class MainViewModel extends Model {
1079
1080
  static config = {
1080
1081
  className: 'Earthquakes.view.MainViewModel',
1081
1082
 
@@ -1085,23 +1086,23 @@ class MainViewModel extends Base {
1085
1086
  module: Store,
1086
1087
  model: {
1087
1088
  fields: [{
1088
- name: "humanReadableLocation",
1089
+ name: "humanReadableLocation"
1089
1090
  }, {
1090
- name: "size",
1091
+ name: "size"
1091
1092
  }, {
1092
1093
  name: "timestamp",
1093
- type: "Date",
1094
- }],
1094
+ type: "Date"
1095
+ }]
1095
1096
  },
1096
1097
  url: "https://apis.is/earthquake/is",
1097
1098
  responseRoot: "results",
1098
- autoLoad: true,
1099
+ autoLoad: true
1099
1100
  },
1100
1101
  }
1101
1102
  }
1102
1103
  }
1103
1104
 
1104
- Neo.applyClassConfig(MainViewModel);
1105
+ Neo.setupClass(MainViewModel);
1105
1106
 
1106
1107
  export default MainViewModel;
1107
1108
  </pre>
@@ -1109,13 +1110,12 @@ export default MainViewModel;
1109
1110
  And you need to remove the `stores` config from the main view as follows.
1110
1111
 
1111
1112
  <pre data-javascript>
1112
-
1113
- import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
1114
- import EarthquakesTable from './earthquakes/Table.mjs';
1113
+ import Container from '../../../node_modules/neo.mjs/src/container/Base.mjs';
1115
1114
  import Controller from './MainViewController.mjs';
1115
+ import EarthquakesTable from './earthquakes/Table.mjs';
1116
1116
  import ViewModel from './MainViewModel.mjs';
1117
1117
 
1118
- class MainView extends Base {
1118
+ class MainView extends Container {
1119
1119
  static config = {
1120
1120
  className: 'Earthquakes.view.MainView',
1121
1121
  ntype: 'earthquakes-main',
@@ -1130,18 +1130,18 @@ class MainView extends Base {
1130
1130
  bind: {
1131
1131
  store: 'stores.earthquakes'
1132
1132
  },
1133
- style: {width: '100%'},
1133
+ style: {width: '100%'}
1134
1134
  },{
1135
1135
  module: EarthquakesTable,
1136
1136
  bind: {
1137
1137
  store: 'stores.earthquakes'
1138
1138
  },
1139
- style: {width: '100%'},
1140
- }],
1139
+ style: {width: '100%'}
1140
+ }]
1141
1141
  }
1142
1142
  }
1143
1143
 
1144
- Neo.applyClassConfig(MainView);
1144
+ Neo.setupClass(MainView);
1145
1145
 
1146
1146
  export default MainView;
1147
1147
  </pre>
@@ -1194,7 +1194,7 @@ Marker store records are required to have these properties:
1194
1194
  <!-- lab -->
1195
1195
 
1196
1196
  <details>
1197
- <summary>Specficy the main-thread add-on</summary>
1197
+ <summary>Specify the main-thread add-on</summary>
1198
1198
 
1199
1199
  Edit `apps/earthquakes/neo-config.json` and add entries for the Google Maps add-on and the map key.
1200
1200
 
@@ -1278,7 +1278,7 @@ and show it implace of the top table. The map should be centered on Iceland. To
1278
1278
  lat: 64.8014187,
1279
1279
  lng: -18.3096357
1280
1280
  },
1281
- zoom: 6,
1281
+ zoom: 6
1282
1282
  }
1283
1283
  </pre>
1284
1284
 
@@ -1286,13 +1286,13 @@ If we replace the top table with the map, `view/MainView.mjs` ends up with this
1286
1286
 
1287
1287
  <pre data-javascript>
1288
1288
 
1289
- import Base from '../../../node_modules/neo.mjs/src/container/Base.mjs';
1290
- import EarthquakesTable from './earthquakes/Table.mjs';
1289
+ import Container from '../../../node_modules/neo.mjs/src/container/Base.mjs';
1291
1290
  import Controller from './MainViewController.mjs';
1292
- import ViewModel from './MainViewModel.mjs';
1291
+ import EarthquakesTable from './earthquakes/Table.mjs';
1293
1292
  import GoogleMapsComponent from '../../../src/component/wrapper/GoogleMaps.mjs';
1293
+ import ViewModel from './MainViewModel.mjs';
1294
1294
 
1295
- class MainView extends Base {
1295
+ class MainView extends Container {
1296
1296
  static config = {
1297
1297
  className: 'Earthquakes.view.MainView',
1298
1298
  ntype: 'earthquakes-main',
@@ -1309,7 +1309,7 @@ class MainView extends Base {
1309
1309
  lat: 64.8014187,
1310
1310
  lng: -18.3096357
1311
1311
  },
1312
- zoom: 6,
1312
+ zoom: 6
1313
1313
  },{
1314
1314
  module: EarthquakesTable,
1315
1315
  bind: {
@@ -1323,10 +1323,9 @@ class MainView extends Base {
1323
1323
  }
1324
1324
  }
1325
1325
 
1326
- Neo.applyClassConfig(MainView);
1326
+ Neo.setupClass(MainView);
1327
1327
 
1328
1328
  export default MainView;
1329
-
1330
1329
  </pre>
1331
1330
 
1332
1331
  <img style="width:80%" src="https://s3.amazonaws.com/mjs.neo.learning.images/earthquakes/CenteredMap.png"></img>
@@ -1406,4 +1405,4 @@ Save, refresh, and confirm that you see the value logged when you click on a map
1406
1405
 
1407
1406
 
1408
1407
 
1409
- <!-- /lab -->
1408
+ <!-- /lab -->
@@ -22,21 +22,21 @@ class MainView extends Base {
22
22
  module: TextField,
23
23
  labelText : 'First name',
24
24
  listeners: {
25
- change: data=>console.log(data.value), // There are other properties, like oldValue
26
- focusEnter: data=>console.log(`Entering ${data.component.labelText}`)
25
+ change: data => Neo.Main.log({value:data.value}),
26
+ focusEnter: data => Neo.Main.log({value: `Entering ${data.component.labelText}`})
27
27
  }
28
28
  },
29
29
  {
30
30
  module: TextField,
31
31
  labelText : 'Last name',
32
32
  listeners: {
33
- change: data=>console.log(data.value), // There are other properties, like oldValue
34
- focusEnter: data=>console.log(`Entering ${data.component.labelText}`)
33
+ change: data => Neo.Main.log({value: data.value}),
34
+ focusEnter: data => Neo.Main.log({value: `Entering ${data.component.labelText}`})
35
35
  }
36
36
  }]
37
37
  }
38
38
  }
39
- Neo.applyClassConfig(MainView);
39
+ Neo.setupClass(MainView);
40
40
  </pre>
41
41
 
42
42
  If you run the example, and open the browser's debugger, you'll see the console being logged as you type or give
@@ -62,7 +62,7 @@ class MainViewController extends Controller {
62
62
  console.log(data.value);
63
63
  }
64
64
  }
65
- Neo.applyClassConfig(MainViewController);
65
+ Neo.setupClass(MainViewController);
66
66
 
67
67
 
68
68
  class MainView extends Base {
@@ -79,7 +79,7 @@ class MainView extends Base {
79
79
  }]
80
80
  }
81
81
  }
82
- Neo.applyClassConfig(MainView);
82
+ Neo.setupClass(MainView);
83
83
  </pre>
84
84
 
85
85
  (It's important to keep in mind that in Neo.mjs, all class definitions are coded in their own
@@ -122,7 +122,7 @@ class ToggleButton extends Button {
122
122
  this.checked = !this.checked;
123
123
  }
124
124
  }
125
- Neo.applyClassConfig(ToggleButton);
125
+ Neo.setupClass(ToggleButton);
126
126
 
127
127
 
128
128
  class MainView extends Base {
@@ -138,16 +138,5 @@ class MainView extends Base {
138
138
  }]
139
139
  }
140
140
  }
141
- Neo.applyClassConfig(MainView);
141
+ Neo.setupClass(MainView);
142
142
  </pre>
143
-
144
- How are events set up? We don't really care, but in case you're curious: Neo.mjs has a `Neo.core.Observable` class
145
- that can be mixed into any class. It maintains a `listeners` object map that's a key-value pair, where
146
- the key is the event name, and the value is an array of function references. The first time a listener is
147
- added an entry is added to the map using the event name as the key, and the event handler added as the first
148
- item in the associated array. If another listener is added for the same event, a second item is added to the
149
- array. If a new event is added, a new entry is added. Etc. When the event is fired, Neo.mjs looks up the map
150
- entry for the event name, then runs each function in the array, passing whatever data is specified in the
151
- call to `fire()`.
152
-
153
- <img style="width:80%" src="https://s3.amazonaws.com/mjs.neo.learning.images/gettingStarted/events/ObservableInMemory.png"></img>