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
package/src/Neo.mjs CHANGED
@@ -85,7 +85,7 @@ Neo = globalThis.Neo = Object.assign({
85
85
  if (target && Neo.typeOf(config) === 'Object') {
86
86
  Object.entries(config).forEach(([key, value]) => {
87
87
  fnName = namespace[value];
88
- target[key] = bind ? fnName.bind(namespace) : fnName;
88
+ target[key] = bind ? fnName.bind(namespace) : fnName
89
89
  })
90
90
  }
91
91
 
@@ -284,12 +284,13 @@ Neo = globalThis.Neo = Object.assign({
284
284
  descriptor = Object.getOwnPropertyDescriptor(proto, key);
285
285
 
286
286
  if (typeof descriptor === 'object' && typeof descriptor.set === 'function') {
287
- return true;
287
+ return true
288
288
  }
289
- proto = proto.__proto__;
289
+
290
+ proto = proto.__proto__
290
291
  }
291
292
 
292
- return false;
293
+ return false
293
294
  },
294
295
 
295
296
  /**
@@ -339,13 +340,13 @@ Neo = globalThis.Neo = Object.assign({
339
340
 
340
341
  return names.reduce((prev, current) => {
341
342
  if (create && !prev[current]) {
342
- prev[current] = {};
343
+ prev[current] = {}
343
344
  }
344
345
 
345
346
  if (prev) {
346
- return prev[current];
347
+ return prev[current]
347
348
  }
348
- }, scope || globalThis);
349
+ }, scope || globalThis)
349
350
  },
350
351
 
351
352
  /**
@@ -362,7 +363,7 @@ Neo = globalThis.Neo = Object.assign({
362
363
  return names.reduce((prev, current) => {
363
364
  if (create && !prev[current]) {
364
365
  if (current.endsWith(']')) {
365
- return createArrayNs(true, current, prev);
366
+ return createArrayNs(true, current, prev)
366
367
  }
367
368
 
368
369
  prev[current] = {}
@@ -370,7 +371,7 @@ Neo = globalThis.Neo = Object.assign({
370
371
 
371
372
  if (prev) {
372
373
  if (current.endsWith(']')) {
373
- return createArrayNs(false, current, prev);
374
+ return createArrayNs(false, current, prev)
374
375
  }
375
376
 
376
377
  return prev[current]
@@ -402,7 +403,7 @@ Neo = globalThis.Neo = Object.assign({
402
403
  config = ntype;
403
404
 
404
405
  if (!config.ntype) {
405
- throw new Error('Class defined with object configuration missing ntype property. ' + config.ntype);
406
+ throw new Error('Class defined with object configuration missing ntype property. ' + config.ntype)
406
407
  }
407
408
 
408
409
  ntype = config.ntype
@@ -426,7 +427,7 @@ Neo = globalThis.Neo = Object.assign({
426
427
  setupClass(cls) {
427
428
  let baseCfg = null,
428
429
  ntypeChain = [],
429
- ntypeMap = Neo.ntypeMap,
430
+ {ntypeMap} = Neo,
430
431
  proto = cls.prototype || cls,
431
432
  protos = [],
432
433
  cfg, config, ctor, ntype;
@@ -454,7 +455,7 @@ Neo = globalThis.Neo = Object.assign({
454
455
  cfg = ctor.config || {};
455
456
 
456
457
  if (Neo.overwrites) {
457
- ctor.applyOverwrites(cfg)
458
+ ctor.applyOverwrites?.(cfg)
458
459
  }
459
460
 
460
461
  Object.entries(cfg).forEach(([key, value]) => {
@@ -487,7 +488,7 @@ Neo = globalThis.Neo = Object.assign({
487
488
  throw new Error(`ntype conflict for '${ntype}' inside the classes:\n${ntypeMap[ntype]}\n${cfg.className}`)
488
489
  }
489
490
 
490
- ntypeMap[ntype] = cfg.className;
491
+ ntypeMap[ntype] = cfg.className
491
492
  }
492
493
 
493
494
  mixins = Object.hasOwn(config, 'mixins') && config.mixins || [];
@@ -590,10 +591,10 @@ function applyMixins(cls, mixins) {
590
591
 
591
592
  if (mixin.isClass) {
592
593
  mixinProto = mixin.prototype;
593
- mixinCls = Neo.ns(mixinProto.className);
594
+ mixinCls = Neo.ns(mixinProto.className)
594
595
  } else {
595
596
  if (!exists(mixin)) {
596
- throw new Error('Attempting to mixin an undefined class: ' + mixin + ', ' + cls.prototype.className);
597
+ throw new Error('Attempting to mixin an undefined class: ' + mixin + ', ' + cls.prototype.className)
597
598
  }
598
599
 
599
600
  mixinCls = Neo.ns(mixin);
@@ -602,10 +603,10 @@ function applyMixins(cls, mixins) {
602
603
 
603
604
  mixinProto.className.split('.').reduce(mixReduce(mixinCls), mixinClasses);
604
605
 
605
- Object.getOwnPropertyNames(mixinProto).forEach(mixinProperty(cls.prototype, mixinProto));
606
+ Object.getOwnPropertyNames(mixinProto).forEach(mixinProperty(cls.prototype, mixinProto))
606
607
  }
607
608
 
608
- cls.prototype.mixins = mixinClasses; // todo: we should do a deep merge
609
+ cls.prototype.mixins = mixinClasses // todo: we should do a deep merge
609
610
  }
610
611
 
611
612
  /**
@@ -617,7 +618,7 @@ function applyMixins(cls, mixins) {
617
618
  */
618
619
  function autoGenerateGetSet(proto, key) {
619
620
  if (Neo.hasPropertySetter(proto, key)) {
620
- throw('Config ' + key + '_ (' + proto.className + ') already has a set method, use beforeGet, beforeSet & afterSet instead');
621
+ throw('Config ' + key + '_ (' + proto.className + ') already has a set method, use beforeGet, beforeSet & afterSet instead')
621
622
  }
622
623
 
623
624
  if (!Neo[getSetCache]) {
@@ -693,10 +694,10 @@ function autoGenerateGetSet(proto, key) {
693
694
  me.afterSetConfig?.(key, value, oldValue)
694
695
  }
695
696
  }
696
- };
697
+ }
697
698
  }
