neo.mjs 6.17.2 → 6.18.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 (316) 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 +5 -6
  27. package/apps/portal/view/home/parts/AfterMath.mjs +1 -1
  28. package/apps/portal/view/home/parts/{CoolStuff.mjs → Colors.mjs} +20 -28
  29. package/apps/portal/view/home/parts/Helix.mjs +75 -0
  30. package/apps/portal/view/learn/LivePreview.mjs +56 -15
  31. package/apps/portal/view/learn/MainContainerController.mjs +10 -90
  32. package/apps/realworld/api/Article.mjs +1 -3
  33. package/apps/realworld/api/Favorite.mjs +1 -3
  34. package/apps/realworld/api/Profile.mjs +1 -3
  35. package/apps/realworld/api/Tag.mjs +1 -3
  36. package/apps/realworld/api/User.mjs +1 -3
  37. package/apps/realworld2/api/Article.mjs +1 -3
  38. package/apps/realworld2/api/Favorite.mjs +1 -3
  39. package/apps/realworld2/api/Profile.mjs +1 -3
  40. package/apps/realworld2/api/Tag.mjs +1 -3
  41. package/apps/realworld2/api/User.mjs +1 -3
  42. package/apps/realworld2/view/article/HelixContainer.mjs +5 -5
  43. package/buildScripts/webpack/json/myApps.template.json +1 -0
  44. package/docs/app/view/MainContainer.mjs +5 -0
  45. package/docs/app/view/classdetails/MembersList.mjs +1 -1
  46. package/examples/ServiceWorker.mjs +3 -5
  47. package/examples/component/helix/Viewport.mjs +309 -0
  48. package/examples/component/helix/ViewportController.mjs +122 -0
  49. package/examples/component/helix/app.mjs +2 -2
  50. package/examples/component/helix/neo-config.json +0 -1
  51. package/examples/component/multiWindowHelix/Viewport.mjs +11 -3
  52. package/examples/component/multiWindowHelix/ViewportController.mjs +21 -9
  53. package/examples/component/multiWindowHelix/neo-config.json +0 -1
  54. package/examples/fieldWithPrefix/MainContainer.mjs +1 -6
  55. package/examples/list/animate/MainContainerController.mjs +1 -1
  56. package/examples/worker/task/MyTasks.mjs +1 -3
  57. package/package.json +2 -2
  58. package/resources/data/deck/learnneo/pages/GuideEvents.md +131 -0
  59. package/resources/data/deck/learnneo/pages/WhyNeo-Speed.md +1 -1
  60. package/resources/images/logo/neo_logo_primary.svg +6 -0
  61. package/resources/images/logo/neo_logo_text_primary.svg +5 -0
  62. package/resources/scss/src/apps/colors/BarChartComponent.scss +3 -0
  63. package/resources/scss/src/apps/colors/HeaderToolbar.scss +11 -0
  64. package/resources/scss/src/apps/colors/PieChartComponent.scss +3 -0
  65. package/resources/scss/src/apps/colors/TableContainer.scss +64 -0
  66. package/resources/scss/src/apps/colors/Viewport.scss +9 -0
  67. package/resources/scss/src/apps/portal/HeaderToolbar.scss +1 -1
  68. package/resources/scss/src/apps/portal/home/MainContainer.scss +1 -1
  69. package/resources/scss/src/apps/portal/home/preview/PageCodeContainer.scss +1 -1
  70. package/resources/scss/src/examples/component/multiWindowHelix/Viewport.scss +3 -0
  71. package/resources/scss/src/form/field/CheckBox.scss +1 -0
  72. package/resources/scss/src/tab/header/Button.scss +2 -1
  73. package/resources/scss/theme-dark/Global.scss +8 -0
  74. package/resources/scss/theme-dark/button/Base.scss +1 -1
  75. package/resources/scss/theme-dark/tab/header/Button.scss +1 -0
  76. package/resources/scss/theme-light/Global.scss +8 -0
  77. package/resources/scss/theme-light/button/Base.scss +1 -1
  78. package/resources/scss/theme-light/tab/header/Button.scss +1 -0
  79. package/resources/scss/theme-neo-light/Global.scss +53 -53
  80. package/resources/scss/theme-neo-light/button/Base.scss +3 -4
  81. package/resources/scss/theme-neo-light/tab/header/Button.scss +6 -8
  82. package/src/DefaultConfig.mjs +2 -2
  83. package/src/Fetch.mjs +1 -3
  84. package/src/Main.mjs +13 -11
  85. package/src/MicroLoader.mjs +2 -2
  86. package/src/Neo.mjs +27 -26
  87. package/src/Xhr.mjs +1 -3
  88. package/src/button/Base.mjs +6 -4
  89. package/src/button/Split.mjs +10 -9
  90. package/src/calendar/view/EditEventContainer.mjs +13 -12
  91. package/src/calendar/view/MainContainer.mjs +40 -40
  92. package/src/calendar/view/MainContainerModel.mjs +5 -5
  93. package/src/calendar/view/SettingsContainer.mjs +11 -11
  94. package/src/calendar/view/YearComponent.mjs +73 -75
  95. package/src/calendar/view/calendars/ColorsList.mjs +2 -2
  96. package/src/calendar/view/calendars/EditContainer.mjs +2 -2
  97. package/src/calendar/view/calendars/List.mjs +12 -13
  98. package/src/calendar/view/month/Component.mjs +72 -73
  99. package/src/calendar/view/settings/GeneralContainer.mjs +5 -5
  100. package/src/calendar/view/settings/MonthContainer.mjs +5 -5
  101. package/src/calendar/view/settings/WeekContainer.mjs +6 -6
  102. package/src/calendar/view/settings/YearContainer.mjs +4 -4
  103. package/src/calendar/view/week/Component.mjs +47 -57
  104. package/src/calendar/view/week/EventDragZone.mjs +43 -50
  105. package/src/calendar/view/week/TimeAxisComponent.mjs +21 -21
  106. package/src/calendar/view/week/plugin/DragDrop.mjs +53 -45
  107. package/src/calendar/view/week/plugin/EventResizable.mjs +8 -3
  108. package/src/collection/Base.mjs +15 -22
  109. package/src/collection/Filter.mjs +4 -9
  110. package/src/collection/Sorter.mjs +6 -7
  111. package/src/component/Base.mjs +25 -31
  112. package/src/component/Canvas.mjs +9 -9
  113. package/src/component/Carousel.mjs +31 -33
  114. package/src/component/Chip.mjs +9 -9
  115. package/src/component/Circle.mjs +84 -91
  116. package/src/component/Clock.mjs +8 -8
  117. package/src/component/DateSelector.mjs +14 -15
  118. package/src/component/Gallery.mjs +82 -80
  119. package/src/component/Helix.mjs +131 -126
  120. package/src/component/Iframe.mjs +1 -1
  121. package/src/component/Label.mjs +1 -1
  122. package/src/component/Legend.mjs +3 -3
  123. package/src/component/Process.mjs +39 -37
  124. package/src/component/Splitter.mjs +9 -11
  125. package/src/component/StatusBadge.mjs +2 -3
  126. package/src/component/Timer.mjs +62 -68
  127. package/src/component/Toast.mjs +11 -11
  128. package/src/component/Video.mjs +7 -8
  129. package/src/component/mwc/Button.mjs +10 -10
  130. package/src/component/mwc/TextField.mjs +17 -17
  131. package/src/component/wrapper/AmChart.mjs +5 -5
  132. package/src/component/wrapper/CesiumJS.mjs +11 -17
  133. package/src/component/wrapper/GoogleMaps.mjs +58 -35
  134. package/src/component/wrapper/MapboxGL.mjs +112 -79
  135. package/src/container/Accordion.mjs +18 -20
  136. package/src/container/AccordionItem.mjs +12 -11
  137. package/src/container/Base.mjs +24 -23
  138. package/src/container/Panel.mjs +9 -9
  139. package/src/controller/Base.mjs +12 -14
  140. package/src/controller/Component.mjs +60 -66
  141. package/src/core/Base.mjs +5 -8
  142. package/src/core/IdGenerator.mjs +1 -3
  143. package/src/core/Observable.mjs +17 -17
  144. package/src/core/Util.mjs +5 -5
  145. package/src/data/Model.mjs +3 -3
  146. package/src/data/RecordFactory.mjs +3 -6
  147. package/src/data/Store.mjs +34 -34
  148. package/src/data/connection/Fetch.mjs +3 -3
  149. package/src/data/connection/WebSocket.mjs +21 -25
  150. package/src/data/connection/Xhr.mjs +31 -28
  151. package/src/date/DayViewComponent.mjs +1 -1
  152. package/src/date/SelectorContainer.mjs +2 -2
  153. package/src/dialog/Base.mjs +27 -25
  154. package/src/dialog/header/Toolbar.mjs +5 -4
  155. package/src/draggable/DragProxyComponent.mjs +7 -4
  156. package/src/draggable/DragZone.mjs +30 -30
  157. package/src/draggable/DropZone.mjs +7 -7
  158. package/src/draggable/list/DragZone.mjs +18 -18
  159. package/src/draggable/tab/header/toolbar/SortZone.mjs +7 -7
  160. package/src/draggable/toolbar/DragZone.mjs +15 -15
  161. package/src/draggable/toolbar/SortZone.mjs +30 -31
  162. package/src/draggable/tree/DragZone.mjs +9 -9
  163. package/src/filter/BooleanContainer.mjs +3 -3
  164. package/src/filter/NumberContainer.mjs +5 -5
  165. package/src/filter/ToggleOperatorsButton.mjs +5 -5
  166. package/src/form/Fieldset.mjs +26 -26
  167. package/src/form/field/Base.mjs +1 -1
  168. package/src/form/field/CheckBox.mjs +15 -16
  169. package/src/form/field/Color.mjs +13 -15
  170. package/src/form/field/ComboBox.mjs +16 -24
  171. package/src/form/field/Country.mjs +1 -1
  172. package/src/form/field/Date.mjs +3 -4
  173. package/src/form/field/Display.mjs +1 -1
  174. package/src/form/field/Email.mjs +2 -2
  175. package/src/form/field/Number.mjs +51 -56
  176. package/src/form/field/Picker.mjs +2 -2
  177. package/src/form/field/Radio.mjs +1 -1
  178. package/src/form/field/Range.mjs +7 -6
  179. package/src/form/field/Text.mjs +29 -36
  180. package/src/form/field/TextArea.mjs +9 -9
  181. package/src/form/field/Time.mjs +30 -30
  182. package/src/form/field/trigger/Base.mjs +19 -13
  183. package/src/form/field/trigger/Clear.mjs +13 -13
  184. package/src/form/field/trigger/CopyToClipboard.mjs +7 -7
  185. package/src/form/field/trigger/Picker.mjs +2 -2
  186. package/src/form/field/trigger/SpinDown.mjs +1 -1
  187. package/src/form/field/trigger/SpinUp.mjs +1 -1
  188. package/src/form/field/trigger/SpinUpDown.mjs +3 -3
  189. package/src/form/field/trigger/Time.mjs +3 -3
  190. package/src/grid/Container.mjs +33 -33
  191. package/src/grid/View.mjs +20 -22
  192. package/src/grid/header/Button.mjs +12 -12
  193. package/src/grid/header/Toolbar.mjs +4 -4
  194. package/src/layout/Base.mjs +5 -4
  195. package/src/layout/Card.mjs +15 -16
  196. package/src/layout/Fit.mjs +22 -8
  197. package/src/layout/Flexbox.mjs +30 -29
  198. package/src/layout/Form.mjs +15 -15
  199. package/src/layout/Grid.mjs +2 -2
  200. package/src/layout/HBox.mjs +3 -2
  201. package/src/layout/VBox.mjs +3 -2
  202. package/src/list/Base.mjs +45 -47
  203. package/src/list/Chip.mjs +4 -4
  204. package/src/list/Circle.mjs +3 -3
  205. package/src/list/Color.mjs +4 -4
  206. package/src/list/Component.mjs +10 -10
  207. package/src/list/plugin/Animate.mjs +18 -13
  208. package/src/main/DomAccess.mjs +92 -56
  209. package/src/main/DomEvents.mjs +38 -39
  210. package/src/main/addon/AmCharts.mjs +37 -37
  211. package/src/main/addon/AnalyticsByGoogle.mjs +4 -4
  212. package/src/main/addon/CesiumJS.mjs +8 -8
  213. package/src/main/addon/CloneNode.mjs +5 -5
  214. package/src/main/addon/Cookie.mjs +4 -4
  215. package/src/main/addon/DragDrop.mjs +35 -34
  216. package/src/main/addon/GoogleMaps.mjs +19 -19
  217. package/src/main/addon/LocalStorage.mjs +3 -3
  218. package/src/main/addon/MapboxGL.mjs +40 -41
  219. package/src/main/addon/MonacoEditor.mjs +5 -5
  220. package/src/main/addon/Mwc.mjs +6 -6
  221. package/src/main/addon/Navigator.mjs +35 -39
  222. package/src/main/addon/Popover.mjs +5 -6
  223. package/src/main/addon/PrefixField.mjs +1 -2
  224. package/src/main/addon/ServiceWorker.mjs +9 -9
  225. package/src/main/addon/Siesta.mjs +3 -2
  226. package/src/main/addon/Stylesheet.mjs +37 -37
  227. package/src/main/addon/WebComponent.mjs +2 -3
  228. package/src/main/addon/WindowPosition.mjs +18 -18
  229. package/src/main/draggable/sensor/Base.mjs +2 -2
  230. package/src/main/draggable/sensor/Mouse.mjs +15 -15
  231. package/src/main/draggable/sensor/Touch.mjs +24 -23
  232. package/src/main/mixin/DeltaUpdates.mjs +10 -12
  233. package/src/main/mixin/TouchDomEvents.mjs +6 -6
  234. package/src/manager/Base.mjs +4 -4
  235. package/src/manager/Component.mjs +41 -41
  236. package/src/manager/DomEvent.mjs +41 -44
  237. package/src/manager/Focus.mjs +14 -16
  238. package/src/manager/Instance.mjs +2 -4
  239. package/src/manager/Store.mjs +4 -8
  240. package/src/manager/Task.mjs +20 -22
  241. package/src/manager/Toast.mjs +14 -16
  242. package/src/manager/rpc/Api.mjs +1 -3
  243. package/src/manager/rpc/Message.mjs +16 -18
  244. package/src/menu/List.mjs +16 -16
  245. package/src/menu/Panel.mjs +4 -4
  246. package/src/model/Component.mjs +5 -5
  247. package/src/plugin/Base.mjs +2 -0
  248. package/src/plugin/Popover.mjs +1 -1
  249. package/src/plugin/PrefixField.mjs +35 -45
  250. package/src/plugin/Resizable.mjs +86 -101
  251. package/src/plugin/Responsive.mjs +1 -1
  252. package/src/remotes/Api.mjs +4 -6
  253. package/src/selection/CircleModel.mjs +12 -16
  254. package/src/selection/DateSelectorModel.mjs +21 -23
  255. package/src/selection/GalleryModel.mjs +49 -63
  256. package/src/selection/HelixModel.mjs +35 -41
  257. package/src/selection/ListModel.mjs +9 -14
  258. package/src/selection/Model.mjs +31 -31
  259. package/src/selection/TreeAccordionModel.mjs +74 -80
  260. package/src/selection/grid/CellColumnModel.mjs +10 -10
  261. package/src/selection/grid/CellColumnRowModel.mjs +10 -10
  262. package/src/selection/grid/CellModel.mjs +26 -28
  263. package/src/selection/grid/CellRowModel.mjs +24 -24
  264. package/src/selection/grid/ColumnModel.mjs +16 -20
  265. package/src/selection/grid/RowModel.mjs +27 -29
  266. package/src/selection/menu/ListModel.mjs +2 -2
  267. package/src/selection/table/CellColumnModel.mjs +12 -12
  268. package/src/selection/table/CellColumnRowModel.mjs +12 -12
  269. package/src/selection/table/CellModel.mjs +26 -29
  270. package/src/selection/table/CellRowModel.mjs +19 -19
  271. package/src/selection/table/ColumnModel.mjs +18 -22
  272. package/src/selection/table/RowModel.mjs +27 -29
  273. package/src/sitemap/Component.mjs +20 -20
  274. package/src/sitemap/Store.mjs +1 -1
  275. package/src/tab/Container.mjs +15 -15
  276. package/src/tab/Strip.mjs +1 -1
  277. package/src/tab/header/Toolbar.mjs +4 -4
  278. package/src/table/Container.mjs +8 -10
  279. package/src/table/View.mjs +29 -34
  280. package/src/table/header/Button.mjs +18 -18
  281. package/src/table/header/Toolbar.mjs +2 -2
  282. package/src/toolbar/Base.mjs +14 -14
  283. package/src/toolbar/Breadcrumb.mjs +11 -11
  284. package/src/toolbar/Paging.mjs +18 -18
  285. package/src/tooltip/Base.mjs +20 -22
  286. package/src/tree/Accordion.mjs +69 -75
  287. package/src/tree/List.mjs +22 -25
  288. package/src/util/Array.mjs +19 -18
  289. package/src/util/ClassSystem.mjs +9 -9
  290. package/src/util/Css.mjs +2 -2
  291. package/src/util/Date.mjs +9 -9
  292. package/src/util/Function.mjs +2 -2
  293. package/src/util/HashHistory.mjs +3 -5
  294. package/src/util/KeyNavigation.mjs +17 -17
  295. package/src/util/Logger.mjs +9 -9
  296. package/src/util/Matrix.mjs +19 -19
  297. package/src/util/String.mjs +9 -9
  298. package/src/util/Style.mjs +11 -11
  299. package/src/util/VDom.mjs +12 -14
  300. package/src/util/VNode.mjs +29 -29
  301. package/src/vdom/Helper.mjs +84 -93
  302. package/src/vdom/VNode.mjs +1 -1
  303. package/src/worker/App.mjs +19 -16
  304. package/src/worker/Base.mjs +14 -15
  305. package/src/worker/Canvas.mjs +1 -3
  306. package/src/worker/Data.mjs +4 -8
  307. package/src/worker/Manager.mjs +27 -32
  308. package/src/worker/Message.mjs +1 -1
  309. package/src/worker/ServiceBase.mjs +38 -42
  310. package/src/worker/Task.mjs +1 -3
  311. package/src/worker/VDom.mjs +2 -4
  312. package/src/worker/mixin/RemoteMethodAccess.mjs +5 -6
  313. package/examples/component/helix/MainContainer.mjs +0 -340
  314. /package/resources/images/{Neo_Logo_Blue.svg → logo/neo_logo_secondary.svg} +0 -0
  315. /package/resources/images/{Neo_Logo_Text.svg → logo/neo_logo_text_secondary.svg} +0 -0
  316. /package/resources/images/{Neo_Logo_White.svg → logo/neo_logo_white.svg} +0 -0
