neo.mjs 6.17.2 → 6.18.1

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 (323) hide show
  1. package/apps/ServiceWorker.mjs +3 -5
  2. package/apps/colors/README.md +8 -0
  3. package/apps/colors/app.mjs +6 -0
  4. package/apps/colors/childapps/widget/app.mjs +7 -0
  5. package/apps/colors/childapps/widget/index.html +11 -0
  6. package/apps/colors/childapps/widget/neo-config.json +10 -0
  7. package/apps/colors/childapps/widget/view/Viewport.mjs +19 -0
  8. package/apps/colors/index.html +11 -0
  9. package/apps/colors/model/Color.mjs +43 -0
  10. package/apps/colors/neo-config.json +10 -0
  11. package/apps/colors/remotes-api.json +13 -0
  12. package/apps/colors/store/Colors.mjs +24 -0
  13. package/apps/colors/view/BarChartComponent.mjs +64 -0
  14. package/apps/colors/view/HeaderToolbar.mjs +95 -0
  15. package/apps/colors/view/PieChartComponent.mjs +58 -0
  16. package/apps/colors/view/TableContainer.mjs +91 -0
  17. package/apps/colors/view/Viewport.mjs +57 -0
  18. package/apps/colors/view/ViewportController.mjs +277 -0
  19. package/apps/colors/view/ViewportModel.mjs +53 -0
  20. package/apps/portal/Util.mjs +11 -0
  21. package/apps/portal/childapps/preview/neo-config.json +2 -2
  22. package/apps/portal/neo-config.json +2 -1
  23. package/apps/portal/remotes-api.json +13 -0
  24. package/apps/portal/view/HeaderToolbar.mjs +1 -1
  25. package/apps/portal/view/ViewportController.mjs +89 -1
  26. package/apps/portal/view/home/MainContainer.mjs +34 -6
  27. package/apps/portal/view/home/parts/AfterMath.mjs +1 -1
  28. package/apps/portal/view/home/parts/Colors.mjs +98 -0
  29. package/apps/portal/view/home/parts/Helix.mjs +114 -0
  30. package/apps/portal/view/home/parts/HelloWorld.mjs +6 -3
  31. package/apps/portal/view/home/parts/How.mjs +66 -0
  32. package/apps/portal/view/home/parts/MainNeo.mjs +4 -3
  33. package/apps/portal/view/learn/LivePreview.mjs +56 -15
  34. package/apps/portal/view/learn/MainContainerController.mjs +10 -90
  35. package/apps/realworld/api/Article.mjs +1 -3
  36. package/apps/realworld/api/Favorite.mjs +1 -3
  37. package/apps/realworld/api/Profile.mjs +1 -3
  38. package/apps/realworld/api/Tag.mjs +1 -3
  39. package/apps/realworld/api/User.mjs +1 -3
  40. package/apps/realworld2/api/Article.mjs +1 -3
  41. package/apps/realworld2/api/Favorite.mjs +1 -3
  42. package/apps/realworld2/api/Profile.mjs +1 -3
  43. package/apps/realworld2/api/Tag.mjs +1 -3
  44. package/apps/realworld2/api/User.mjs +1 -3
  45. package/apps/realworld2/view/article/HelixContainer.mjs +5 -5
  46. package/buildScripts/webpack/json/myApps.template.json +1 -0
  47. package/docs/app/view/MainContainer.mjs +5 -0
  48. package/docs/app/view/classdetails/MembersList.mjs +1 -1
  49. package/examples/ServiceWorker.mjs +3 -5
  50. package/examples/component/helix/Viewport.mjs +309 -0
  51. package/examples/component/helix/ViewportController.mjs +122 -0
  52. package/examples/component/helix/app.mjs +2 -2
  53. package/examples/component/helix/neo-config.json +0 -1
  54. package/examples/component/multiWindowHelix/Viewport.mjs +11 -3
  55. package/examples/component/multiWindowHelix/ViewportController.mjs +21 -9
  56. package/examples/component/multiWindowHelix/neo-config.json +0 -1
  57. package/examples/fieldWithPrefix/MainContainer.mjs +1 -6
  58. package/examples/list/animate/MainContainerController.mjs +1 -1
  59. package/examples/worker/task/MyTasks.mjs +1 -3
  60. package/package.json +2 -2
  61. package/resources/data/deck/learnneo/pages/Events.md +15 -9
  62. package/resources/data/deck/learnneo/pages/GuideEvents.md +254 -0
  63. package/resources/data/deck/learnneo/pages/WhyNeo-Speed.md +1 -1
  64. package/resources/images/logo/neo_logo_primary.svg +6 -0
  65. package/resources/images/logo/neo_logo_text_primary.svg +5 -0
  66. package/resources/scss/src/apps/colors/BarChartComponent.scss +3 -0
  67. package/resources/scss/src/apps/colors/HeaderToolbar.scss +11 -0
  68. package/resources/scss/src/apps/colors/PieChartComponent.scss +3 -0
  69. package/resources/scss/src/apps/colors/TableContainer.scss +64 -0
  70. package/resources/scss/src/apps/colors/Viewport.scss +9 -0
  71. package/resources/scss/src/apps/portal/HeaderToolbar.scss +142 -124
  72. package/resources/scss/src/apps/portal/home/MainContainer.scss +9 -22
  73. package/resources/scss/src/apps/portal/home/parts/MainNeo.scss +22 -0
  74. package/resources/scss/src/apps/portal/home/preview/PageCodeContainer.scss +1 -1
  75. package/resources/scss/src/examples/component/multiWindowHelix/Viewport.scss +3 -0
  76. package/resources/scss/src/form/field/CheckBox.scss +1 -0
  77. package/resources/scss/src/tab/header/Button.scss +2 -1
  78. package/resources/scss/theme-dark/Global.scss +8 -0
  79. package/resources/scss/theme-dark/button/Base.scss +1 -1
  80. package/resources/scss/theme-dark/tab/header/Button.scss +1 -0
  81. package/resources/scss/theme-light/Global.scss +8 -0
  82. package/resources/scss/theme-light/button/Base.scss +1 -1
  83. package/resources/scss/theme-light/tab/header/Button.scss +1 -0
  84. package/resources/scss/theme-neo-light/Global.scss +53 -53
  85. package/resources/scss/theme-neo-light/button/Base.scss +3 -4
  86. package/resources/scss/theme-neo-light/tab/header/Button.scss +6 -8
  87. package/src/DefaultConfig.mjs +2 -2
  88. package/src/Fetch.mjs +1 -3
  89. package/src/Main.mjs +13 -11
  90. package/src/MicroLoader.mjs +2 -2
  91. package/src/Neo.mjs +27 -26
  92. package/src/Xhr.mjs +1 -3
  93. package/src/button/Base.mjs +6 -4
  94. package/src/button/Split.mjs +10 -9
  95. package/src/calendar/view/EditEventContainer.mjs +13 -12
  96. package/src/calendar/view/MainContainer.mjs +40 -40
  97. package/src/calendar/view/MainContainerModel.mjs +5 -5
  98. package/src/calendar/view/SettingsContainer.mjs +11 -11
  99. package/src/calendar/view/YearComponent.mjs +73 -75
  100. package/src/calendar/view/calendars/ColorsList.mjs +2 -2
  101. package/src/calendar/view/calendars/EditContainer.mjs +2 -2
  102. package/src/calendar/view/calendars/List.mjs +12 -13
  103. package/src/calendar/view/month/Component.mjs +72 -73
  104. package/src/calendar/view/settings/GeneralContainer.mjs +5 -5
  105. package/src/calendar/view/settings/MonthContainer.mjs +5 -5
  106. package/src/calendar/view/settings/WeekContainer.mjs +6 -6
  107. package/src/calendar/view/settings/YearContainer.mjs +4 -4
  108. package/src/calendar/view/week/Component.mjs +47 -57
  109. package/src/calendar/view/week/EventDragZone.mjs +43 -50
  110. package/src/calendar/view/week/TimeAxisComponent.mjs +21 -21
  111. package/src/calendar/view/week/plugin/DragDrop.mjs +53 -45
  112. package/src/calendar/view/week/plugin/EventResizable.mjs +8 -3
  113. package/src/collection/Base.mjs +15 -22
  114. package/src/collection/Filter.mjs +4 -9
  115. package/src/collection/Sorter.mjs +6 -7
  116. package/src/component/Base.mjs +73 -41
  117. package/src/component/Canvas.mjs +9 -9
  118. package/src/component/Carousel.mjs +31 -33
  119. package/src/component/Chip.mjs +9 -9
  120. package/src/component/Circle.mjs +84 -91
  121. package/src/component/Clock.mjs +8 -8
  122. package/src/component/DateSelector.mjs +14 -15
  123. package/src/component/Gallery.mjs +82 -80
  124. package/src/component/Helix.mjs +131 -126
  125. package/src/component/Iframe.mjs +1 -1
  126. package/src/component/Label.mjs +1 -1
  127. package/src/component/Legend.mjs +3 -3
  128. package/src/component/Process.mjs +39 -37
  129. package/src/component/Splitter.mjs +9 -11
  130. package/src/component/StatusBadge.mjs +2 -3
  131. package/src/component/Timer.mjs +62 -68
  132. package/src/component/Toast.mjs +11 -11
  133. package/src/component/Video.mjs +7 -8
  134. package/src/component/mwc/Button.mjs +10 -10
  135. package/src/component/mwc/TextField.mjs +17 -17
  136. package/src/component/wrapper/AmChart.mjs +5 -5
  137. package/src/component/wrapper/CesiumJS.mjs +11 -17
  138. package/src/component/wrapper/GoogleMaps.mjs +58 -35
  139. package/src/component/wrapper/MapboxGL.mjs +112 -79
  140. package/src/container/Accordion.mjs +18 -20
  141. package/src/container/AccordionItem.mjs +12 -11
  142. package/src/container/Base.mjs +24 -23
  143. package/src/container/Panel.mjs +9 -9
  144. package/src/controller/Base.mjs +12 -14
  145. package/src/controller/Component.mjs +60 -66
  146. package/src/core/Base.mjs +5 -8
  147. package/src/core/IdGenerator.mjs +1 -3
  148. package/src/core/Observable.mjs +40 -24
  149. package/src/core/Util.mjs +5 -5
  150. package/src/data/Model.mjs +3 -3
  151. package/src/data/RecordFactory.mjs +3 -6
  152. package/src/data/Store.mjs +34 -34
  153. package/src/data/connection/Fetch.mjs +3 -3
  154. package/src/data/connection/WebSocket.mjs +21 -25
  155. package/src/data/connection/Xhr.mjs +31 -28
  156. package/src/date/DayViewComponent.mjs +1 -1
  157. package/src/date/SelectorContainer.mjs +2 -2
  158. package/src/dialog/Base.mjs +27 -25
  159. package/src/dialog/header/Toolbar.mjs +5 -4
  160. package/src/draggable/DragProxyComponent.mjs +7 -4
  161. package/src/draggable/DragZone.mjs +30 -30
  162. package/src/draggable/DropZone.mjs +7 -7
  163. package/src/draggable/list/DragZone.mjs +18 -18
  164. package/src/draggable/tab/header/toolbar/SortZone.mjs +7 -7
  165. package/src/draggable/toolbar/DragZone.mjs +15 -15
  166. package/src/draggable/toolbar/SortZone.mjs +30 -31
  167. package/src/draggable/tree/DragZone.mjs +9 -9
  168. package/src/filter/BooleanContainer.mjs +3 -3
  169. package/src/filter/NumberContainer.mjs +5 -5
  170. package/src/filter/ToggleOperatorsButton.mjs +5 -5
  171. package/src/form/Fieldset.mjs +26 -26
  172. package/src/form/field/Base.mjs +1 -1
  173. package/src/form/field/CheckBox.mjs +15 -16
  174. package/src/form/field/Color.mjs +13 -15
  175. package/src/form/field/ComboBox.mjs +16 -24
  176. package/src/form/field/Country.mjs +1 -1
  177. package/src/form/field/Date.mjs +3 -4
  178. package/src/form/field/Display.mjs +1 -1
  179. package/src/form/field/Email.mjs +2 -2
  180. package/src/form/field/Number.mjs +51 -56
  181. package/src/form/field/Picker.mjs +2 -2
  182. package/src/form/field/Radio.mjs +1 -1
  183. package/src/form/field/Range.mjs +7 -6
  184. package/src/form/field/Text.mjs +29 -36
  185. package/src/form/field/TextArea.mjs +9 -9
  186. package/src/form/field/Time.mjs +30 -30
  187. package/src/form/field/trigger/Base.mjs +19 -13
  188. package/src/form/field/trigger/Clear.mjs +13 -13
  189. package/src/form/field/trigger/CopyToClipboard.mjs +7 -7
  190. package/src/form/field/trigger/Picker.mjs +2 -2
  191. package/src/form/field/trigger/SpinDown.mjs +1 -1
  192. package/src/form/field/trigger/SpinUp.mjs +1 -1
  193. package/src/form/field/trigger/SpinUpDown.mjs +3 -3
  194. package/src/form/field/trigger/Time.mjs +3 -3
  195. package/src/grid/Container.mjs +33 -33
  196. package/src/grid/View.mjs +20 -22
  197. package/src/grid/header/Button.mjs +12 -12
  198. package/src/grid/header/Toolbar.mjs +4 -4
  199. package/src/layout/Base.mjs +5 -4
  200. package/src/layout/Card.mjs +15 -16
  201. package/src/layout/Fit.mjs +22 -8
  202. package/src/layout/Flexbox.mjs +30 -29
  203. package/src/layout/Form.mjs +15 -15
  204. package/src/layout/Grid.mjs +2 -2
  205. package/src/layout/HBox.mjs +3 -2
  206. package/src/layout/VBox.mjs +3 -2
  207. package/src/list/Base.mjs +45 -47
  208. package/src/list/Chip.mjs +4 -4
  209. package/src/list/Circle.mjs +3 -3
  210. package/src/list/Color.mjs +4 -4
  211. package/src/list/Component.mjs +10 -10
  212. package/src/list/plugin/Animate.mjs +18 -13
  213. package/src/main/DomAccess.mjs +92 -56
  214. package/src/main/DomEvents.mjs +38 -39
  215. package/src/main/addon/AmCharts.mjs +37 -37
  216. package/src/main/addon/AnalyticsByGoogle.mjs +4 -4
  217. package/src/main/addon/CesiumJS.mjs +8 -8
  218. package/src/main/addon/CloneNode.mjs +5 -5
  219. package/src/main/addon/Cookie.mjs +4 -4
  220. package/src/main/addon/DragDrop.mjs +35 -34
  221. package/src/main/addon/GoogleMaps.mjs +19 -19
  222. package/src/main/addon/IntersectionObserver.mjs +20 -1
  223. package/src/main/addon/LocalStorage.mjs +3 -3
  224. package/src/main/addon/MapboxGL.mjs +40 -41
  225. package/src/main/addon/MonacoEditor.mjs +5 -5
  226. package/src/main/addon/Mwc.mjs +6 -6
  227. package/src/main/addon/Navigator.mjs +35 -39
  228. package/src/main/addon/Popover.mjs +5 -6
  229. package/src/main/addon/PrefixField.mjs +1 -2
  230. package/src/main/addon/ServiceWorker.mjs +9 -9
  231. package/src/main/addon/Siesta.mjs +3 -2
  232. package/src/main/addon/Stylesheet.mjs +37 -37
  233. package/src/main/addon/WebComponent.mjs +2 -3
  234. package/src/main/addon/WindowPosition.mjs +18 -18
  235. package/src/main/draggable/sensor/Base.mjs +2 -2
  236. package/src/main/draggable/sensor/Mouse.mjs +15 -15
  237. package/src/main/draggable/sensor/Touch.mjs +24 -23
  238. package/src/main/mixin/DeltaUpdates.mjs +10 -12
  239. package/src/main/mixin/TouchDomEvents.mjs +6 -6
  240. package/src/manager/Base.mjs +4 -4
  241. package/src/manager/Component.mjs +41 -41
  242. package/src/manager/DomEvent.mjs +41 -44
  243. package/src/manager/Focus.mjs +14 -16
  244. package/src/manager/Instance.mjs +2 -4
  245. package/src/manager/Store.mjs +4 -8
  246. package/src/manager/Task.mjs +20 -22
  247. package/src/manager/Toast.mjs +14 -16
  248. package/src/manager/rpc/Api.mjs +1 -3
  249. package/src/manager/rpc/Message.mjs +16 -18
  250. package/src/menu/List.mjs +16 -16
  251. package/src/menu/Panel.mjs +4 -4
  252. package/src/model/Component.mjs +16 -14
  253. package/src/plugin/Base.mjs +2 -0
  254. package/src/plugin/Popover.mjs +1 -1
  255. package/src/plugin/PrefixField.mjs +35 -45
  256. package/src/plugin/Resizable.mjs +86 -101
  257. package/src/plugin/Responsive.mjs +1 -1
  258. package/src/remotes/Api.mjs +4 -6
  259. package/src/selection/CircleModel.mjs +12 -16
  260. package/src/selection/DateSelectorModel.mjs +21 -23
  261. package/src/selection/GalleryModel.mjs +49 -63
  262. package/src/selection/HelixModel.mjs +35 -41
  263. package/src/selection/ListModel.mjs +9 -14
  264. package/src/selection/Model.mjs +31 -31
  265. package/src/selection/TreeAccordionModel.mjs +74 -80
  266. package/src/selection/grid/CellColumnModel.mjs +10 -10
  267. package/src/selection/grid/CellColumnRowModel.mjs +10 -10
  268. package/src/selection/grid/CellModel.mjs +26 -28
  269. package/src/selection/grid/CellRowModel.mjs +24 -24
  270. package/src/selection/grid/ColumnModel.mjs +16 -20
  271. package/src/selection/grid/RowModel.mjs +27 -29
  272. package/src/selection/menu/ListModel.mjs +2 -2
  273. package/src/selection/table/CellColumnModel.mjs +12 -12
  274. package/src/selection/table/CellColumnRowModel.mjs +12 -12
  275. package/src/selection/table/CellModel.mjs +26 -29
  276. package/src/selection/table/CellRowModel.mjs +19 -19
  277. package/src/selection/table/ColumnModel.mjs +18 -22
  278. package/src/selection/table/RowModel.mjs +27 -29
  279. package/src/sitemap/Component.mjs +20 -20
  280. package/src/sitemap/Store.mjs +1 -1
  281. package/src/tab/Container.mjs +15 -15
  282. package/src/tab/Strip.mjs +1 -1
  283. package/src/tab/header/Toolbar.mjs +4 -4
  284. package/src/table/Container.mjs +8 -10
  285. package/src/table/View.mjs +29 -34
  286. package/src/table/header/Button.mjs +18 -18
  287. package/src/table/header/Toolbar.mjs +2 -2
  288. package/src/toolbar/Base.mjs +14 -14
  289. package/src/toolbar/Breadcrumb.mjs +11 -11
  290. package/src/toolbar/Paging.mjs +18 -18
  291. package/src/tooltip/Base.mjs +20 -22
  292. package/src/tree/Accordion.mjs +69 -75
  293. package/src/tree/List.mjs +22 -25
  294. package/src/util/Array.mjs +19 -18
  295. package/src/util/ClassSystem.mjs +9 -9
  296. package/src/util/Css.mjs +2 -2
  297. package/src/util/Date.mjs +9 -9
  298. package/src/util/Function.mjs +2 -2
  299. package/src/util/HashHistory.mjs +3 -5
  300. package/src/util/KeyNavigation.mjs +17 -17
  301. package/src/util/Logger.mjs +9 -9
  302. package/src/util/Matrix.mjs +19 -19
  303. package/src/util/String.mjs +9 -9
  304. package/src/util/Style.mjs +11 -11
  305. package/src/util/VDom.mjs +12 -14
  306. package/src/util/VNode.mjs +29 -29
  307. package/src/vdom/Helper.mjs +84 -93
  308. package/src/vdom/VNode.mjs +1 -1
  309. package/src/worker/App.mjs +19 -16
  310. package/src/worker/Base.mjs +14 -15
  311. package/src/worker/Canvas.mjs +1 -3
  312. package/src/worker/Data.mjs +4 -8
  313. package/src/worker/Manager.mjs +27 -32
  314. package/src/worker/Message.mjs +1 -1
  315. package/src/worker/ServiceBase.mjs +38 -42
  316. package/src/worker/Task.mjs +1 -3
  317. package/src/worker/VDom.mjs +2 -4
  318. package/src/worker/mixin/RemoteMethodAccess.mjs +5 -6
  319. package/apps/portal/view/home/parts/CoolStuff.mjs +0 -82
  320. package/examples/component/helix/MainContainer.mjs +0 -340
  321. /package/resources/images/{Neo_Logo_Blue.svg → logo/neo_logo_secondary.svg} +0 -0
  322. /package/resources/images/{Neo_Logo_Text.svg → logo/neo_logo_text_secondary.svg} +0 -0
  323. /package/resources/images/{Neo_Logo_White.svg → logo/neo_logo_white.svg} +0 -0
