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
@@ -59,10 +59,10 @@ class Model extends Base {
59
59
  */
60
60
  beforeGetItems(value) {
61
61
  if (!value) {
62
- this._items = value = [];
62
+ this._items = value = []
63
63
  }
64
64
 
65
- return value;
65
+ return value
66
66
  }
67
67
 
68
68
  /**
@@ -71,7 +71,7 @@ class Model extends Base {
71
71
  * @returns {Neo.component.Base}
72
72
  */
73
73
  beforeGetView(value) {
74
- return Neo.getComponent(this._view);
74
+ return Neo.getComponent(this._view)
75
75
  }
76
76
 
77
77
  /**
@@ -79,7 +79,7 @@ class Model extends Base {
79
79
  * @returns {String} the view id
80
80
  */
81
81
  beforeSetView(value) {
82
- return value && value.id;
82
+ return value && value.id
83
83
  }
84
84
 
85
85
  /**
@@ -98,13 +98,13 @@ class Model extends Base {
98
98
  item = item.isRecord ? view.getItemId(item) : Neo.isObject(item) ? item.id : item;
99
99
 
100
100
  if (itemCollection.includes(item)) {
101
- let me = this,
102
- view = me.view,
103
- node = view.getVdomChild(item);
101
+ let me = this,
102
+ {view} = me,
103
+ node = view.getVdomChild(item);
104
104
 
105
105
  if (node) {
106
106
  node.cls = NeoArray.remove(node.cls || [], selectedCls || me.selectedCls);
107
- node['aria-selected'] = false;
107
+ node['aria-selected'] = false
108
108
  }
109
109
 
110
110
  NeoArray.remove(itemCollection, item);
@@ -113,12 +113,12 @@ class Model extends Base {
113
113
  view.update();
114
114
 
115
115
  me.fire('selectionChange', {
116
- selection : itemCollection
117
- });
116
+ selection: itemCollection
117
+ })
118
118
  }
119
119
  }
120
120
  else if (!silent) {
121
- this.fire('noChange');
121
+ this.fire('noChange')
122
122
  }
123
123
  }
124
124
 
@@ -126,48 +126,48 @@ class Model extends Base {
126
126
  * @param {Boolean} [silent] true to prevent a vdom update
127
127
  */
128
128
  deselectAll(silent) {
129
- let me = this,
130
- items = [...me.items],
131
- view = me.view;
129
+ let me = this,
130
+ items = [...me.items],
131
+ {view} = me;
132
132
 
133
133
  if (items.length) {
134
134
  items.forEach(item => {
135
- me.deselect(item, true);
135
+ me.deselect(item, true)
136
136
  });
137
137
 
138
138
  if (!silent && items.length > 0) {
139
- view.update();
139
+ view.update()
140
140
  }
141
141
 
142
142
  me.fire('selectionChange', {
143
- selection : this.items
144
- });
143
+ selection: this.items
144
+ })
145
145
  }
146
146
  else if (!silent) {
147
- me.fire('noChange');
147
+ me.fire('noChange')
148
148
  }
149
149
  }
150
150
 
151
151
  /**
152
152
  *
153
153
  */