@@ -36,7 +36,7 @@ class GalleryModel extends Model {
36
36
  */
37
37
  onContainerClick() {
38
38
  let me = this,
39
- view = me.view,
39
+ {view} = me,
40
40
  oldItems = [...me.items],
41
41
  deltas = [];
42
42
 
@@ -52,22 +52,18 @@ class GalleryModel extends Model {
52
52
 
53
53
  me.items.splice(0, me.items.length);
54
54
 
55
- Neo.currentWorker.promiseMessage('main', {
56
- action : 'updateDom',
57
- appName: view.appName,
58
- deltas : deltas
59
- }).then(() => {
60
- me.fire('selectionChange', me.items, oldItems);
61
- });
55
+ Neo.applyDeltas(view.appName, deltas).then(() => {
56
+ me.fire('selectionChange', me.items, oldItems)
57
+ })
62
58
  }
63
59
 
64
60
  /**
65
61
  * @param {Object} data
66
62
  */
67
63
  onItemClick(data) {
68
- let i = 0,
69
- len = data.path.length,
70
- view = this.view,
64
+ let i = 0,
65
+ len = data.path.length,
66
+ {view} = this,
71
67
  key;
72
68
 
73
69
  for (; i < len; i++) {
@@ -79,7 +75,7 @@ class GalleryModel extends Model {
79
75
  record: view.store.get(key)
80
76
  });
81
77
 
82
- break;
78
+ break
83
79
  }
84
80
  }
85
81
  }
