neo.mjs 2.3.17 → 3.0.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 (265) hide show
  1. package/README.md +9 -0
  2. package/apps/covid/Util.mjs +1 -3
  3. package/apps/covid/view/GalleryContainer.mjs +2 -3
  4. package/apps/covid/view/GalleryContainerController.mjs +1 -5
  5. package/apps/covid/view/HelixContainer.mjs +2 -3
  6. package/apps/covid/view/HelixContainerController.mjs +1 -4
  7. package/apps/covid/view/MainContainerController.mjs +0 -7
  8. package/apps/covid/view/MainContainerModel.mjs +0 -1
  9. package/apps/covid/view/TableContainer.mjs +2 -3
  10. package/apps/covid/view/TableContainerController.mjs +0 -3
  11. package/apps/covid/view/WorldMapComponent.mjs +1 -2
  12. package/apps/covid/view/WorldMapContainerController.mjs +0 -2
  13. package/apps/covid/view/country/Gallery.mjs +0 -2
  14. package/apps/covid/view/country/Helix.mjs +0 -3
  15. package/apps/covid/view/mapboxGl/Container.mjs +1 -1
  16. package/apps/covid/view/mapboxGl/ContainerController.mjs +1 -6
  17. package/apps/krausest/TableCollection.mjs +0 -1
  18. package/apps/krausest/view/MainComponent.mjs +2 -3
  19. package/apps/krausest/view/MainComponentController.mjs +0 -1
  20. package/apps/krausest/view/TableComponent.mjs +2 -4
  21. package/apps/realworld/api/Article.mjs +1 -4
  22. package/apps/realworld/api/Base.mjs +0 -5
  23. package/apps/realworld/api/Favorite.mjs +1 -3
  24. package/apps/realworld/api/Profile.mjs +1 -3
  25. package/apps/realworld/view/HeaderComponent.mjs +1 -2
  26. package/apps/realworld/view/HomeComponent.mjs +2 -11
  27. package/apps/realworld/view/MainContainerController.mjs +0 -13
  28. package/apps/realworld/view/article/CommentComponent.mjs +3 -5
  29. package/apps/realworld/view/article/Component.mjs +2 -7
  30. package/apps/realworld/view/article/CreateCommentComponent.mjs +3 -7
  31. package/apps/realworld/view/article/CreateComponent.mjs +3 -3
  32. package/apps/realworld/view/article/PreviewComponent.mjs +3 -5
  33. package/apps/realworld/view/article/TagListComponent.mjs +3 -7
  34. package/apps/realworld/view/user/ProfileComponent.mjs +2 -8
  35. package/apps/realworld/view/user/SettingsComponent.mjs +3 -7
  36. package/apps/realworld/view/user/SignUpComponent.mjs +2 -3
  37. package/apps/realworld2/api/Article.mjs +1 -4
  38. package/apps/realworld2/api/Base.mjs +0 -5
  39. package/apps/realworld2/api/Favorite.mjs +1 -3
  40. package/apps/realworld2/api/Profile.mjs +1 -3
  41. package/apps/realworld2/view/HeaderToolbarController.mjs +1 -2
  42. package/apps/realworld2/view/HomeContainer.mjs +1 -2
  43. package/apps/realworld2/view/MainContainerController.mjs +1 -14
  44. package/apps/realworld2/view/article/Gallery.mjs +1 -3
  45. package/apps/realworld2/view/article/GalleryContainer.mjs +1 -2
  46. package/apps/realworld2/view/article/Helix.mjs +1 -3
  47. package/apps/realworld2/view/article/HelixContainer.mjs +3 -5
  48. package/apps/realworld2/view/article/PreviewComponent.mjs +3 -5
  49. package/apps/realworld2/view/article/TagListComponent.mjs +3 -7
  50. package/apps/realworld2/view/user/LoginFormContainer.mjs +3 -4
  51. package/apps/sharedcovid/Util.mjs +1 -3
  52. package/apps/sharedcovid/view/GalleryContainer.mjs +2 -3
  53. package/apps/sharedcovid/view/GalleryContainerController.mjs +1 -5
  54. package/apps/sharedcovid/view/HelixContainer.mjs +2 -3
  55. package/apps/sharedcovid/view/HelixContainerController.mjs +1 -4
  56. package/apps/sharedcovid/view/MainContainerController.mjs +12 -16
  57. package/apps/sharedcovid/view/MainContainerModel.mjs +0 -1
  58. package/apps/sharedcovid/view/TableContainer.mjs +2 -3
  59. package/apps/sharedcovid/view/TableContainerController.mjs +0 -3
  60. package/apps/sharedcovid/view/WorldMapComponent.mjs +1 -2
  61. package/apps/sharedcovid/view/WorldMapContainerController.mjs +0 -2
  62. package/apps/sharedcovid/view/country/Gallery.mjs +0 -2
  63. package/apps/sharedcovid/view/country/Helix.mjs +0 -3
  64. package/apps/sharedcovid/view/mapboxGl/Container.mjs +2 -3
  65. package/apps/sharedcovid/view/mapboxGl/ContainerController.mjs +1 -5
  66. package/apps/shareddialog/view/MainContainerController.mjs +0 -18
  67. package/apps/shareddialog2/view/MainContainerController.mjs +1 -2
  68. package/apps/website/data/blog.json +13 -0
  69. package/apps/website/view/MainContainerController.mjs +0 -4
  70. package/docs/app/view/ContentTabContainer.mjs +2 -2
  71. package/docs/app/view/MainContainer.mjs +2 -2
  72. package/docs/app/view/classdetails/SourceViewComponent.mjs +2 -2
  73. package/docs/app/view/classdetails/TutorialComponent.mjs +2 -2
  74. package/docs/tutorials/02_ClassSystem.html +3 -3
  75. package/docs/tutorials/02_ClassSystem.md +2 -2
  76. package/docs/tutorials/09_TodoList_version1.html +8 -8
  77. package/examples/ConfigurationViewport.mjs +0 -4
  78. package/examples/calendar/basic/MainContainerController.mjs +0 -1
  79. package/examples/calendar/weekview/MainContainer.mjs +2 -2
  80. package/examples/component/coronaGallery/CountryGallery.mjs +1 -4
  81. package/examples/component/coronaGallery/MainContainer.mjs +2 -4
  82. package/examples/component/coronaHelix/CountryHelix.mjs +0 -4
  83. package/examples/component/coronaHelix/MainContainer.mjs +2 -4
  84. package/examples/component/gallery/MainContainer.mjs +2 -4
  85. package/examples/component/helix/MainContainer.mjs +2 -4
  86. package/examples/component/splitter/MainContainer.mjs +0 -2
  87. package/examples/core/config/MainContainer.mjs +3 -5
  88. package/examples/dialog/MainContainer.mjs +3 -7
  89. package/examples/list/animate/MainContainer.mjs +2 -2
  90. package/examples/model/advanced/MainContainerController.mjs +0 -12
  91. package/examples/model/dialog/EditUserDialogController.mjs +1 -3
  92. package/examples/model/dialog/MainContainerController.mjs +1 -2
  93. package/examples/model/extendedClass/MainContainerController.mjs +0 -7
  94. package/examples/model/inline/MainContainerController.mjs +0 -7
  95. package/examples/model/inlineNoModel/MainContainerController.mjs +1 -6
  96. package/examples/model/multiWindow/EditUserDialogController.mjs +1 -3
  97. package/examples/model/multiWindow/MainContainerController.mjs +1 -3
  98. package/examples/model/multiWindow/ViewportController.mjs +3 -5
  99. package/examples/model/nestedData/MainContainerController.mjs +1 -8
  100. package/examples/tab/container/MainContainer.mjs +1 -6
  101. package/examples/todoList/version1/MainComponent.mjs +3 -3
  102. package/examples/todoList/version2/MainContainer.mjs +3 -3
  103. package/examples/todoList/version2/TodoList.mjs +1 -1
  104. package/examples/tree/MainContainer.mjs +0 -2
  105. package/package.json +7 -7
  106. package/src/Main.mjs +9 -18
  107. package/src/Neo.mjs +26 -26
  108. package/src/button/Menu.mjs +0 -1
  109. package/src/button/Split.mjs +2 -6
  110. package/src/calendar/store/Events.mjs +0 -1
  111. package/src/calendar/view/DayComponent.mjs +0 -1
  112. package/src/calendar/view/EditEventContainer.mjs +2 -9
  113. package/src/calendar/view/MainContainer.mjs +2 -17
  114. package/src/calendar/view/MainContainerModel.mjs +2 -4
  115. package/src/calendar/view/SettingsContainer.mjs +2 -6
  116. package/src/calendar/view/YearComponent.mjs +3 -14
  117. package/src/calendar/view/calendars/Container.mjs +0 -1
  118. package/src/calendar/view/calendars/EditContainer.mjs +2 -7
  119. package/src/calendar/view/calendars/List.mjs +0 -5
  120. package/src/calendar/view/month/Component.mjs +3 -17
  121. package/src/calendar/view/settings/GeneralContainer.mjs +0 -3
  122. package/src/calendar/view/settings/MonthContainer.mjs +0 -3
  123. package/src/calendar/view/settings/WeekContainer.mjs +0 -5
  124. package/src/calendar/view/settings/YearContainer.mjs +0 -3
  125. package/src/calendar/view/week/Component.mjs +3 -22
  126. package/src/calendar/view/week/EventDragZone.mjs +1 -6
  127. package/src/calendar/view/week/TimeAxisComponent.mjs +2 -3
  128. package/src/calendar/view/week/plugin/DragDrop.mjs +2 -12
  129. package/src/calendar/view/week/plugin/EventResizable.mjs +0 -3
  130. package/src/collection/Base.mjs +3 -22
  131. package/src/collection/Filter.mjs +0 -1
  132. package/src/collection/Sorter.mjs +0 -3
  133. package/src/component/Base.mjs +14 -3
  134. package/src/component/Chip.mjs +2 -4
  135. package/src/component/Circle.mjs +2 -20
  136. package/src/component/DateSelector.mjs +4 -21
  137. package/src/component/Gallery.mjs +2 -14
  138. package/src/component/Helix.mjs +2 -16
  139. package/src/component/Splitter.mjs +3 -8
  140. package/src/component/mwc/Button.mjs +2 -2
  141. package/src/component/mwc/TextField.mjs +2 -3
  142. package/src/component/wrapper/AmChart.mjs +1 -1
  143. package/src/component/wrapper/MapboxGL.mjs +0 -5
  144. package/src/container/Base.mjs +1 -7
  145. package/src/container/Panel.mjs +2 -5
  146. package/src/controller/Application.mjs +2 -3
  147. package/src/controller/Base.mjs +2 -3
  148. package/src/controller/Component.mjs +3 -6
  149. package/src/core/Base.mjs +26 -3
  150. package/src/core/Compare.mjs +0 -1
  151. package/src/core/IdGenerator.mjs +2 -4
  152. package/src/core/Observable.mjs +0 -3
  153. package/src/core/Util.mjs +0 -1
  154. package/src/core/_export.mjs +1 -2
  155. package/src/data/RecordFactory.mjs +1 -6
  156. package/src/data/Store.mjs +2 -12
  157. package/src/data/connection/Xhr.mjs +0 -6
  158. package/src/dialog/Base.mjs +5 -24
  159. package/src/draggable/DragProxyComponent.mjs +3 -5
  160. package/src/draggable/DragZone.mjs +2 -8
  161. package/src/draggable/DropZone.mjs +3 -9
  162. package/src/draggable/list/DragZone.mjs +3 -9
  163. package/src/draggable/tab/header/toolbar/SortZone.mjs +1 -3
  164. package/src/draggable/toolbar/DragZone.mjs +3 -7
  165. package/src/draggable/toolbar/SortZone.mjs +1 -8
  166. package/src/draggable/tree/DragZone.mjs +1 -4
  167. package/src/filter/BooleanContainer.mjs +0 -1
  168. package/src/filter/NumberContainer.mjs +0 -2
  169. package/src/filter/ToggleOperatorsButton.mjs +3 -5
  170. package/src/form/Container.mjs +0 -2
  171. package/src/form/Fieldset.mjs +0 -1
  172. package/src/form/field/Base.mjs +0 -2
  173. package/src/form/field/CheckBox.mjs +2 -7
  174. package/src/form/field/Color.mjs +2 -5
  175. package/src/form/field/Date.mjs +2 -6
  176. package/src/form/field/Display.mjs +2 -3
  177. package/src/form/field/Picker.mjs +1 -12
  178. package/src/form/field/Range.mjs +2 -3
  179. package/src/form/field/Select.mjs +24 -22
  180. package/src/form/field/Text.mjs +3 -20
  181. package/src/form/field/Time.mjs +2 -9
  182. package/src/form/field/trigger/Base.mjs +2 -4
  183. package/src/form/field/trigger/Clear.mjs +0 -3
  184. package/src/form/field/trigger/CopyToClipboard.mjs +0 -3
  185. package/src/form/field/trigger/Picker.mjs +0 -1
  186. package/src/form/field/trigger/SpinDown.mjs +0 -1
  187. package/src/form/field/trigger/SpinUp.mjs +0 -1
  188. package/src/form/field/trigger/SpinUpDown.mjs +0 -1
  189. package/src/form/field/trigger/Time.mjs +2 -3
  190. package/src/grid/Container.mjs +3 -6
  191. package/src/grid/header/Toolbar.mjs +1 -5
  192. package/src/list/Base.mjs +2 -2
  193. package/src/list/Color.mjs +0 -3
  194. package/src/list/Component.mjs +0 -3
  195. package/src/list/plugin/Animate.mjs +3 -6
  196. package/src/main/DomAccess.mjs +9 -24
  197. package/src/main/DomEvents.mjs +44 -77
  198. package/src/main/addon/AmCharts.mjs +3 -12
  199. package/src/main/addon/AnalyticsByGoogle.mjs +3 -4
  200. package/src/main/addon/CloneNode.mjs +0 -2
  201. package/src/main/addon/Cookie.mjs +0 -3
  202. package/src/main/addon/DragDrop.mjs +2 -11
  203. package/src/main/addon/HighlightJS.mjs +3 -7
  204. package/src/main/addon/MapboxGL.mjs +4 -16
  205. package/src/main/addon/Markdown.mjs +3 -3
  206. package/src/main/addon/Mwc.mjs +0 -2
  207. package/src/main/addon/Siesta.mjs +2 -3
  208. package/src/main/addon/Stylesheet.mjs +2 -6
  209. package/src/main/addon/WindowPosition.mjs +3 -8
  210. package/src/main/draggable/sensor/Mouse.mjs +2 -6
  211. package/src/main/draggable/sensor/Touch.mjs +2 -6
  212. package/src/main/mixin/DeltaUpdates.mjs +0 -8
  213. package/src/main/mixin/TouchDomEvents.mjs +1 -7
  214. package/src/manager/Base.mjs +0 -2
  215. package/src/manager/Component.mjs +2 -5
  216. package/src/manager/DomEvent.mjs +1 -6
  217. package/src/manager/Focus.mjs +0 -7
  218. package/src/manager/Instance.mjs +2 -3
  219. package/src/manager/Store.mjs +0 -4
  220. package/src/menu/List.mjs +4 -18
  221. package/src/model/Component.mjs +2 -3
  222. package/src/plugin/Base.mjs +2 -3
  223. package/src/plugin/Resizable.mjs +4 -15
  224. package/src/selection/CircleModel.mjs +1 -5
  225. package/src/selection/DateSelectorModel.mjs +1 -9
  226. package/src/selection/GalleryModel.mjs +0 -9
  227. package/src/selection/HelixModel.mjs +0 -9
  228. package/src/selection/ListModel.mjs +0 -8
  229. package/src/selection/Model.mjs +0 -8
  230. package/src/selection/menu/ListModel.mjs +0 -2
  231. package/src/selection/table/CellColumnModel.mjs +2 -6
  232. package/src/selection/table/CellColumnRowModel.mjs +2 -6
  233. package/src/selection/table/CellModel.mjs +0 -8
  234. package/src/selection/table/CellRowModel.mjs +2 -8
  235. package/src/selection/table/ColumnModel.mjs +0 -6
  236. package/src/selection/table/RowModel.mjs +0 -5
  237. package/src/tab/Container.mjs +0 -6
  238. package/src/tab/Strip.mjs +1 -3
  239. package/src/tab/header/Button.mjs +1 -2
  240. package/src/tab/header/Toolbar.mjs +0 -1
  241. package/src/table/Container.mjs +2 -10
  242. package/src/table/View.mjs +0 -4
  243. package/src/table/header/Button.mjs +2 -8
  244. package/src/table/header/Toolbar.mjs +1 -2
  245. package/src/tree/List.mjs +0 -4
  246. package/src/util/Css.mjs +0 -1
  247. package/src/util/Date.mjs +0 -2
  248. package/src/util/Function.mjs +0 -2
  249. package/src/util/HashHistory.mjs +0 -3
  250. package/src/util/KeyNavigation.mjs +0 -5
  251. package/src/{core → util}/Logger.mjs +7 -19
  252. package/src/util/Matrix.mjs +0 -3
  253. package/src/util/VDom.mjs +0 -5
  254. package/src/util/_export.mjs +2 -1
  255. package/src/vdom/Helper.mjs +0 -3
  256. package/src/vdom/VNode.mjs +0 -1
  257. package/src/worker/App.mjs +2 -9
  258. package/src/worker/Base.mjs +2 -8
  259. package/src/worker/Canvas.mjs +0 -2
  260. package/src/worker/Manager.mjs +3 -5
  261. package/src/worker/Message.mjs +0 -1
  262. package/src/worker/mixin/RemoteMethodAccess.mjs +0 -3
  263. package/test/siesta/siesta.js +2 -1
  264. package/test/siesta/tests/ClassConfigsAndFields.mjs +307 -0
  265. package/test/siesta/tests/ClassSystem.mjs +1 -1