154
- destroy() {
154
+ destroy(...args) {
155
155
  this.unregister();
156
- super.destroy();
156
+ super.destroy(...args)
157
157
  }
158
158
 
159
159
  /**
160
160
  * @returns {Array} this.items
161
161
  */
162
162
  getSelection() {
163
- return this.items;
163
+ return this.items
164
164
  }
165
165
 
166
166
  /**
167
167
  * @returns {Boolean} true in case there is a selection
168
168
  */
169
169
  hasSelection() {
170
- return this.items.length > 0;
170
+ return this.items.length > 0
171
171
  }
172
172
 
173
173
  /**
@@ -175,7 +175,7 @@ class Model extends Base {
175
175
  * @returns {Boolean} true in case the item is selected
176
176
  */
177
177
  isSelected(id) {
178
- return this.items.includes(id);
178
+ return this.items.includes(id)
179
179
  }
180
180
 
181
181
  /**
@@ -187,11 +187,11 @@ class Model extends Base {
187
187
 
188
188
  if (me.cls && !cls.includes(me.cls)) {
189
189
  cls.push(me.cls);
190
- component.cls = cls;
190
+ component.cls = cls
191
191
  }
192
192
 
193
193
  me.view = component;
194
- me.addDomListener();
194
+ me.addDomListener()
195
195
  }
196
196
 
197
197
  /**
@@ -204,11 +204,11 @@ class Model extends Base {
204
204
 
205
205
  component.domListeners.forEach(listener => {
206
206
  if (listener.scope === me) {
207
- NeoArray.remove(domListeners, listener);
207
+ NeoArray.remove(domListeners, listener)
208
208
  }
209
209
  });
210
210
 
211
- component.domListeners = domListeners;
211
+ component.domListeners = domListeners
212
212
  }
213
213
 
214
214
  /**
@@ -222,7 +222,7 @@ class Model extends Base {
222
222
 
223
223
  // We hold vdom ids for now, so all incoming selections must be converted.
224
224
  items = (items = Array.isArray(items) ?
225
- items : [items]).map(item => item.isRecord ? view.getItemId(item) : Neo.isObject(item) ? item.id : item);
225
+ items: [items]).map(item => item.isRecord ? view.getItemId(item) : Neo.isObject(item) ? item.id : item);
226
226
 
227
227
  if (!Neo.isEqual(itemCollection, items)) {
228
228
  if (me.singleSelect) {
@@ -275,12 +275,12 @@ class Model extends Base {
275
275
 
276
276
  if (me.cls && cls.includes(me.cls)) {
277
277
  NeoArray.remove(cls, me.cls);
278
- me.view.cls = cls;
278
+ me.view.cls = cls
279
279
  }
280
280
 
281
281
  me.deselectAll();
282
282
 
283
- me.removeDomListeners();
283
+ me.removeDomListeners()
284
284
  }
285
285
  }
286
286
 
@@ -25,18 +25,18 @@ class TreeAccordionModel extends TreeModel {
25
25
  * @returns {Object|null}
26
26
  */
27
27
  checkForChild(record) {
28
- const view = this.view,
29
- recordId = record[view.getKeyProperty()];
30
- let childRecord = null;
28
+ let {view} = this,
29
+ recordId = record[view.getKeyProperty()],
30
+ childRecord = null;
31
31
 
32
32
  for (const item of view.store.items) {
33
33
  if (item.parentId === recordId) {
34
34
  childRecord = item;
35
- break;
35
+ break
36
36
  }
37
37
  }
38
38
 
39
- return childRecord;
39
+ return childRecord
40
40
  }
41
41
 
42
42
  /**
@@ -44,14 +44,8 @@ class TreeAccordionModel extends TreeModel {
44
44
  * @param {Object} record
45
45
  * @returns {Object|null}
46
46
  */
47
- checkForParent(record) {
48
- if (record.parentId) {
49
- const view = this.view;
50
-
51
- return view.store.get(record.parentId);
52
- } else {
53
- return null;
54
- }
47
+ checkForParent({parentId}) {
48
+ return parentId ? this.view.store.get(parentId) : null
55
49
  }
56
50
 
57
51
  /**
@@ -64,31 +58,31 @@ class TreeAccordionModel extends TreeModel {
64
58
  * @returns {Object|null}
65
59
  */
66
60
  checkForSibling(record, step) {
67
- const view = this.view,
68
- store = view.store,
69
- parentRecordId = record.parentId,
70
- recordId = record[view.getKeyProperty()];
71
- let hasFoundNext = false,
61
+ let {view} = this,
62
+ {store} = view,
63
+ parentRecordId = record.parentId,
64
+ recordId = record[view.getKeyProperty()],
65
+ hasFoundNext = false,
72
66
  nextItemRecord = null,
73
67
  previousItemRecord;
74
68
 
75
69
  for (let item of store.items) {
76
70
  if (hasFoundNext && item.parentId === parentRecordId) {
77
71
  nextItemRecord = item;
78
- break;
72
+ break
79
73
  }
80
74
 
81
75
  if (!hasFoundNext && item.parentId === parentRecordId) {
82
76
  if (!hasFoundNext && item[view.getKeyProperty()] === recordId) {
83
77
  if (step === -1) break;
84
- hasFoundNext = true;
78
+ hasFoundNext = true
85
79
  } else {
86
- previousItemRecord = item;
80
+ previousItemRecord = item
87
81
  }
88
82
  }
89
83
  }
90
84
 
91
- return step === 1 ? nextItemRecord : (previousItemRecord || store.get(parentRecordId));
85
+ return step === 1 ? nextItemRecord : (previousItemRecord || store.get(parentRecordId))
92
86
  }
93
87
 
94
88
  /**
@@ -97,12 +91,15 @@ class TreeAccordionModel extends TreeModel {
97
91
  * @returns {Object|null}
98
92
  */
99
93
  checkNextParentSibling(record) {
100
- const parent = this.view.store.get(record.parentId);
101
- let parentSibling = this.checkForSibling(parent, 1);
94
+ let me = this,
95
+ parent = me.view.store.get(record.parentId),
96
+ parentSibling = me.checkForSibling(parent, 1);
102
97
 
103
- if (!parentSibling && parent.parentId) this.checkNextParentSibling(parent);
98
+ if (!parentSibling && parent.parentId) {
99
+ me.checkNextParentSibling(parent)
100
+ }
104
101
 
105
- return parentSibling;
102
+ return parentSibling
106
103
  }
107
104
 
108
105
  /**
@@ -112,14 +109,14 @@ class TreeAccordionModel extends TreeModel {
112
109
  */
113
110
  onKeyDownEnter(data) {
114
111
  let me = this,
115
- view = me.view,
112
+ {view} = me,
116
113
  itemId = me.getSelection()[0],
117
114
  record = view.store.get(view.getItemRecordId(itemId));
118
115
 
119
116
  if (record.isLeaf || record.collapsed) {
120
- me.onKeyDownRight(data);
117
+ me.onKeyDownRight(data)
121
118
  } else {
122
- me.onKeyDownLeft(data);
119
+ me.onKeyDownLeft(data)
123
120
  }
124
121
  }
125
122
 
@@ -129,9 +126,7 @@ class TreeAccordionModel extends TreeModel {
129
126
  * @param {Object} data
130
127
  */
131
128
  onKeyDownEscape(data) {
132
- let me = this;
133
-
134
- me.deselectAll();
129
+ this.deselectAll()
135
130
  }
136
131
 
137
132
  /**
@@ -139,21 +134,22 @@ class TreeAccordionModel extends TreeModel {
139
134
  * @param {Object} data
140
135
  */
141
136
  onKeyDownLeft(data) {
142
- const me = this,
143
- view = me.view,
144
- itemId = me.getSelection()[0];
137
+ let me = this,
138
+ {view} = me,
139
+ itemId = me.getSelection()[0],
140
+ record;
145
141
 
146
142
  if (!itemId) {
147
143
  me.selectRoot();
148
- return;
144
+ return
149
145
  }
150
146
 
151
- const record = view.store.get(view.getItemRecordId(itemId));
147
+ record = view.store.get(view.getItemRecordId(itemId));
152
148
 
153
149
  if (record.isLeaf || record.collapsed || !view.rootParentsAreCollapsible) {
154
- me.onNavKey(data, -1);
150
+ me.onNavKey(data, -1)
155
151
  } else {
156
- me.toggleCollapsed(record, itemId, true);
152
+ me.toggleCollapsed(record, itemId, true)
157
153
  }
158
154
  }
159
155
 
@@ -162,21 +158,22 @@ class TreeAccordionModel extends TreeModel {
162
158
  * @param {Object} data
163
159
  */
164
160
  onKeyDownRight(data) {
165
- const me = this,
166
- view = me.view,
167
- itemId = me.getSelection()[0];
161
+ let me = this,
162
+ {view} = me,
163
+ itemId = me.getSelection()[0],
164
+ record;
168
165
 
169
166
  if (!itemId) {
170
167
  me.selectRoot();
171
- return;
168
+ return
172
169
  }
173
170
 
174
- const record = view.store.get(view.getItemRecordId(itemId));
171
+ record = view.store.get(view.getItemRecordId(itemId));
175
172
 
176
173
  if (record.isLeaf || !record.collapsed) {
177
- me.onNavKey(data, 1);
174
+ me.onNavKey(data, 1)
178
175
  } else {
179
- me.toggleCollapsed(record, itemId, false);
176
+ me.toggleCollapsed(record, itemId, false)
180
177
  }
181
178
  }
182
179
 
@@ -186,53 +183,53 @@ class TreeAccordionModel extends TreeModel {
186
183
  * @param {Number} step
187
184
  */
188
185
  onNavKey(data, step) {
189
- const me = this,
190
- view = me.view,
191
- item = me.getSelection()[0];
192
- let newRecord;
186
+ let me = this,
187
+ {view} = me,
188
+ item = me.getSelection()[0],
189
+ newRecord, record, recordId;
193
190
 
194
191
  if (item) {
195
- const recordId = view.getItemRecordId(item);
196
- let record = view.store.get(recordId);
192
+ recordId = view.getItemRecordId(item);
193
+ record = view.store.get(recordId);
197
194
 
198
195
  if (step === 1) {
199
196
  if (!record.isLeaf && !record.collapsed) {
200
197
  // find first child
201
- newRecord = this.checkForChild(record);
198
+ newRecord = me.checkForChild(record)
202
199
  } else {
203
200
  // find next sibling
204
- newRecord = this.checkForSibling(record, step);
201
+ newRecord = me.checkForSibling(record, step);
205
202
  // no ==> loop through parent next siblings until no parent
206
203
  if (!newRecord) {
207
- newRecord = this.checkNextParentSibling(record);
204
+ newRecord = me.checkNextParentSibling(record)
208
205
  }
209
206
  }
210
207
  // current item was the last item
211
208
  if (!newRecord) {
212
209
  me.deselectAll();
213
- view.fire('selectPostLastItem');
210
+ view.fire('selectPostLastItem')
214
211
  }
215
212
  } else if (step === -1) {
216
213
  // check previous sibling
217
- newRecord = this.checkForSibling(record, step);
214
+ newRecord = me.checkForSibling(record, step);
218
215
  // no ==> get parent
219
216
  if (!newRecord) {
220
- newRecord = this.checkForParent(record);
217
+ newRecord = me.checkForParent(record)
221
218
  }
222
219
  // current item was the first item
223
220
  if (!newRecord) {
224
221
  me.deselectAll();
225
- view.fire('selectPreFirstItem');
222
+ view.fire('selectPreFirstItem')
226
223
  }
227
224
  }
228
225
  } else {
229
- me.selectRoot();
226
+ me.selectRoot()
230
227
  }
231
228
 
232
229
  if (newRecord) {
233
230
  const itemId = view.getItemId(newRecord[me.view.getKeyProperty()]);
234
231
 
235
- me.selectAndScrollIntoView(itemId);
232
+ me.selectAndScrollIntoView(itemId)
236
233
  }
237
234
  }
238
235
 
@@ -241,33 +238,31 @@ class TreeAccordionModel extends TreeModel {
241
238
  * @param {String} itemId
242
239
  */
243
240
  selectAndScrollIntoView(itemId) {
244
- const me = this;
245
-
246
- me.select(itemId);
241
+ this.select(itemId);
247
242
 
248
243
  Neo.main.DomAccess.scrollIntoView({
249
- id : itemId,
250
- block: 'center'
251
- });
244
+ id : itemId,
245
+ block : 'center',
246
+ windowId: this.view.windowId
247
+ })
252
248
  }
253
249
 
254
250
  /**
255
251
  * Select the root item of the tree
256
252
  */
257
253
  selectRoot() {
258
- const me = this,
259
- view = me.view,
260
- store = view.store;
261
- let rootItemId;
254
+ let {view} = this,
255
+ {store} = view,
256
+ record, rootItemId;
262
257
 
263
- for (let record of store.items) {
258
+ for (record of store.items) {
264
259
  if (!record.parentId) {
265
- rootItemId = view.getItemId(record[me.view.getKeyProperty()]);
266
- break;
260
+ rootItemId = view.getItemId(record[view.getKeyProperty()]);
261
+ break
267
262
  }
268
263
  }
269
264
 
270
- me.selectAndScrollIntoView(rootItemId);
265
+ this.selectAndScrollIntoView(rootItemId)
271
266
  }
272
267
 
273
268
  /**
@@ -277,14 +272,13 @@ class TreeAccordionModel extends TreeModel {
277
272
  * @param {Boolean} collapse
278
273
  */
279
274
  toggleCollapsed(record, itemId, collapse) {
280
- const me = this,
281
- item = me.view.getVdomChild(itemId),
282
- clsFn = collapse ? 'remove' : 'add';
275
+ let item = this.view.getVdomChild(itemId),
276
+ clsFn = collapse ? 'remove' : 'add';
283
277
 
284
278
  NeoArray[clsFn](item.cls, 'neo-folder-open');
285
- me.view.update();
279
+ this.view.update();
286
280
 
287
- record.collapsed = collapse;
281
+ record.collapsed = collapse
288
282
  }
289
283
  }
290
284
 
@@ -41,7 +41,7 @@ class CellColumnModel extends CellModel {
41
41
  construct(config) {
42
42
  super.construct(config);
43
43
 
44
- this.selectedColumnCellIds = [];
44
+ this.selectedColumnCellIds = []
45
45
  }
46
46
 
47
47
  /**
@@ -50,13 +50,13 @@ class CellColumnModel extends CellModel {
50
50
  deselectAllCells(silent) {
51
51
  let me = this,
52
52
  cellIds = [...me.selectedColumnCellIds],
53
- view = me.view;
53
+ {view} = me
54
54
 
55
55
  cellIds.forEach(cellId => {
56
- me.deselect(cellId, true, me.selectedColumnCellIds, me.selectedColumnCellCls);
56
+ me.deselect(cellId, true, me.selectedColumnCellIds, me.selectedColumnCellCls)
57
57
  });
58
58
 
59
- !silent && view.update();
59
+ !silent && view.update()
60
60
  }
61
61
 
62
62
  /**
@@ -73,10 +73,10 @@ class CellColumnModel extends CellModel {
73
73
  columnNodeIds = VDomUtil.getColumnNodesIds(tbodyNode, index);
74
74
 
75
75
  me.deselectAllCells(true);
76
- me.select(columnNodeIds, me.selectedColumnCellIds, me.selectedColumnCellCls);
76
+ me.select(columnNodeIds, me.selectedColumnCellIds, me.selectedColumnCellCls)
77
77
  }
78
78
 
79
- super.onCellClick(data);
79
+ super.onCellClick(data)
80
80
  }
81
81
 
82
82
  /**
@@ -87,13 +87,13 @@ class CellColumnModel extends CellModel {
87
87
  let me = this,
88
88
  idArray = ColumnModel.getCellId(data.path).split('__'),
89
89
  currentColumn = idArray[2],
90
- view = me.view,
90
+ {view} = me,
91
91
  fields = view.columns.map(c => c.field),
92
92
  newIndex = (fields.indexOf(currentColumn) + step) % fields.length,
93
93
  columnNodeIds, tbodyNode;
94
94
 
95
95
  while (newIndex < 0) {
96
- newIndex += fields.length;
96
+ newIndex += fields.length
97
97
  }
98
98
 
99
99
  tbodyNode = VDomUtil.findVdomChild(me.view.vdom, {cls: 'neo-grid-view'}).vdom;
@@ -102,7 +102,7 @@ class CellColumnModel extends CellModel {
102
102
  me.deselectAllCells(true);
103
103
  me.select(columnNodeIds, me.selectedColumnCellIds, me.selectedColumnCellCls);
104
104
 
105
- super.onNavKeyColumn(data, step);
105
+ super.onNavKeyColumn(data, step)
106
106
  }
107
107
 
108
108
  /**
@@ -110,7 +110,7 @@ class CellColumnModel extends CellModel {
110
110
  */
111
111
  unregister() {
112
112
  this.deselectAllCells();
113
- super.unregister();
113
+ super.unregister()
114
114
  }
115
115
  }
116
116
 
@@ -41,7 +41,7 @@ class CellColumnRowModel extends CellRowModel {
41
41
  construct(config) {
42
42
  super.construct(config);
43
43
 
44
- this.selectedColumnCellIds = [];
44
+ this.selectedColumnCellIds = []
45
45
  }
46
46
 
47
47
  /**
@@ -50,13 +50,13 @@ class CellColumnRowModel extends CellRowModel {
50
50
  deselectAllCells(silent) {
51
51
  let me = this,
52
52
  cellIds = [...me.selectedColumnCellIds],
53
- view = me.view;
53
+ {view} = me;
54
54
 
55
55
  cellIds.forEach(cellId => {
56
- me.deselect(cellId, true, me.selectedColumnCellIds, me.selectedColumnCellCls);
56
+ me.deselect(cellId, true, me.selectedColumnCellIds, me.selectedColumnCellCls)
57
57
  });
58
58
 
59
- !silent && view.update();
59
+ !silent && view.update()
60
60
  }
61
61
 
62
62
  /**
@@ -73,10 +73,10 @@ class CellColumnRowModel extends CellRowModel {
73
73
  columnNodeIds = VDomUtil.getColumnNodesIds(tbodyNode, index);
74
74
 
75
75
  me.deselectAllCells(true);
76
- me.select(columnNodeIds, me.selectedColumnCellIds, me.selectedColumnCellCls);
76
+ me.select(columnNodeIds, me.selectedColumnCellIds, me.selectedColumnCellCls)
77
77
  }
78
78
 
79
- super.onCellClick(data);
79
+ super.onCellClick(data)
80
80
  }
81
81
 
82
82
  /**
@@ -87,13 +87,13 @@ class CellColumnRowModel extends CellRowModel {
87
87
  let me = this,
88
88
  idArray = ColumnModel.getCellId(data.path).split('__'),
89
89
  currentColumn = idArray[2],
90
- view = me.view,
90
+ {view} = me,
91
91
  fields = view.columns.map(c => c.field),
92
92
  newIndex = (fields.indexOf(currentColumn) + step) % fields.length,
93
93
  columnNodeIds, tbodyNode;
94
94
 
95
95
  while (newIndex < 0) {
96
- newIndex += fields.length;
96
+ newIndex += fields.length
97
97
  }
98
98
 
99
99
  tbodyNode = VDomUtil.findVdomChild(me.view.vdom, {cls: 'neo-grid-view'}).vdom;
@@ -102,7 +102,7 @@ class CellColumnRowModel extends CellRowModel {
102
102
  me.deselectAllCells(true);
103
103
  me.select(columnNodeIds, me.selectedColumnCellIds, me.selectedColumnCellCls);
104
104
 
105
- super.onNavKeyColumn(data, step);
105
+ super.onNavKeyColumn(data, step)
106
106
  }
107
107
 
108
108
  /**
@@ -110,7 +110,7 @@ class CellColumnRowModel extends CellRowModel {
110
110
  */
111
111
  unregister() {
112
112
  this.deselectAllCells();
113
- super.unregister();
113
+ super.unregister()
114
114
  }
115
115
  }
116
116