@@ -88,28 +84,28 @@ class GalleryModel extends Model {
88
84
  * @param {Object} data
89
85
  */
90
86
  onKeyDownDown(data) {
91
- this[this.view.orderByRow ? 'onNavKeyRow' : 'onNavKeyColumn'](1);
87
+ this[this.view.orderByRow ? 'onNavKeyRow' : 'onNavKeyColumn'](1)
92
88
  }
93
89
 
94
90
  /**
95
91
  * @param {Object} data
96
92
  */
97
93
  onKeyDownLeft(data) {
98
- this[this.view.orderByRow ? 'onNavKeyColumn' : 'onNavKeyRow'](-1);
94
+ this[this.view.orderByRow ? 'onNavKeyColumn' : 'onNavKeyRow'](-1)
99
95
  }
100
96
 
101
97
  /**
102
98
  * @param {Object} data
103
99
  */
104
100
  onKeyDownRight(data) {
105
- this[this.view.orderByRow ? 'onNavKeyColumn' : 'onNavKeyRow'](1);
101
+ this[this.view.orderByRow ? 'onNavKeyColumn' : 'onNavKeyRow'](1)
106
102
  }
107
103
 
108
104
  /**
109
105
  * @param {Object} data
110
106
  */
111
107
  onKeyDownUp(data) {
112
- this[this.view.orderByRow ? 'onNavKeyRow' : 'onNavKeyColumn'](-1);
108
+ this[this.view.orderByRow ? 'onNavKeyRow' : 'onNavKeyColumn'](-1)
113
109
  }
114
110
 
115
111
  /**
@@ -117,22 +113,22 @@ class GalleryModel extends Model {
117
113
  */
118
114
  onNavKeyColumn(step=1) {
119
115
  let me = this,
120
- view = me.view,
121
- store = view.store,
116
+ {view} = me,
117
+ {store} = view,
122
118
  selected = me.items[0],
123
119
  countRecords = store.getCount(),
124
120
  index, record;
125
121
 
126
122
  if (selected) {
127
- index = store.indexOf(selected) + step;
123
+ index = store.indexOf(selected) + step
128
124
  } else {
129
- index = 0;
125
+ index = 0
130
126
  }
131
127
 
132
128
  if (index < 0) {
133
- index = countRecords - 1;
129
+ index = countRecords - 1
134
130
  } else if (index >= countRecords) {
135
- index = 0;
131
+ index = 0
136
132
  }
137
133
 
138
134
  record = store.getAt(index);
@@ -141,47 +137,45 @@ class GalleryModel extends Model {
141
137
 
142
138
  view.fire('select', {
143
139
  record
144
- });
140
+ })
145
141
  }