698
699
 
699
- Object.defineProperty(proto, key, Neo[getSetCache][key]);
700
+ Object.defineProperty(proto, key, Neo[getSetCache][key])
700
701
  }
701
702
 
702
703
  /**
@@ -718,14 +719,14 @@ function createArrayNs(create, current, prev) {
718
719
  }
719
720
 
720
721
  if (!arrRoot) {
721
- return;
722
+ return
722
723
  }
723
724
 
724
725
  for (; i < len; i++) {
725
726
  arrItem = parseInt(arrDetails[i]);
726
727
 
727
728
  if (create) {
728
- arrRoot[arrItem] = arrRoot[arrItem] || {};
729
+ arrRoot[arrItem] = arrRoot[arrItem] || {}
729
730
  }
730
731
 
731
732
  arrRoot = arrRoot[arrItem]
@@ -743,7 +744,7 @@ function createArrayNs(create, current, prev) {
743
744
  function exists(className) {
744
745
  try {
745
746
  return !!className.split('.').reduce((prev, current) => {
746
- return prev[current];
747
+ return prev[current]
747
748
  }, globalThis)
748
749
  } catch(e) {
749
750
  return false
@@ -759,7 +760,7 @@ function exists(className) {
759
760
  function mixinProperty(proto, mixinProto) {
760
761
  return function(key) {
761
762
  if (~ignoreMixin.indexOf(key)) {
762
- return;
763
+ return
763
764
  }
764
765
 
765
766
  if (proto[key]?._from) {
@@ -770,7 +771,7 @@ function mixinProperty(proto, mixinProto) {
770
771
 
771
772
  throw new Error(
772
773
  `${proto.className}: Multiple mixins defining same property (${mixinProto.className}, ${proto[key]._from}) => ${key}`
773
- );
774
+ )
774
775
  }
775
776
 
776
777
  proto[key] = mixinProto[key];
@@ -780,7 +781,7 @@ function mixinProperty(proto, mixinProto) {
780
781
  if (typeof proto[key] === 'function') {
781
782
  proto[key]._name = key
782
783
  }
783
- };
784
+ }
784
785
  }
785
786
 
786
787
  /**
package/src/Xhr.mjs CHANGED
@@ -36,6 +36,4 @@ class Xhr extends XhrConnection {
36
36
  }
37
37
  }
38
38
 
39
- let instance = Neo.setupClass(Xhr);
40
-
41
- export default instance;
39
+ export default Neo.setupClass(Xhr);
@@ -304,8 +304,10 @@ class Base extends Component {
304
304
  afterSetTheme(value, oldValue) {
305
305
  super.afterSetTheme(value, oldValue);
306
306
 
307
- if (this.menuList) {
308
- this.menuList.theme = value
307
+ let {menuList} = this;
308
+
309
+ if (menuList) {
310
+ menuList.theme = value
309
311
  }
310
312
  }
311
313
 
@@ -537,8 +539,8 @@ class Base extends Component {
537
539
  *
538
540
  */