@@ -167,11 +167,10 @@ class Gallery extends Component {
167
167
  }}
168
168
 
169
169
  /**
170
- *
171
170
  * @param {Object} config
172
171
  */
173
- constructor(config) {
174
- super(config);
172
+ construct(config) {
173
+ super.construct(config);
175
174
 
176
175
  let me = this,
177
176
  domListeners = Neo.clone(me.domListeners, true),
@@ -365,7 +364,6 @@ class Gallery extends Component {
365
364
  }
366
365
 
367
366
  /**
368
- *
369
367
  * @returns {*}
370
368
  */
371
369
  beforeGetItemTpl() {
@@ -457,7 +455,6 @@ class Gallery extends Component {
457
455
  }
458
456
 
459
457
  /**
460
- *
461
458
  * @param {Number} [startIndex]
462
459
  * @param {Number} [amountItems]
463
460
  */
@@ -476,7 +473,6 @@ class Gallery extends Component {
476
473
  }
477
474
 
478
475
  /**
479
- *
480
476
  * @param {Number} index
481
477
  * @returns {Number[]}
482
478
  */
@@ -504,7 +500,6 @@ class Gallery extends Component {
504
500
  }
505
501
 
506
502
  /**
507
- *
508
503
  * @param {String} vnodeId
509
504
  * @returns {Number} itemId
510
505
  */
@@ -521,7 +516,6 @@ class Gallery extends Component {
521
516
  }
522
517
 
523
518
  /**
524
- *
525
519
  * @param {Number} index
526
520
  * @returns {String}
527
521
  */
@@ -548,7 +542,6 @@ class Gallery extends Component {
548
542
  }
549
543
 
550
544
  /**
551
- *
552
545
  * @param {String} id
553
546
  * @returns {String}
554
547
  */
@@ -569,7 +562,6 @@ class Gallery extends Component {
569
562
  }
570
563
 
571
564
  /**
572
- *
573
565
  * @param {Object} data
574
566
  */
575
567
  onClick(data) {
@@ -607,7 +599,6 @@ class Gallery extends Component {
607
599
  }
608
600
 
609
601
  /**
610
- *
611
602
  * @param {Object} data
612
603
  */
613
604
  onMouseWheel(data) {
@@ -629,7 +620,6 @@ class Gallery extends Component {
629
620
  }
630
621
 
631
622
  /**
632
- *
633
623
  * @param {Array} value
634
624
  */
635
625
  onSelectionChange(value) {
@@ -752,7 +742,6 @@ class Gallery extends Component {
752
742
  }
753
743
 
754
744
  /**
755
- *
756
745
  * @param {Array} items
757
746
  */
758
747
  onStoreLoad(items) {
@@ -788,7 +777,6 @@ class Gallery extends Component {
788
777
  }
789
778
 
790
779
  /**
791
- *
792
780
  * @param {Number} x
793
781
  * @param {Number} y
794
782
  * @param {Number} z
@@ -248,11 +248,10 @@ class Helix extends Component {
248
248
  }}
249
249
 
250
250
  /**
251
- *
252
251
  * @param {Object} config
253
252
  */
254
- constructor(config) {
255
- super(config);
253
+ construct(config) {
254
+ super.construct(config);
256
255
 
257
256
  let me = this,
258
257
  domListeners = Neo.clone(me.domListeners, true);
@@ -359,7 +358,6 @@ class Helix extends Component {
359
358
  }
360
359
 
361
360
  /**
362
- *
363
361
  * @param callback
364
362
  * @param animationTime
365
363
  * @param callbackParam
@@ -404,7 +402,6 @@ class Helix extends Component {
404
402
  }
405
403
 
406
404
  /**
407
- *
408
405
  * @returns {Object}
409
406
  */
410
407
  beforeGetItemTpl() {
@@ -638,7 +635,6 @@ class Helix extends Component {
638
635
  }
639
636
 
640
637
  /**
641
- *
642
638
  * @param {Number} [startIndex]
643
639
  * @param {Number} [amountItems]
644
640
  */
@@ -705,7 +701,6 @@ class Helix extends Component {
705
701
  }
706
702
 
707
703
  /**
708
- *
709
704
  * @returns {String}
710
705
  */
711
706
  getCloneTransform() {
@@ -718,7 +713,6 @@ class Helix extends Component {
718
713
  }
719
714
 
720
715
  /**
721
- *
722
716
  * @param {String} vnodeId
723
717
  * @returns {Number}
724
718
  */
@@ -735,7 +729,6 @@ class Helix extends Component {
735
729
  }
736
730
 
737
731
  /**
738
- *
739
732
  * @param {Number|String} id
740
733
  * @returns {String}
741
734
  */
@@ -783,7 +776,6 @@ class Helix extends Component {
783
776
  }
784
777
 
785
778
  /**
786
- *
787
779
  * @param {String} itemId
788
780
  */
789
781
  moveToSelectedItem(itemId) {
@@ -792,7 +784,6 @@ class Helix extends Component {
792
784
  }
793
785
 
794
786
  /**
795
- *
796
787
  * @param {Object} data
797
788
  */
798
789
  onClick(data) {
@@ -816,7 +807,6 @@ class Helix extends Component {
816
807
  }
817
808
 
818
809
  /**
819
- *
820
810
  * @param {Object} data
821
811
  */
822
812
  onKeyDownEnter(data) {
@@ -825,7 +815,6 @@ class Helix extends Component {
825
815
  }
826
816
 
827
817
  /**
828
- *
829
818
  * @param {Object} data
830
819
  */
831
820
  onKeyDownSpace(data) {
@@ -833,7 +822,6 @@ class Helix extends Component {
833
822
  }
834
823
 
835
824
  /**
836
- *
837
825
  * @param {Object} data
838
826
  */
839
827
  onMouseWheel(data) {
@@ -855,7 +843,6 @@ class Helix extends Component {
855
843
  }
856
844
 
857
845
  /**
858
- *
859
846
  * @param {String[]} value
860
847
  * @param {String[]} oldValue
861
848
  */
@@ -879,7 +866,6 @@ class Helix extends Component {
879
866
  }
880
867
 
881
868
  /**
882
- *
883
869
  * @param {Array} items
884
870
  */
885
871
  onStoreLoad(items) {
@@ -69,11 +69,10 @@ class Splitter extends Component {
69
69
  }}
70
70
 
71
71
  /**
72
- *
73
72
  * @param {Object} config
74
73
  */
75
- constructor(config) {
76
- super(config);
74
+ construct(config) {
75
+ super.construct(config);
77
76
 
78
77
  let me = this,
79
78
  domListeners = me.domListeners;
@@ -142,7 +141,6 @@ class Splitter extends Component {
142
141
  }
143
142
 
144
143
  /**
145
- *
146
144
  * @param data
147
145
  */
148
146
  onDragEnd(data) {
@@ -160,9 +158,7 @@ class Splitter extends Component {
160
158
 
161
159
  me.style = style;
162
160
 
163
- Neo.main.DomAccess.getBoundingClientRect({
164
- id: me.parentId
165
- }).then(parentRect => {
161
+ me.getDomRect(me.parentId).then(parentRect => {
166
162
  parent = Neo.getComponent(me.parentId);
167
163
  index = parent.indexOf(me);
168
164
  sibling = parent.items[resizeNext ? index + 1 :index - 1];
@@ -201,7 +197,6 @@ class Splitter extends Component {
201
197
  }
202
198
 
203
199
  /**
204
- *
205
200
  * @param data
206
201
  */
207
202
  onDragStart(data) {
@@ -58,8 +58,8 @@ class Button extends Component {
58
58
  /**
59
59
  * @param {Object} config
60
60
  */
61
- constructor(config) {
62
- super(config);
61
+ construct(config) {
62
+ super.construct(config);
63
63
 
64
64
  if (!Neo.config.mainThreadAddons.includes('Mwc')) {
65
65
  console.error('Please include "Mwc" into the mainThreadAddons of your neo-config.json file.');
@@ -65,8 +65,8 @@ class TextField extends Component {
65
65
  /**
66
66
  * @param {Object} config
67
67
  */
68
- constructor(config) {
69
- super(config);
68
+ construct(config) {
69
+ super.construct(config);
70
70
 
71
71
  if (!Neo.config.mainThreadAddons.includes('Mwc')) {
72
72
  console.error('Please include "Mwc" into the mainThreadAddons of your neo-config.json file.');
@@ -206,7 +206,6 @@ class TextField extends Component {
206
206
  }
207
207
 
208
208
  /**
209
- *
210
209
  * @param {Object} data
211
210
  * @param {Neo.component.mwc.TextField} data.component
212
211
  * @param {Object[]} data.path
@@ -1,5 +1,5 @@
1
1
  import Component from '../Base.mjs';
2
- import Logger from '../../core/Logger.mjs';
2
+ import Logger from '../../util/Logger.mjs';
3
3
 
4
4
  /**
5
5
  * Convenience class to render an amChart
@@ -278,7 +278,6 @@ class MapboxGL extends Component {
278
278
  }
279
279
 
280
280
  /**
281
- *
282
281
  * @param {Object[]} data
283
282
  * @returns {Object} Object matching the geojson format
284
283
  */
@@ -313,7 +312,6 @@ class MapboxGL extends Component {
313
312
  }
314
313
 
315
314
  /**
316
- *
317
315
  * @param {Object} value
318
316
  * @param {Number} value.lat
319
317
  * @param {Number} value.lng
@@ -350,7 +348,6 @@ class MapboxGL extends Component {
350
348
  }
351
349
 
352
350
  /**
353
- *
354
351
  * @param {Object} data
355
352
  * @param {String} data.layerId
356
353
  * @param {Object} data.options
@@ -368,7 +365,6 @@ class MapboxGL extends Component {
368
365
  }
369
366
 
370
367
  /**
371
- *
372
368
  * @param {Object} data
373
369
  * @param {String} data.layerId
374
370
  * @param {String} data.key
@@ -388,7 +384,6 @@ class MapboxGL extends Component {
388
384
  }
389
385
 
390
386
  /**
391
- *
392
387
  * @param {Object} data
393
388
  * @param {String} data.layerId
394
389
  * @param {String} data.key
@@ -4,7 +4,7 @@ import LayoutCard from '../layout/Card.mjs';
4
4
  import LayoutFit from '../layout/Fit.mjs';
5
5
  import LayoutHbox from '../layout/HBox.mjs';
6
6
  import LayoutVBox from '../layout/VBox.mjs';
7
- import Logger from '../core/Logger.mjs';
7
+ import Logger from '../util/Logger.mjs';
8
8
  import NeoArray from '../util/Array.mjs';
9
9
 
10
10
  /**
@@ -109,7 +109,6 @@ class Base extends Component {
109
109
  }
110
110
 
111
111
  /**
112
- *
113
112
  * @param {Neo.layout.Base} value
114
113
  * @param {Neo.layout.Base} oldValue
115
114
  * @protected
@@ -171,7 +170,6 @@ class Base extends Component {
171
170
  }
172
171
 
173
172
  /**
174
- *
175
173
  * @param {Object|String} value
176
174
  * @returns {Neo.layout.Base}
177
175
  * @protected
@@ -181,7 +179,6 @@ class Base extends Component {
181
179
  }
182
180
 
183
181
  /**
184
- *
185
182
  * @param {*} item
186
183
  * @param {Number} index
187
184
  * @returns {Neo.component.Base|Object} Object for lazy loaded items
@@ -254,7 +251,6 @@ class Base extends Component {
254
251
  }
255
252
 
256
253
  /**
257
- *
258
254
  * @protected
259
255
  */
260
256
  createItems() {
@@ -280,7 +276,6 @@ class Base extends Component {
280
276
  }
281
277
 
282
278
  /**
283
- *
284
279
  * @param {Object|String|Neo.layout.Base} value
285
280
  * @protected
286
281
  * @returns {Neo.layout.Base}
@@ -456,7 +451,6 @@ class Base extends Component {
456
451
  }
457
452
 
458
453
  /**
459
- *
460
454
  * @param {Object|String} config
461
455
  * @protected
462
456
  * @returns {Object} layoutConfig
@@ -48,11 +48,10 @@ class Panel extends Container {
48
48
  }}
49
49
 
50
50
  /**
51
- *
52
51
  * @param {Object} config
53
52
  */
54
- constructor(config) {
55
- super(config);
53
+ construct(config) {
54
+ super.construct(config);
56
55
 
57
56
  let me = this;
58
57
 
@@ -65,7 +64,6 @@ class Panel extends Container {
65
64
  }
66
65
 
67
66
  /**
68
- *
69
67
  * @param {Object} header the header config
70
68
  * @returns {Object}
71
69
  */
@@ -178,7 +176,6 @@ class Panel extends Container {
178
176
  }
179
177
 
180
178
  /**
181
- *
182
179
  * @returns {Boolean}
183
180
  */
184
181
  hasHeaders() {
@@ -46,16 +46,15 @@ class Application extends Base {
46
46
  }}
47
47
 
48
48
  /**
49
- *
50
49
  * @param {Object} config
51
50
  */
52
- constructor(config) {
51
+ construct(config) {
53
52
  // to guarantee that the main view can access Neo.apps at any point,
54
53
  // we need to trigger its assignment at the end of the ctor.
55
54
  let mainView = config.mainView;
56
55
  delete config.mainView;
57
56
 
58
- super(config);
57
+ super.construct(config);
59
58
 
60
59
  let me = this;
61
60
 
@@ -28,11 +28,10 @@ class Base extends CoreBase {
28
28
  }}
29
29
 
30
30
  /**
31
- *
32
31
  * @param {Object} config
33
32
  */
34
- constructor(config) {
35
- super(config);
33
+ construct(config) {
34
+ super.construct(config);
36
35
 
37
36
  HashHistory.on('change', this.onHashChange, this);
38
37
  }
@@ -1,7 +1,7 @@
1
1
  import Base from './Base.mjs';
2
2
  import ComponentManager from '../manager/Component.mjs';
3
3
  import DomEventManager from '../manager/DomEvent.mjs';
4
- import Logger from '../core/Logger.mjs';
4
+ import Logger from '../util/Logger.mjs';
5
5
 
6
6
  /**
7
7
  * @class Neo.controller.Component
@@ -36,11 +36,10 @@ class Component extends Base {
36
36
  }}
37
37
 
38
38
  /**
39
- *
40
39
  * @param {Object} config
41
40
  */
42
- constructor(config) {
43
- super(config);
41
+ construct(config) {
42
+ super.construct(config);
44
43
 
45
44
  let me = this,
46
45
  component = me.component,
@@ -69,7 +68,6 @@ class Component extends Base {
69
68
  }
70
69
 
71
70
  /**
72
- *
73
71
  * @param {String} handlerName
74
72
  * @returns {Neo.controller.Component|null}
75
73
  */
@@ -137,7 +135,6 @@ class Component extends Base {
137
135
  onComponentConstructed() {}
138
136
 
139
137
  /**
140
- *
141
138
  * @param {Neo.component.Base} [component=this.component]
142
139
  */
143
140
  parseConfig(component=this.component) {
package/src/core/Base.mjs CHANGED
@@ -74,7 +74,7 @@ class Base {
74
74
  * Applies the observable mixin if needed, grants remote access if needed.
75
75
  * @param {Object} config={}
76
76
  */
77
- constructor(config={}) {
77
+ construct(config={}) {
78
78
  let me = this;
79
79
 
80
80
  Object.defineProperties(me, {
@@ -99,6 +99,9 @@ class Base {
99
99
 
100
100
  me.getStaticConfig('observable') && me.initObservable(config);
101
101
 
102
+ // assign class field values prior to configs
103
+ config = me.setFields(config);
104
+
102
105
  me.initConfig(config);
103
106
 
104
107
  Object.defineProperty(me, 'configsApplied', {
@@ -148,7 +151,7 @@ class Base {
148
151
  let values = Array.isArray(staticName) ? staticName : this.getStaticConfig(staticName);
149
152
 
150
153
  if (!values.includes(value)) {
151
- Neo.logError(`Supported values for ${name} are: ${values.join(', ')}`, this);
154
+ console.error(`Supported values for ${name} are: ${values.join(', ')}`, this);
152
155
  return oldValue;
153
156
  }
154
157
 
@@ -350,7 +353,6 @@ class Base {
350
353
  }
351
354
 
352
355
  /**
353
- *
354
356
  * @param {String} className
355
357
  * @param {Object} remote
356
358
  */
@@ -377,6 +379,8 @@ class Base {
377
379
  set(values={}) {
378
380
  let me = this;
379
381
 
382
+ values = me.setFields(values);
383
+
380
384
  // If the initial config processing is still running,
381
385
  // finish this one first before dropping new values into the configSymbol.
382
386
  // see: https://github.com/neomjs/neo/issues/2201
@@ -389,6 +393,25 @@ class Base {
389
393
  me.processConfigs(true);
390
394
  }
391
395
 
396
+ /**
397
+ * We want to assign class fields first and remove them from the config object,
398
+ * so that afterSet(), beforeGet() and beforeSet() methods can get the new values right away
399
+ * @param {Object} config
400
+ * @returns {Object}
401
+ */
402
+ setFields(config) {
403
+ let configNames = this.constructor.config;
404
+
405
+ Object.entries(config).forEach(([key, value]) => {
406
+ if (!configNames.hasOwnProperty(key) && !Neo.hasPropertySetter(this, key)) {
407
+ this[key] = value;
408
+ delete config[key];
409
+ }
410
+ });
411
+
412
+ return config;
413
+ }
414
+
392
415
  /**
393
416
  * Sets the value of a static config by a given key
394
417
  * @param {String} key The key of a staticConfig defined inside static getStaticConfig
@@ -14,7 +14,6 @@ class Compare extends Base {
14
14
  }}
15
15
 
16
16
  /**
17
- *
18
17
  * @param {*} item1
19
18
  * @param {*} item2
20
19
  * @returns {Boolean}
@@ -40,10 +40,9 @@ class IdGenerator {
40
40
  }}
41
41
 
42
42
  /**
43
- *
44
43
  * @param config
45
44
  */
46
- constructor(config) {
45
+ construct(config) {
47
46
  let me = this;
48
47
 
49
48
  me.idCounter = {};
@@ -53,7 +52,6 @@ class IdGenerator {
53
52
  }
54
53
 
55
54
  /**
56
- *
57
55
  * @param name
58
56
  * @returns {string}
59
57
  */
@@ -82,4 +80,4 @@ let instance = Neo.create(IdGenerator);
82
80
 
83
81
  Neo.applyToGlobalNs(instance);
84
82
 
85
- export default instance;
83
+ export default instance;
@@ -24,7 +24,6 @@ class Observable extends Base {
24
24
  }}
25
25
 
26
26
  /**
27
- *
28
27
  * @param {Object|String} name
29
28
  * @param {Object} [opts]
30
29
  * @param {Object} [scope]
@@ -93,7 +92,6 @@ class Observable extends Base {
93
92
  }
94
93
 
95
94
  /**
96
- *
97
95
  * @param name
98
96
  */
99
97
  fire(name) {
@@ -166,7 +164,6 @@ class Observable extends Base {
166
164
  }
167
165
 
168
166
  /**
169
- *
170
167
  * @param {Object|String} name
171
168
  * @param {String} [eventId]
172
169
  */
package/src/core/Util.mjs CHANGED
@@ -29,7 +29,6 @@ class Util extends Base {
29
29
  }}
30
30
 
31
31
  /**
32
- *
33
32
  * @param {Object} scope
34
33
  * @param {String[]} values
35
34
  */
@@ -1,8 +1,7 @@
1
1
  import Base from './Base.mjs';
2
2
  import Compare from './Compare.mjs';
3
3
  import IdGenerator from './IdGenerator.mjs';
4
- import Logger from './Logger.mjs';
5
4
  import Observable from './Observable.mjs';
6
5
  import Util from './Util.mjs';
7
6
 
8
- export {Base, Compare, IdGenerator, Logger, Observable, Util};
7
+ export {Base, Compare, IdGenerator, Observable, Util};
@@ -1,5 +1,5 @@
1
1
  import Base from '../core/Base.mjs';
2
- import Logger from '../core/Logger.mjs';
2
+ import Logger from '../util/Logger.mjs';
3
3
  import Model from './Model.mjs';
4
4
 
5
5
  let instance;
@@ -34,7 +34,6 @@ class RecordFactory extends Base {
34
34
  }}
35
35
 
36
36
  /**
37
- *
38
37
  * @param {Neo.data.Model} model
39
38
  * @param {Object} config
40
39
  * @returns {Object}
@@ -50,7 +49,6 @@ class RecordFactory extends Base {
50
49
  }
51
50
 
52
51
  /**
53
- *
54
52
  * @param {Neo.data.Model} model
55
53
  * @returns {Object}
56
54
  */
@@ -156,7 +154,6 @@ class RecordFactory extends Base {
156
154
  }
157
155
 
158
156
  /**
159
- *
160
157
  * @param {Object} record
161
158
  * @param {Boolean} trackModifiedFields
162
159
  * @returns {Boolean} true in case a change was found
@@ -183,7 +180,6 @@ class RecordFactory extends Base {
183
180
  }
184
181
 
185
182
  /**
186
- *
187
183
  * @param {Object} record
188
184
  * @param {String} fieldName
189
185
  * @returns {Boolean|null} null in case the model does not use trackModifiedFields, true in case a change was found
@@ -240,7 +236,6 @@ class RecordFactory extends Base {
240
236
  }
241
237
 
242
238
  /**
243
- *
244
239
  * @param {Neo.data.Model} model
245
240
  * @param {Object} record
246
241
  * @param {Object} fields