146
142
 
147
143
  /**
148
144
  * @param {Number} step=1
149
145
  */
150
146
  onNavKeyRow(step=1) {
151
- let me = this,
152
- view = me.view,
153
- store = view.store,
154
- selected = me.items[0],
155
- countRecords = store.getCount(),
156
- amountRows = view.amountRows,
157
- stayInRow = me.stayInRow,
147
+ let me = this,
148
+ {stayInRow, view} = me,
149
+ {amountRows, store} = view,
150
+ selected = me.items[0],
151
+ countRecords = store.getCount(),
158
152
  index, record;
159
153
 
160
154
  if (view.orderByRow) {
161
- amountRows = Math.ceil(view.store.getCount() / amountRows);
155
+ amountRows = Math.ceil(view.store.getCount() / amountRows)
162
156
  }
163
157
 
164
158
  step *= amountRows;
165
159
 
166
160
  if (selected) {
167
- index = store.indexOf(selected) + step;
161
+ index = store.indexOf(selected) + step
168
162
  } else {
169
- index = 0;
163
+ index = 0
170
164
  }
171
165
 
172
166
  if (index < 0) {
173
167
  if (!stayInRow) {
174
- index++;
168
+ index++
175
169
  }
176
170
  while (index < (countRecords - amountRows)) {
177
- index += amountRows;
171
+ index += amountRows
178
172
  }
179
173
  } else if (index >= countRecords) {
180
174
  if (!stayInRow) {
181
- index--;
175
+ index--
182
176
  }
183
177
  while (index >= amountRows) {
184
- index -= amountRows;
178
+ index -= amountRows
185
179
  }
186
180
  }
187
181
 
@@ -191,7 +185,7 @@ class GalleryModel extends Model {
191
185
 
192
186
  view.fire('select', {
193
187
  record
194
- });
188
+ })
195
189
  }