@@ -85,7 +85,7 @@ class Flexbox extends Base {
85
85
  * @protected
86
86
  */
87
87
  afterSetAlign(value, oldValue) {
88
- oldValue && this.updateInputValue(value, oldValue, 'align');
88
+ oldValue && this.updateInputValue(value, oldValue, 'align')
89
89
  }
90
90
 
91
91
  /**
@@ -95,7 +95,7 @@ class Flexbox extends Base {
95
95
  * @protected
96
96
  */
97
97
  afterSetDirection(value, oldValue) {
98
- oldValue && this.updateInputValue(value, oldValue, 'direction');
98
+ oldValue && this.updateInputValue(value, oldValue, 'direction')
99
99
  }
100
100
 
101
101
  /**
@@ -111,7 +111,7 @@ class Flexbox extends Base {
111
111
  style = item.wrapperStyle;
112
112
 
113
113
  style.gap = value;
114
- item.wrapperStyle = style;
114
+ item.wrapperStyle = style
115
115
  }
116
116
 
117
117
  /**
@@ -121,7 +121,7 @@ class Flexbox extends Base {
121
121
  * @protected
122
122
  */
123
123
  afterSetPack(value, oldValue) {
124
- oldValue && this.updateInputValue(value, oldValue, 'pack');
124
+ oldValue && this.updateInputValue(value, oldValue, 'pack')
125
125
  }
126
126
 
127
127
  /**
@@ -131,23 +131,24 @@ class Flexbox extends Base {
131
131
  * @protected
132
132
  */
133
133
  afterSetWrap(value, oldValue) {
134
- oldValue && this.updateInputValue(value, oldValue, 'wrap');
134
+ oldValue && this.updateInputValue(value, oldValue, 'wrap')
135
135
  }
136
136
 
137
137
  /**
138
138
  * Applies the flex value to an item of the container this layout is bound to
139
139
  * @param {Neo.component.Base} item
140
+ * @param {Number} index
140
141
  */
141
- applyChildAttributes(item) {
142
+ applyChildAttributes(item, index) {
142
143
  let style = item.wrapperStyle,
143
144
  flex = style.flex || item.flex || (this.align === 'stretch' ? 1 : '0 1 auto');
144
145
 
145
146
  if (flex === 1) {
146
- flex = '1 1 auto';
147
+ flex = '1 1 auto'
147
148
  }
148
149
 
149
150
  style.flex = flex;
150
- item.wrapperStyle = style;
151
+ item.wrapperStyle = style
151
152
  }
152
153
 
153
154
  /**
@@ -156,11 +157,11 @@ class Flexbox extends Base {
156
157
  applyRenderAttributes() {
157
158
  let me = this,
158
159
  container = Neo.getComponent(me.containerId),
159
- prefix = me.prefix,
160
+ {prefix} = me,
160
161
  wrapperCls = container?.wrapperCls || [];
161
162
 
162
163
  if (!container) {
163
- Neo.logError('layout.Flexbox: applyRenderAttributes -> container not yet created', me.containerId);
164
+ Neo.logError('layout.Flexbox: applyRenderAttributes -> container not yet created', me.containerId)
164
165
  }
165
166
 
166
167
  NeoArray.add(wrapperCls, prefix + 'container');
@@ -170,7 +171,7 @@ class Flexbox extends Base {
170
171
  me.pack && NeoArray.add(wrapperCls, prefix + 'pack-' + me.pack);
171
172
  me.wrap && NeoArray.add(wrapperCls, prefix + 'wrap-' + me.wrap);
172
173
 
173
- container.wrapperCls = wrapperCls;
174
+ container.wrapperCls = wrapperCls
174
175
  }
175
176
 
176
177
  /**
@@ -181,7 +182,7 @@ class Flexbox extends Base {
181
182
  * @returns {String|null} value
182
183
  */
183
184
  beforeSetAlign(value, oldValue) {
184
- return this.testInputValue(value, oldValue, 'alignValues', 'align');
185
+ return this.testInputValue(value, oldValue, 'alignValues', 'align')
185
186
  }
186
187
 
187
188
  /**
@@ -192,7 +193,7 @@ class Flexbox extends Base {
192
193
  * @returns {String|null} value
193
194
  */
194
195
  beforeSetDirection(value, oldValue) {
195
- return this.testInputValue(value, oldValue, 'directionValues', 'direction');
196
+ return this.testInputValue(value, oldValue, 'directionValues', 'direction')
196
197
  }
197
198
 
198
199
  /**
@@ -203,7 +204,7 @@ class Flexbox extends Base {
203
204
  * @returns {String|null} value
204
205
  */
205
206
  beforeSetPack(value, oldValue) {
206
- return this.testInputValue(value, oldValue, 'packValues', 'pack');
207
+ return this.testInputValue(value, oldValue, 'packValues', 'pack')
207
208
  }
208
209
 
209
210
  /**
@@ -214,11 +215,11 @@ class Flexbox extends Base {
214
215
  * @returns {String} value
215
216
  */
216
217
  beforeSetWrap(value, oldValue) {
217
- return this.testInputValue(value, oldValue, 'wrapValues', 'wrap');
218
+ return this.testInputValue(value, oldValue, 'wrapValues', 'wrap')
218
219
  }
219
220
 
220
221
  /**
221
- * Removes all CSS rules from an container item this layout is bound to.
222
+ * Removes all CSS rules from a container item this layout is bound to.
222
223
  * Gets called when switching to a different layout.
223
224
  * @param {Neo.component.Base} item
224
225
  * @protected
@@ -227,7 +228,7 @@ class Flexbox extends Base {
227
228
  let style = item.wrapperStyle || {};
228
229
 
229
230
  style.flex = item.flex || null;
230
- item.wrapperStyle = style;
231
+ item.wrapperStyle = style
231
232
  }
232
233
 
233
234
  /**
@@ -238,29 +239,29 @@ class Flexbox extends Base {
238
239
  removeRenderAttributes() {
239
240
  let me = this,
240
241
  container = Neo.getComponent(me.containerId),
241
- prefix = me.prefix,
242
+ {prefix} = me,
242
243
  wrapperCls = container?.wrapperCls || [];
243
244
 
244
245
  if (!container) {
245
- Neo.logError('layout.Flexbox: removeRenderAttributes -> container not yet created', me.containerId);
246
+ Neo.logError('layout.Flexbox: removeRenderAttributes -> container not yet created', me.containerId)
246
247
  }
247
248
 
248
249
  NeoArray.remove(wrapperCls, prefix + 'container');
249
250
 
250
251
  if (me.align) {
251
- NeoArray.remove(wrapperCls, prefix + 'align-' + me.align);
252
+ NeoArray.remove(wrapperCls, prefix + 'align-' + me.align)
252
253
  }
253
254
  if (me.direction) {
254
- NeoArray.remove(wrapperCls, prefix + 'direction-' + me.direction);
255
+ NeoArray.remove(wrapperCls, prefix + 'direction-' + me.direction)
255
256
  }
256
257
  if (me.pack) {
257
- NeoArray.remove(wrapperCls, prefix + 'pack-' + me.pack);
258
+ NeoArray.remove(wrapperCls, prefix + 'pack-' + me.pack)
258
259
  }
259
260
  if (me.wrap) {
260
- NeoArray.remove(wrapperCls, prefix + 'wrap-' + me.wrap);
261
+ NeoArray.remove(wrapperCls, prefix + 'wrap-' + me.wrap)
261
262
  }
262
263
 
263
- container.wrapperCls = wrapperCls;
264
+ container.wrapperCls = wrapperCls
264
265
  }
265
266
 
266
267
  /**
@@ -273,11 +274,11 @@ class Flexbox extends Base {
273
274
  * @returns {String|null} value
274
275
  */
275
276
  testInputValue(value, oldValue, validValuesName, propertyName) {
276
- const validValues = this.getStaticConfig(validValuesName);
277
+ let validValues = this.getStaticConfig(validValuesName);
277
278
 
278
279
  if (!NeoArray.hasItem(validValues, value)) {
279
280
  Neo.logError(this.containerId, '-> layout: supported values for "' + propertyName + '" are' , validValues);
280
- return oldValue;
281
+ return oldValue
281
282
  }
282
283
 
283
284
  return value;
@@ -293,17 +294,17 @@ class Flexbox extends Base {
293
294
  updateInputValue(value, oldValue, propertyName) {
294
295
  let me = this,
295
296
  container = Neo.getComponent(me.containerId),
296
- prefix = me.prefix,
297
+ {prefix} = me,
297
298
  wrapperCls = container?.wrapperCls;
298
299
 
299
300
  if (container?.rendered) {
300
301
  NeoArray.remove(wrapperCls, prefix + propertyName + '-' + oldValue);
301
302
 
302
303
  if (value !== null) {
303
- NeoArray.add(wrapperCls, prefix + propertyName + '-' + value);
304
+ NeoArray.add(wrapperCls, prefix + propertyName + '-' + value)
304
305
  }
305
306
 
306
- container.wrapperCls = wrapperCls;
307
+ container.wrapperCls = wrapperCls
307
308
  }
308
309
  }
309
310
  }
@@ -42,7 +42,7 @@ class Form extends Base {
42
42
  style = item.wrapperStyle;
43
43
 
44
44
  style.gap = value;
45
- item.wrapperStyle = style;
45
+ item.wrapperStyle = style
46
46
  }
47
47
 
48
48
  /**
@@ -50,14 +50,14 @@ class Form extends Base {
50
50
  * @param {Neo.component.Base} item
51
51
  * @param {Number} index
52
52
  */
53
- applyChildAttributes(child, index) {
54
- if (!child.ignoreLayout) {
55
- if (child.ntype === 'fieldset') {
56
- child.wrapperCls = NeoArray.union(child.wrapperCls, 'neo-layout-form-subfieldset');
53
+ applyChildAttributes(item, index) {
54
+ if (!item.ignoreLayout) {
55
+ if (item.ntype === 'fieldset') {
56
+ item.wrapperCls = NeoArray.union(item.wrapperCls, 'neo-layout-form-subfieldset')
57
57
  } else if (child.ntype === 'legend') {
58
- child.wrapperCls = NeoArray.union(child.wrapperCls, 'neo-layout-form-legend');
58
+ item.wrapperCls = NeoArray.union(item.wrapperCls, 'neo-layout-form-legend')
59
59
  } else {
60
- child.wrapperCls = NeoArray.union(child.wrapperCls, 'neo-layout-form-item');
60
+ item.wrapperCls = NeoArray.union(item.wrapperCls, 'neo-layout-form-item')
61
61
  }
62
62
  }
63
63
  }
@@ -71,12 +71,12 @@ class Form extends Base {
71
71
  wrapperCls = container?.wrapperCls || [];
72
72
 
73
73
  if (!container) {
74
- Neo.logError('layout.Form: applyRenderAttributes -> container not yet created', me.containerId);
74
+ Neo.logError('layout.Form: applyRenderAttributes -> container not yet created', me.containerId)
75
75
  }
76
76
 
77
77
  NeoArray.add(wrapperCls, 'neo-layout-form');
78
78
 
79
- container.wrapperCls = wrapperCls;
79
+ container.wrapperCls = wrapperCls
80
80
  }
81
81
 
82
82
  /**
@@ -89,7 +89,7 @@ class Form extends Base {
89
89
  let style = item.wrapperStyle || {};
90
90
 
91
91
  style.flex = item.flex || null;
92
- item.wrapperStyle = style;
92
+ item.wrapperStyle = style
93
93
  }
94
94
 
95
95
  /**
@@ -102,12 +102,12 @@ class Form extends Base {
102
102
  wrapperCls = container?.wrapperCls || [];
103
103
 
104
104
  if (!container) {
105
- Neo.logError('layout.Form: removeRenderAttributes -> container not yet created', me.containerId);
105
+ Neo.logError('layout.Form: removeRenderAttributes -> container not yet created', me.containerId)
106
106
  }
107
107
 
108
108
  NeoArray.remove(wrapperCls, 'neo-layout-form');
109
109
 
110
- container.wrapperCls = wrapperCls;
110
+ container.wrapperCls = wrapperCls
111
111
  }
112
112
 
113
113
  /**
@@ -120,17 +120,17 @@ class Form extends Base {
120
120
  updateInputValue(value, oldValue, propertyName) {
121
121
  let me = this,
122
122
  container = Neo.getComponent(me.containerId),
123
- prefix = me.prefix,
123
+ {prefix} = me,
124
124
  wrapperCls = container?.wrapperCls;
125
125
 
126
126
  if (container?.rendered) {
127
127
  NeoArray.remove(wrapperCls, prefix + propertyName + '-' + oldValue);
128
128
 
129
129
  if (value !== null) {
130
- NeoArray.add(wrapperCls, prefix + propertyName + '-' + value);
130
+ NeoArray.add(wrapperCls, prefix + propertyName + '-' + value)
131
131
  }
132
132
 
133
- container.wrapperCls = wrapperCls;
133
+ container.wrapperCls = wrapperCls
134
134
  }
135
135
  }
136
136
  }
@@ -28,12 +28,12 @@ class Grid extends Base {
28
28
  wrapperCls = container?.wrapperCls || [];
29
29
 
30
30
  if (!container) {
31
- Neo.logError('layout.Grid: applyRenderAttributes -> container not yet created', me.containerId);
31
+ Neo.logError('layout.Grid: applyRenderAttributes -> container not yet created', me.containerId)
32
32
  }
33
33
 
34
34
  NeoArray.add(wrapperCls, 'neo-layout-grid');
35
35
 
36
- container.wrapperCls = wrapperCls;
36
+ container.wrapperCls = wrapperCls
37
37
  }
38
38
  }
39
39
 
@@ -26,10 +26,11 @@ class HBox extends Flexbox {
26
26
  /**
27
27
  * Applies the flex value to an item of the container this layout is bound to
28
28
  * @param {Neo.component.Base} item
29
+ * @param {Number} index
29
30
  */
30
- applyChildAttributes(item) {
31
+ applyChildAttributes(item, index) {
31
32
  // Do not apply flex if fixed width
32
- !item.width && super.applyChildAttributes(item);
33
+ !item.width && super.applyChildAttributes(item, index)
33
34
  }
34
35
  }
35
36
 
@@ -26,10 +26,11 @@ class VBox extends Flexbox {
26
26
  /**
27
27
  * Applies the flex value to an item of the container this layout is bound to
28
28
  * @param {Neo.component.Base} item
29
+ * @param {Number} index
29
30
  */
30
- applyChildAttributes(item) {
31
+ applyChildAttributes(item, index) {
31
32
  // Do not apply flex if fixed height
32
- !item.height && super.applyChildAttributes(item);
33
+ !item.height && super.applyChildAttributes(item, index)
33
34
  }
34
35
  }
35
36
 
package/src/list/Base.mjs CHANGED
@@ -152,7 +152,7 @@ class Base extends Component {
152
152
  * @member {Object} _vdom
153
153
  */
154
154
  _vdom:
155
- {tag: 'ul', cn: []}
155
+ {tag: 'ul', cn: []}
156
156
  }
157
157
 
158
158
  /**
@@ -179,7 +179,7 @@ class Base extends Component {
179
179
  let me = this;
180
180
 
181
181
  if (me.useHeaders) {
182
- me.scrollIntoViewOnFocus = false;
182
+ me.scrollIntoViewOnFocus = false
183
183
  }
184
184
 
185
185
  me.addDomListeners({
@@ -195,19 +195,20 @@ class Base extends Component {
195
195
  * @protected
196
196
  */
197
197
  afterSetAnimate(value, oldValue) {
198
- value && import('./plugin/Animate.mjs').then(module => {
199
- let me = this,
200
- plugins = me.plugins || [];
201
-
202
- plugins.push({
203
- module : module.default,
204
- appName: me.appName,
205
- id : 'animate',
206
- ...me.pluginAnimateConfig
207
- });
198
+ if (value && !this.getPlugin('list-animate')) {
199
+ import('./plugin/Animate.mjs').then(module => {
200
+ let me = this,
201
+ plugins = me.plugins || [];
208
202
 
209
- me.plugins = plugins
210
- })
203
+ plugins.push({
204
+ module : module.default,
205
+ appName: me.appName,
206
+ ...me.pluginAnimateConfig
207
+ });
208
+
209
+ me.plugins = plugins
210
+ })
211
+ }
211
212
  }
212
213
 
213
214
  /**
@@ -280,7 +281,7 @@ class Base extends Component {
280
281
  * @protected
281
282
  */
282
283
  afterSetMounted(value, oldValue) {
283
- const me = this;
284
+ let me = this;
284
285
 
285
286
  // Tear down navigation before we lose the element
286
287
  if (!value && me.hasNavigator) {
@@ -318,8 +319,8 @@ class Base extends Component {
318
319
  * @protected
319
320
  */
320
321
  afterSetSelectedIndex(value, oldValue) {
321
- let me = this,
322
- selectionModel = me.selectionModel;
322
+ let me = this,
323
+ {selectionModel} = me;
323
324
 
324
325
  if (Neo.isNumber(value)) {
325
326
  selectionModel?.selectAt(value);
@@ -367,8 +368,8 @@ class Base extends Component {
367
368
  * @protected
368
369
  */
369
370
  afterSetUseCheckBoxes(value, oldValue) {
370
- let me = this,
371
- cls = me.cls;
371
+ let me = this,
372
+ {cls} = me;
372
373
 
373
374
  NeoArray.toggle(cls, 'neo-use-checkicons', !!value);
374
375
  me.cls = cls
@@ -396,9 +397,8 @@ class Base extends Component {
396
397
  * @protected
397
398
  */
398
399
  afterSetUseWrapperNode(value, oldValue) {
399
- let me = this,
400
- cls = me.cls,
401
- wrapperCls = me.wrapperCls;
400
+ let me = this,
401
+ {cls, wrapperCls} = me;
402
402
 
403
403
  NeoArray[value ? 'add' : 'remove'](cls, 'neo-use-wrapper-node');
404
404
  NeoArray[value ? 'add' : 'remove'](wrapperCls, 'neo-list-wrapper');
@@ -438,15 +438,15 @@ class Base extends Component {
438
438
  * @returns {Object} The list item vdom object
439
439
  */
440
440
  createItem(record, index) {
441
- let me = this,
442
- cls = [me.itemCls],
443
- hasItemHeight = me.itemHeight !== null,
444
- hasItemWidth = me.itemWidth !== null,
445
- isHeader = me.useHeaders && record.isHeader,
446
- itemContent = me.createItemContent(record, index),
447
- itemId = me.getItemId(record[me.getKeyProperty()]),
448
- selectionModel = me.selectionModel,
449
- isSelected = !me.disableSelection && selectionModel?.isSelected(itemId),
441
+ let me = this,
442
+ cls = [me.itemCls],
443
+ hasItemHeight = me.itemHeight !== null,
444
+ hasItemWidth = me.itemWidth !== null,
445
+ isHeader = me.useHeaders && record.isHeader,
446
+ itemContent = me.createItemContent(record, index),
447
+ itemId = me.getItemId(record[me.getKeyProperty()]),
448
+ {selectionModel} = me,
449
+ isSelected = !me.disableSelection && selectionModel?.isSelected(itemId),
450
450
  item;
451
451
 
452
452
  isHeader && cls.push('neo-list-header');
@@ -484,12 +484,12 @@ class Base extends Component {
484
484
 
485
485
  switch (Neo.typeOf(itemContent)) {
486
486
  case null: {
487
- return null;
487
+ return null
488
488
  }
489
489
 
490
490
  case 'Array': {
491
491
  item.cn = itemContent;
492
- break;
492
+ break
493
493
  }
494
494
 
495
495
  case 'Object': {
@@ -500,13 +500,13 @@ class Base extends Component {
500
500
  }
501
501
 
502
502
  Object.assign(item, itemContent);
503
- break;
503
+ break
504
504
  }
505
505
 
506
506
  case 'Number':
507
507
  case 'String': {
508
508
  item.html = itemContent;
509
- break;
509
+ break
510
510
  }
511
511
  }
512
512
 
@@ -553,9 +553,9 @@ class Base extends Component {
553
553
  * @param {Boolean} silent=false
554
554
  */
555
555
  createItems(silent=false) {
556
- let me = this,
557
- headerlessSelectedIndex = me.headerlessSelectedIndex,
558
- vdom = me.getVdomRoot(),
556
+ let me = this,
557
+ {headerlessSelectedIndex} = me,
558
+ vdom = me.getVdomRoot(),
559
559
  listItem;
560
560
 
561
561
  // in case we set headerlessSelectedIndex before the store was loaded, selectedIndex can be null
@@ -564,7 +564,7 @@ class Base extends Component {
564
564
  me.afterSetHeaderlessSelectedIndex(headerlessSelectedIndex, null)
565
565
  }
566
566
 
567
- if (!(me.animate && !me.getPlugin('animate'))) {
567
+ if (!(me.animate && !me.getPlugin('list-animate'))) {
568
568
  vdom.cn = [];
569
569
 
570
570
  me.store.items.forEach((item, index) => {
@@ -657,7 +657,7 @@ class Base extends Component {
657
657
  */
658
658
  getItemRecordId(vnodeId) {
659
659
  let itemId = vnodeId.split('__')[1],
660
- model = this.store.model,
660
+ {model} = this.store,
661
661
  keyField = model?.getField(model.keyProperty),
662
662
  keyType = keyField?.type?.toLowerCase();
663
663
 
@@ -752,14 +752,12 @@ class Base extends Component {
752
752
  *
753
753
  */
754
754
  onStoreLoad() {
755
- let me = this,
756
- listenerId;
755
+ let me = this;
757
756
 
758
757
  if (!me.mounted && me.rendering) {
759
- listenerId = me.on('mounted', () => {
760
- me.un('mounted', listenerId);
758
+ me.on('mounted', () => {
761
759
  me.createItems()
762
- });
760
+ }, me, {once: true});
763
761
  } else {
764
762
  me.createItems()
765
763
  }
@@ -774,8 +772,8 @@ class Base extends Component {
774
772
  *
775
773
  */
776
774
  onStoreRecordChange(data) {
777
- let me = this,
778
- index = data.index;
775
+ let me = this,
776
+ {index} = data;
779
777
 
780
778
  // ignore changes for records which have not been added to the list yet
781
779
  if (index > -1) {
package/src/list/Chip.mjs CHANGED
@@ -63,7 +63,7 @@ class Chip extends ComponentList {
63
63
 
64
64
  items.forEach(item => {
65
65
  item.display = value ? 'flex' : 'inline-flex';
66
- });
66
+ })
67
67
  }
68
68
  }
69
69
 
@@ -85,7 +85,7 @@ class Chip extends ComponentList {
85
85
  };
86
86
 
87
87
  if (listItem) {
88
- listItem.setSilent(config);
88
+ listItem.setSilent(config)
89
89
  } else {
90
90
  items[index] = listItem = Neo.create({
91
91
  appName : me.appName,
@@ -93,12 +93,12 @@ class Chip extends ComponentList {
93
93
  tabIndex : -1,
94
94
  ...me.itemDefaults,
95
95
  ...config
96
- });
96
+ })
97
97
  }
98
98
 
99
99
  me.items = items;
100
100
 
101
- return [listItem.vdom];
101
+ return [listItem.vdom]
102
102
  }
103
103
  }
104
104
 
@@ -61,7 +61,7 @@ class Circle extends Component {
61
61
  };
62
62
 
63
63
  if (listItem) {
64
- listItem.setSilent(config);
64
+ listItem.setSilent(config)
65
65
  } else {
66
66
  items[index] = listItem = Neo.create({
67
67
  appName : me.appName,
@@ -73,12 +73,12 @@ class Circle extends Component {
73
73
  width : me.itemWidth,
74
74
  ...me.itemDefaults,
75
75
  ...config
76
- });
76
+ })
77
77
  }
78
78
 
79
79
  me.items = items;
80
80
 
81
- return [listItem.vdom];
81
+ return [listItem.vdom]
82
82
  }
83
83
  }
84
84
 
@@ -62,7 +62,7 @@ class Color extends Base {
62
62
  vtype: 'text',
63
63
  html : record[me.displayField],
64
64
  id : me.getListItemVtextId(id)
65
- }];
65
+ }]
66
66
  }
67
67
 
68
68
  /**
@@ -70,7 +70,7 @@ class Color extends Base {
70
70
  * @returns {String}
71
71
  */
72
72
  getListItemIconId(recordId) {
73
- return `${this.id}__icon__${recordId}`;
73
+ return `${this.id}__icon__${recordId}`
74
74
  }
75
75
 
76
76
  /**
@@ -78,7 +78,7 @@ class Color extends Base {
78
78
  * @returns {String}
79
79
  */
80
80
  getListItemVtextId(recordId) {
81
- return `${this.id}__vtext__${recordId}`;
81
+ return `${this.id}__vtext__${recordId}`
82
82
  }
83
83
 
84
84
  /**
@@ -89,7 +89,7 @@ class Color extends Base {
89
89
 
90
90
  me.createItems(me.silentSelectUpdate);
91
91
 
92
- !me.silentSelect && me.focus(items[0]);
92
+ !me.silentSelect && me.focus(items[0])
93
93
  }
94
94
  }
95
95