539
541
  async toggleMenu() {
540
- let menuList = this.menuList,
541
- hidden = !menuList.hidden;
542
+ let {menuList} = this,
543
+ hidden = !menuList.hidden;
542
544
 
543
545
  menuList.hidden = hidden;
544
546
 
@@ -89,8 +89,10 @@ class Split extends Button {
89
89
  * @protected
90
90
  */
91
91
  afterSetAppName(value, oldValue) {
92
- if (this.triggerButton) {
93
- this.triggerButton.appName = value;
92
+ let {triggerButton} = this;
93
+
94
+ if (triggerButton) {
95
+ triggerButton.appName = value;
94
96
  }
95
97
 
96
98
  super.afterSetAppName(value, oldValue);
@@ -103,7 +105,7 @@ class Split extends Button {
103
105
  * @protected
104
106
  */
105
107
  afterSetDisabled(value, oldValue) {
106
- let triggerButton = this.triggerButton;
108
+ let {triggerButton} = this;
107
109
 
108
110
  if (triggerButton) {
109
111
  triggerButton.disabled = value;
@@ -132,7 +134,7 @@ class Split extends Button {
132
134
  * @protected
133
135
  */
134
136
  afterSetHideTriggerButton(value, oldValue) {
135
- let triggerButton = this.triggerButton;
137
+ let {triggerButton} = this;
136
138
 
137
139
  if (triggerButton) {
138
140
  triggerButton.hidden = value;
@@ -146,7 +148,7 @@ class Split extends Button {
146
148
  * @protected
147
149
  */
148
150
  afterSetPressed(value, oldValue) {
149
- let triggerButton = this.triggerButton;
151
+ let {triggerButton} = this;
150
152
 
151
153
  if (triggerButton) {
152
154
  triggerButton.pressed = value;
@@ -162,7 +164,7 @@ class Split extends Button {
162
164
  * @protected
163
165
  */
164
166
  afterSetTriggerButtonIconCls(value, oldValue) {
165
- let triggerButton = this.triggerButton;
167
+ let {triggerButton} = this;
166
168
 
167
169
  if (triggerButton) {
168
170
  triggerButton.iconCls = value;
@@ -174,9 +176,8 @@ class Split extends Button {
174
176
  * @param {String|null} oldValue
175
177
  */
176
178
  afterSetUi(value, oldValue) {
177
- let me = this,
178
- ntype = me.ntype,
179
- triggerButton = me.triggerButton;
179
+ let me = this,
180
+ {ntype, triggerButton} = me;
180
181
 
181
182
  if (triggerButton) {
182
183
  triggerButton.ui = value;
@@ -103,17 +103,18 @@ class EditEventContainer extends FormContainer {
103
103
  */
104
104
  afterSetRecord(value, oldValue) {
105
105
  if (value && oldValue) {
106
- let me = this,
107
- timeFormat = me.intlFormat_time;
106
+ let me = this,
107
+ timeFormat = me.intlFormat_time,
108
+ {calendarId, title} = value;
108
109
 
109
110
  me.getField('endTime') .then(field => field.minValue = me.getEndTimeMinValue(value));
110
111
  me.getField('startTime').then(field => field.maxValue = me.getStartTimeMaxValue(value));
111
112
 
112
113
  me.reset({
113
- calendarId: value.calendarId,
114
- endTime : timeFormat.format(value.endDate),
115
- startTime : timeFormat.format(value.startDate),
116
- title : value.title
114
+ calendarId,
115
+ endTime : timeFormat.format(value.endDate),
116
+ startTime: timeFormat.format(value.startDate),
117
+ title
117
118
  })
118
119
  } else if (value) {
119
120
  this.createItems()
@@ -125,7 +126,7 @@ class EditEventContainer extends FormContainer {
125
126
  */
126
127
  createItems() {
127
128
  let me = this,
128
- record = me.record,
129
+ {record} = me,
129
130
  timeFormat = me.intlFormat_time,
130
131
  timeFieldDefaults = {
131
132
  module : TimeField,
@@ -171,7 +172,7 @@ class EditEventContainer extends FormContainer {
171
172
  return 'var(--event-yellow-border-color)';
172
173
  }
173
174
 
174
- return `var(--event-${value}-color)`;
175
+ return `var(--event-${value}-color)`
175
176
  },
176
177
 
177
178
  store: {
@@ -230,7 +231,7 @@ class EditEventContainer extends FormContainer {
230
231
 
231
232
  date.setMinutes(date.getMinutes() - this.minimumEventDuration);
232
233
 
233
- return this.intlFormat_time.format(date);
234
+ return this.intlFormat_time.format(date)
234
235
  }
235
236
 
236
237
  /**
@@ -238,7 +239,7 @@ class EditEventContainer extends FormContainer {
238
239
  */
239
240
  onCalendarFieldChange(data) {
240
241
  if (!Neo.isEmpty(data.value)) {
241
- this.record.calendarId = data.record[data.component.store.keyProperty];
242
+ this.record.calendarId = data.record[data.component.store.keyProperty]
242
243
  }
243
244
  }
244
245
 
@@ -250,7 +251,7 @@ class EditEventContainer extends FormContainer {
250
251
  let me = this;
251
252
 
252
253
  me.getModel().getStore('events').remove(me.record);
253
- me.unmount();
254
+ me.unmount()
254
255
  }
255
256
 
256
257
  /**
@@ -293,7 +294,7 @@ class EditEventContainer extends FormContainer {
293
294
  */
294
295
  onTitleFieldChange(data) {
295
296
  if (!Neo.isEmpty(data.value)) {
296
- this.record.title = data.value;
297
+ this.record.title = data.value
297
298
  }
298
299
  }
299
300
  }
@@ -175,7 +175,7 @@ class MainContainer extends Container {
175
175
  let me = this;
176
176
 
177
177
  me.createItemsContent();
178
- !me.sideBarExpanded && me.afterSetSideBarExpanded(false, true);
178
+ !me.sideBarExpanded && me.afterSetSideBarExpanded(false, true)
179
179
  }
180
180
 
181
181
  /**
@@ -192,7 +192,7 @@ class MainContainer extends Container {
192
192
 
193
193
  me.items[0].items[1].items.forEach(item => {
194
194
  if (item.toggleGroup === 'mainViews') {
195
- item.pressed = item.value === value;
195
+ item.pressed = item.value === value
196
196
  }
197
197
  });
198
198
  }
@@ -209,12 +209,12 @@ class MainContainer extends Container {
209
209
  let style = this.style || {};
210
210
 
211
211
  if (!value) {
212
- delete style.fontSize;
212
+ delete style.fontSize
213
213
  } else {
214
- style.fontSize = `${value}px`;
214
+ style.fontSize = `${value}px`
215
215
  }
216
216
 
217
- this.style = style;
217
+ this.style = style
218
218
  }
219
219
  }
220
220
 
@@ -231,17 +231,17 @@ class MainContainer extends Container {
231
231
 
232
232
  if (value) {
233
233
  if (settingsContainer) {
234
- settingsContainer.expand();
234
+ settingsContainer.expand()
235
235
  } else {
236
236
  me.createSettingsContainer(true).then(() => {
237
237
  // short delay to ensure the vnode already exists
238
238
  setTimeout(() => {
239
- me.items[1].items[2].expand();
240
- }, 50);
241
- });
239
+ me.items[1].items[2].expand()
240
+ }, 50)
241
+ })
242
242
  }
243
243
  } else {
244
- settingsContainer.collapse(me.settingsContainerWidth);
244
+ settingsContainer.collapse(me.settingsContainerWidth)
245
245
  }
246
246
  }
247
247
  }
@@ -267,8 +267,8 @@ class MainContainer extends Container {
267
267
  setTimeout(() => {
268
268
  style.marginLeft = '0px';
269
269
  sideBar.style = style;
270
- }, 50);
271
- });
270
+ }, 50)
271
+ })
272
272
  } else {
273
273
  style.marginLeft = `-${me.sideBarWidth}px`;
274
274
  sideBar._style = style; // silent update
@@ -279,8 +279,8 @@ class MainContainer extends Container {
279
279
  sideBar.vdom.removeDom = true;
280
280
  sideBar.update();
281
281
 
282
- sideBar.mounted = false;
283
- }, 400);
282
+ sideBar.mounted = false
283
+ }, 400)
284
284
  });
285
285
  }
286
286
  }
@@ -304,12 +304,12 @@ class MainContainer extends Container {
304
304
  handler: me.toggleSettings.bind(me),
305
305
  iconCls: 'fa fa-cog',
306
306
  style : {marginLeft: '10px'}
307
- });
308
- }, 10);
307
+ })
308
+ }, 10)
309
309
  } else if (!value && oldValue) {
310
310
  // we only need this logic in case we dynamically change the config from true to false
311
311
  me.items[1] .removeLast();
312
- me.items[0].items[1].removeLast();
312
+ me.items[0].items[1].removeLast()
313
313
  }
314
314
  }
315
315
 
@@ -329,10 +329,10 @@ class MainContainer extends Container {
329
329
  owner : me,
330
330
  width : 250,
331
331
  ...me.editCalendarContainerConfig
332
- });
332
+ })
333
333
  }
334
334
 
335
- return value;
335
+ return value
336
336
  }
337
337
 
338
338
  /**
@@ -351,10 +351,10 @@ class MainContainer extends Container {
351
351
  owner : me,
352
352
  width : 250,
353
353
  ...me.editEventContainerConfig
354
- });
354
+ })
355
355
  }
356
356
 
357
- return value;
357
+ return value
358
358
  }
359
359
 
360
360
  /**
@@ -364,7 +364,7 @@ class MainContainer extends Container {
364
364
  * @protected
365
365
  */
366
366
  beforeSetActiveView(value, oldValue) {
367
- return this.beforeSetEnumValue(value, oldValue, 'activeView', 'validViews');
367
+ return this.beforeSetEnumValue(value, oldValue, 'activeView', 'validViews')
368
368
  }
369
369
 
370
370
  /**
@@ -379,11 +379,11 @@ class MainContainer extends Container {
379
379
  value.forEach(view => {
380
380
  if (!validViews.includes(view)) {
381
381
  console.error(view, 'is not a valid entry for views. Stick to:', validViews);
382
- return oldValue;
382
+ return oldValue
383
383
  }
384
384
  });
385
385
 
386
- return value;
386
+ return value
387
387
  }
388
388
 
389
389
  /**
@@ -391,7 +391,7 @@ class MainContainer extends Container {
391
391
  * @protected
392
392
  */
393
393
  changeActiveView(view) {
394
- this.activeView = view;
394
+ this.activeView = view
395
395
  }
396
396
 
397
397
  /**
@@ -422,7 +422,7 @@ class MainContainer extends Container {
422
422
  module: Toolbar,
423
423
  cls : ['neo-calendar-header-toolbar', 'neo-toolbar'],
424
424
  items : ['->', ...me.createViewHeaderButtons()]
425
- }];
425
+ }]
426
426
  }
427
427
 
428
428
  /**
@@ -484,7 +484,7 @@ class MainContainer extends Container {
484
484
  removeInactiveCards: me.removeInactiveCards
485
485
  }
486
486
  }]
487
- }];
487
+ }]
488
488
  }
489
489
 
490
490
  /**
@@ -502,8 +502,8 @@ class MainContainer extends Container {
502
502
  style : {marginRight: !collapsed ? '0' : `-${me.settingsContainerWidth}px`},
503
503
  width : me.settingsContainerWidth,
504
504
  ...me.settingsContainerConfig
505
- });
506
- });
505
+ })
506
+ })
507
507
  }
508
508
 
509
509
  /**
@@ -522,10 +522,10 @@ class MainContainer extends Container {
522
522
  text : Neo.capitalize(view),
523
523
  toggleGroup: 'mainViews',
524
524
  value : view
525
- });
525
+ })
526
526
  });
527
527
 
528
- return buttons;
528
+ return buttons
529
529
  }
530
530
 
531
531
  /**
@@ -574,7 +574,7 @@ class MainContainer extends Container {
574
574
  cards.push(cmp);
575
575
  });
576
576
 
577
- return cards;
577
+ return cards
578
578
  }
579
579
 
580
580
  /**
@@ -584,7 +584,7 @@ class MainContainer extends Container {
584
584
  this[`${data.item.flag}Component`] = data.item;
585
585
 
586
586
  // fire the event on this instance as well => setting views can subscribe to it more easily
587
- this.fire('cardLoaded', {item: data.item});
587
+ this.fire('cardLoaded', {item: data.item})
588
588
  }
589
589
 
590
590
  /**
@@ -593,21 +593,21 @@ class MainContainer extends Container {
593
593
  * @param {String} data.value
594
594
  */
595
595
  onDateSelectorChange(data) {
596
- data.oldValue !== undefined && this.getModel().setData('currentDate', new Date(`${data.value}T00:00:00.000Z`));
596
+ data.oldValue !== undefined && this.getModel().setData('currentDate', new Date(`${data.value}T00:00:00.000Z`))
597
597
  }
598
598
 
599
599
  /**
600
600
  * @param data
601
601
  */
602
602
  onNextIntervalButtonClick(data) {
603
- this.switchInterval(1);
603
+ this.switchInterval(1)
604
604
  }
605
605
 
606
606
  /**
607
607
  * @param data
608
608
  */
609
609
  onPreviousIntervalButtonClick(data) {
610
- this.switchInterval(-1);
610
+ this.switchInterval(-1)
611
611
  }
612
612
 
613
613
  /**
@@ -616,21 +616,21 @@ class MainContainer extends Container {
616
616
  onTodayButtonClick(data) {
617
617
  this.model.setData({
618
618
  currentDate: todayDate
619
- });
619
+ })
620
620
  }
621
621
 
622
622
  /**
623
623
  * @protected
624
624
  */
625
625
  toggleSettings() {
626
- this.settingsExpanded = !this.settingsExpanded;
626
+ this.settingsExpanded = !this.settingsExpanded
627
627
  }
628
628
 
629
629
  /**
630
630
  * @protected
631
631
  */
632
632
  toggleSidebar() {
633
- this.sideBarExpanded = !this.sideBarExpanded;
633
+ this.sideBarExpanded = !this.sideBarExpanded
634
634
  }
635
635
 
636
636
  /**
@@ -649,7 +649,7 @@ class MainContainer extends Container {
649
649
 
650
650
  map[me.activeView]();
651
651
 
652
- me.model.setData({currentDate});
652
+ me.model.setData({currentDate})
653
653
  }
654
654
  }
655
655
 
@@ -110,8 +110,8 @@ class MainContainerModel extends Component {
110
110
  construct(config) {
111
111
  super.construct(config);
112
112
 
113
- let me = this,
114
- component = me.component;
113
+ let me = this,
114
+ {component} = me;
115
115
 
116
116
  /**
117
117
  * @member {Object} stores
@@ -152,17 +152,17 @@ class MainContainerModel extends Component {
152
152
  onDataPropertyChange(key, value, oldValue) {
153
153
  super.onDataPropertyChange(key, value, oldValue);
154
154
 
155
- let data = this.data;
155
+ let {data} = this;
156
156
 
157
157
  switch(key) {
158
158
  case 'locale': {
159
159
  data.intlFormat_time = new Intl.DateTimeFormat(value, data.timeFormat);
160
- break;
160
+ break
161
161
  }
162
162
 
163
163
  case 'timeFormat': {
164
164
  data.intlFormat_time = new Intl.DateTimeFormat(data.locale, value);
165
- break;
165
+ break
166
166
  }
167
167
  }
168
168
  }