196
190
 
197
191
  /**
@@ -200,9 +194,8 @@ class GalleryModel extends Model {
200
194
  register(component) {
201
195
  super.register(component);
202
196
 
203
- let me = this,
204
- id = me.id,
205
- view = me.view;
197
+ let me = this,
198
+ {id, view} = me;
206
199
 
207
200
  view.on({
208
201
  containerClick: me.onContainerClick,
@@ -215,25 +208,24 @@ class GalleryModel extends Model {
215
208
  {fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
216
209
  {fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
217
210
  {fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
218
- );
211
+ )
219
212
  }
220
213
 
221
214
  /**
222
215
  * @param {String} itemId
223
216
  */
224
217
  select(itemId) {
225
- let me = this,
226
- view = me.view,
227
- items = me.items,
228
- oldItems = [...items],
229
- deltas = [],
230
- vnodeId = view?.getItemVnodeId(itemId);
218
+ let me = this,
219
+ {items, view} = me,
220
+ oldItems = [...items],
221
+ deltas = [],
222
+ vnodeId = view?.getItemVnodeId(itemId);
231
223
 
232
224
  // a select() call can happen before the view is registered
233
225
  if (!view) {
234
226
  // will get picked up by view.afterSetMounted()
235
227
  NeoArray['add'](items, itemId);
236
- return;
228
+ return
237
229
  }
238
230
 
239
231
  if (me.singleSelect) {
@@ -245,11 +237,11 @@ class GalleryModel extends Model {
245
237
  add : [],
246
238
  remove: ['neo-selected']
247
239
  }
248
- });
240
+ })
249
241
  }
250
242
  });
251
243
 
252
- items.splice(0, items.length);
244
+ items.splice(0, items.length)
253
245
  }
254
246
 
255
247
  deltas.push({
@@ -262,17 +254,13 @@ class GalleryModel extends Model {
262
254
  NeoArray['add'](items, itemId);
263
255
 
264
256
  if (deltas.length > 0 && view.mounted) {
265
- Neo.currentWorker.promiseMessage('main', {
266
- action : 'updateDom',
267
- appName: view.appName,
268
- deltas : deltas
269
- }).then(() => {
257
+ Neo.applyDeltas(view.appName, deltas).then(() => {
270
258
  view.onSelect?.(items);
271
- me.fire('selectionChange', items, oldItems);
272
- });
259
+ me.fire('selectionChange', items, oldItems)
260
+ })
273
261
  } else if (view.mounted) {
274
262
  view.onSelect?.(items);
275
- me.fire('selectionChange', items, oldItems);
263
+ me.fire('selectionChange', items, oldItems)
276
264
  }
277
265
  }
278
266
 
@@ -280,9 +268,7 @@ class GalleryModel extends Model {
280
268
  *
281
269
  */
282
270
  unregister() {
283
- let me = this,
284
- id = me.id,
285
- view = me.view;
271
+ let {id, view} = this;
286
272
 
287
273
  view.keys?.removeKeys([
288
274
  {fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
@@ -291,7 +277,7 @@ class GalleryModel extends Model {
291
277
  {fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
292
278
  ]);
293
279
 
294
- super.unregister();
280
+ super.unregister()
295
281
  }
296
282
  }
297
283
 
@@ -36,7 +36,7 @@ class HelixModel extends Model {
36
36
  */
37
37
  onContainerClick() {
38
38
  let me = this,
39
- view = me.view,
39
+ {view} = me,
40
40
  oldItems = [...me.items],
41
41
  deltas = [];
42
42
 
@@ -52,22 +52,18 @@ class HelixModel extends Model {
52
52
 
53
53
  me.items.splice(0, me.items.length);
54
54
 
55
- Neo.currentWorker.promiseMessage('main', {
56
- action : 'updateDom',
57
- appName: view.appName,
58
- deltas : deltas
59
- }).then(() => {
60
- me.fire('selectionChange', me.items, oldItems);
61
- });
55
+ Neo.applyDeltas(view.appName, deltas).then(() => {
56
+ me.fire('selectionChange', me.items, oldItems)
57
+ })
62
58
  }
63
59
 
64
60
  /**
65
61
  * @param {Object} data
66
62
  */
67
63
  onItemClick(data) {
68
- let i = 0,
69
- len = data.path.length,
70
- view = this.view,
64
+ let i = 0,
65
+ len = data.path.length,
66
+ {view} = this,
71
67
  key;
72
68
 
73
69
  for (; i < len; i++) {
@@ -79,7 +75,7 @@ class HelixModel extends Model {
79
75
  record: view.store.get(key)
80
76
  });
81
77
 
82
- break;
78
+ break
83
79
  }
84
80
  }
85
81
  }
@@ -88,64 +84,63 @@ class HelixModel extends Model {
88
84
  * @param {Object} data
89
85
  */
90
86
  onKeyDownDown(data) {
91
- this.onNavKeyColumn(1);
87
+ this.onNavKeyColumn(1)
92
88
  }
93
89
 
94
90
  /**
95
91
  * @param {Object} data
96
92
  */
97
93
  onKeyDownLeft(data) {
98
- this.onNavKeyRow(-1);
94
+ this.onNavKeyRow(-1)
99
95
  }
100
96
 
101
97
  /**
102
98
  * @param {Object} data
103
99
  */
104
100
  onKeyDownRight(data) {
105
- this.onNavKeyRow(1);
101
+ this.onNavKeyRow(1)
106
102
  }
107
103
 
108
104
  /**
109
105
  * @param {Object} data
110
106
  */
111
107
  onKeyDownUp(data) {
112
- this.onNavKeyColumn(-1);
108
+ this.onNavKeyColumn(-1)
113
109
  }
114
110
 
115
111
  /**
116
112
  * @param {Number} step=1
117
113
  */
118
114
  onNavKeyColumn(step=1) {
119
- let me = this,
120
- view = me.view,
121
- store = view.store,
122
- selected = me.items[0],
123
- countRecords = store.getCount(),
124
- itemsPerRow = parseInt(360 / view.itemAngle),
125
- stayInColumn = me.stayInColumn,
115
+ let me = this,
116
+ {stayInColumn, view} = me,
117
+ {store} = view,
118
+ selected = me.items[0],
119
+ countRecords = store.getCount(),
120
+ itemsPerRow = parseInt(360 / view.itemAngle),
126
121
  index, record;
127
122
 
128
123
  step *= itemsPerRow;
129
124
 
130
125
  if (selected) {
131
- index = store.indexOf(selected) + step;
126
+ index = store.indexOf(selected) + step
132
127
  } else {
133
- index = 0;
128
+ index = 0
134
129
  }
135
130
 
136
131
  if (index < 0) {
137
132
  if (!stayInColumn) {
138
- index++;
133
+ index++
139
134
  }
140
135
  while (index < (countRecords - itemsPerRow)) {
141
- index += itemsPerRow;
136
+ index += itemsPerRow
142
137
  }
143
138
  } else if (index >= countRecords) {
144
139
  if (!stayInColumn) {
145
- index--;
140
+ index--
146
141
  }
147
142
  while (index >= itemsPerRow) {
148
- index -= itemsPerRow;
143
+ index -= itemsPerRow
149
144
  }
150
145
  }
151
146
 
@@ -155,7 +150,7 @@ class HelixModel extends Model {
155
150
 
156
151
  view.fire('select', {
157
152
  record
158
- });
153
+ })
159
154
  }
160
155
 
161
156
  /**
@@ -163,22 +158,22 @@ class HelixModel extends Model {
163
158
  */
164
159
  onNavKeyRow(step=1) {
165
160
  let me = this,
166
- view = me.view,
167
- store = view.store,
161
+ {view} = me,
162
+ {store} = view,
168
163
  selected = me.items[0],
169
164
  countRecords = store.getCount(),
170
165
  index, record;
171
166
 
172
167
  if (selected) {
173
- index = store.indexOf(selected) + step;
168
+ index = store.indexOf(selected) + step
174
169
  } else {
175
- index = 0;
170
+ index = 0
176
171
  }
177
172
 
178
173
  if (index < 0) {
179
- index = countRecords - 1;
174
+ index = countRecords - 1
180
175
  } else if (index >= countRecords) {
181
- index = 0;
176
+ index = 0
182
177
  }
183
178
 
184
179
  record = store.getAt(index);
@@ -187,7 +182,7 @@ class HelixModel extends Model {
187
182
 
188
183
  view.fire('select', {
189
184
  record
190
- });
185
+ })
191
186
  }
192
187
 
193
188
  /**
@@ -196,9 +191,8 @@ class HelixModel extends Model {
196
191
  register(component) {
197
192
  super.register(component);
198
193
 
199
- let me = this,
200
- id = me.id,
201
- view = me.view;
194
+ let me = this,
195
+ {id, view} = me;
202
196
 
203
197
  view.on({
204
198
  containerClick: me.onContainerClick,
@@ -211,7 +205,7 @@ class HelixModel extends Model {
211
205
  {fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
212
206
  {fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
213
207
  {fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
214
- );
208
+ )
215
209
  }
216
210
 
217
211
  /**
@@ -58,14 +58,13 @@ class ListModel extends Model {
58
58
  * @param {Object} data
59
59
  */
60
60
  onListClick({ currentTarget }) {
61
- const {view} = this;
61
+ let {view} = this,
62
+ record;
62
63
 
63
64
  if (!view.disableSelection) {
64
- const record = view.store.get(view.getItemRecordId(currentTarget));
65
+ record = view.store.get(view.getItemRecordId(currentTarget));
65
66
 
66
- if (record) {
67
- this.select(record)
68
- }
67
+ record && this.select(record)
69
68
  }
70
69
  }
71
70
 
@@ -73,8 +72,7 @@ class ListModel extends Model {
73
72
  * @param {Object} data
74
73
  */
75
74
  onListNavigate(data) {
76
- const
77
- {view} = this,
75
+ let {view} = this,
78
76
  {store} = view;
79
77
 
80
78
  data.record = store.getAt(Math.min(data.activeIndex, store.getCount()));
@@ -126,22 +124,19 @@ class ListModel extends Model {
126
124
  * @param {Number} index
127
125
  */
128
126
  selectAt(index) {
129
- let view = this.view,
127
+ let {view} = this,
130
128
  recordKey = view?.store.getKeyAt(index),
131
129
  itemId = recordKey && view.getItemId(recordKey);
132
130
 
133
- if (itemId) {
134
- this.select(itemId)
135
- }
131
+ itemId && this.select(itemId)
136
132
  }
137
133
 
138
134
  /**
139
135
  *
140
136
  */
141
137
  unregister() {
142
- let me = this,
143
- id = me.id,
144
- view = me.view;
138
+ let me = this,
139
+ {id, view} = me;
145
140
 
146
141
  view.keys?.removeKeys([
147
142
  {fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},