neo.mjs 2.3.14 → 2.3.18

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 (261) hide show
  1. package/README.md +2 -2
  2. package/apps/covid/Util.mjs +1 -3
  3. package/apps/covid/view/GalleryContainer.mjs +0 -1
  4. package/apps/covid/view/GalleryContainerController.mjs +1 -5
  5. package/apps/covid/view/HelixContainer.mjs +0 -1
  6. package/apps/covid/view/HelixContainerController.mjs +1 -4
  7. package/apps/covid/view/MainContainer.mjs +1 -1
  8. package/apps/covid/view/MainContainerController.mjs +0 -7
  9. package/apps/covid/view/MainContainerModel.mjs +0 -1
  10. package/apps/covid/view/TableContainer.mjs +0 -1
  11. package/apps/covid/view/TableContainerController.mjs +0 -3
  12. package/apps/covid/view/WorldMapComponent.mjs +1 -2
  13. package/apps/covid/view/WorldMapContainerController.mjs +0 -2
  14. package/apps/covid/view/country/Gallery.mjs +0 -2
  15. package/apps/covid/view/country/Helix.mjs +0 -3
  16. package/apps/covid/view/mapboxGl/Container.mjs +1 -1
  17. package/apps/covid/view/mapboxGl/ContainerController.mjs +1 -6
  18. package/apps/krausest/TableCollection.mjs +0 -1
  19. package/apps/krausest/view/MainComponent.mjs +0 -1
  20. package/apps/krausest/view/MainComponentController.mjs +0 -1
  21. package/apps/krausest/view/TableComponent.mjs +0 -2
  22. package/apps/realworld/api/Article.mjs +1 -4
  23. package/apps/realworld/api/Base.mjs +0 -5
  24. package/apps/realworld/api/Favorite.mjs +1 -3
  25. package/apps/realworld/api/Profile.mjs +1 -3
  26. package/apps/realworld/api/config.mjs +2 -2
  27. package/apps/realworld/view/HeaderComponent.mjs +1 -2
  28. package/apps/realworld/view/HomeComponent.mjs +0 -9
  29. package/apps/realworld/view/MainContainerController.mjs +0 -13
  30. package/apps/realworld/view/article/CommentComponent.mjs +1 -3
  31. package/apps/realworld/view/article/Component.mjs +0 -5
  32. package/apps/realworld/view/article/CreateCommentComponent.mjs +1 -5
  33. package/apps/realworld/view/article/PreviewComponent.mjs +1 -3
  34. package/apps/realworld/view/article/TagListComponent.mjs +1 -5
  35. package/apps/realworld/view/user/ProfileComponent.mjs +0 -6
  36. package/apps/realworld/view/user/SettingsComponent.mjs +1 -5
  37. package/apps/realworld/view/user/SignUpComponent.mjs +0 -1
  38. package/apps/realworld2/api/Article.mjs +1 -4
  39. package/apps/realworld2/api/Base.mjs +0 -5
  40. package/apps/realworld2/api/Favorite.mjs +1 -3
  41. package/apps/realworld2/api/Profile.mjs +1 -3
  42. package/apps/realworld2/view/HeaderToolbarController.mjs +1 -2
  43. package/apps/realworld2/view/HomeContainer.mjs +1 -2
  44. package/apps/realworld2/view/MainContainerController.mjs +1 -14
  45. package/apps/realworld2/view/article/Gallery.mjs +1 -3
  46. package/apps/realworld2/view/article/GalleryContainer.mjs +1 -2
  47. package/apps/realworld2/view/article/Helix.mjs +1 -3
  48. package/apps/realworld2/view/article/HelixContainer.mjs +1 -3
  49. package/apps/realworld2/view/article/PreviewComponent.mjs +1 -3
  50. package/apps/realworld2/view/article/TagListComponent.mjs +1 -5
  51. package/apps/realworld2/view/user/LoginFormContainer.mjs +1 -2
  52. package/apps/sharedcovid/Util.mjs +1 -3
  53. package/apps/sharedcovid/view/GalleryContainer.mjs +0 -1
  54. package/apps/sharedcovid/view/GalleryContainerController.mjs +1 -5
  55. package/apps/sharedcovid/view/HelixContainer.mjs +0 -1
  56. package/apps/sharedcovid/view/HelixContainerController.mjs +1 -4
  57. package/apps/sharedcovid/view/MainContainer.mjs +1 -1
  58. package/apps/sharedcovid/view/MainContainerModel.mjs +0 -1
  59. package/apps/sharedcovid/view/TableContainer.mjs +0 -1
  60. package/apps/sharedcovid/view/TableContainerController.mjs +0 -3
  61. package/apps/sharedcovid/view/WorldMapComponent.mjs +1 -2
  62. package/apps/sharedcovid/view/WorldMapContainerController.mjs +0 -2
  63. package/apps/sharedcovid/view/country/Gallery.mjs +0 -2
  64. package/apps/sharedcovid/view/country/Helix.mjs +0 -3
  65. package/apps/sharedcovid/view/mapboxGl/Container.mjs +0 -1
  66. package/apps/sharedcovid/view/mapboxGl/ContainerController.mjs +1 -5
  67. package/apps/shareddialog/view/MainContainerController.mjs +0 -18
  68. package/apps/shareddialog2/view/MainContainerController.mjs +1 -2
  69. package/apps/website/data/blog.json +16 -3
  70. package/apps/website/data/examples_devmode.json +18 -18
  71. package/apps/website/view/MainContainerController.mjs +0 -4
  72. package/buildScripts/webpack/development/webpack.config.main.js +2 -1
  73. package/buildScripts/webpack/production/webpack.config.main.js +2 -1
  74. package/examples/ConfigurationViewport.mjs +0 -4
  75. package/examples/calendar/basic/MainContainerController.mjs +0 -1
  76. package/examples/component/coronaGallery/CountryGallery.mjs +1 -4
  77. package/examples/component/coronaGallery/MainContainer.mjs +0 -2
  78. package/examples/component/coronaHelix/CountryHelix.mjs +0 -4
  79. package/examples/component/coronaHelix/MainContainer.mjs +0 -2
  80. package/examples/component/gallery/MainContainer.mjs +0 -2
  81. package/examples/component/helix/MainContainer.mjs +0 -2
  82. package/examples/component/splitter/MainContainer.mjs +0 -2
  83. package/examples/core/config/MainContainer.mjs +1 -3
  84. package/examples/dialog/MainContainer.mjs +1 -5
  85. package/examples/list/animate/List.mjs +50 -0
  86. package/examples/list/animate/MainContainer.mjs +79 -0
  87. package/examples/list/animate/MainModel.mjs +33 -0
  88. package/examples/list/animate/MainStore.mjs +31 -0
  89. package/examples/list/animate/app.mjs +8 -0
  90. package/examples/list/animate/index.html +11 -0
  91. package/examples/list/animate/neo-config.json +7 -0
  92. package/examples/list/base/neo-config.json +1 -1
  93. package/examples/model/advanced/MainContainerController.mjs +0 -12
  94. package/examples/model/dialog/EditUserDialogController.mjs +1 -3
  95. package/examples/model/dialog/MainContainerController.mjs +1 -2
  96. package/examples/model/extendedClass/MainContainerController.mjs +0 -7
  97. package/examples/model/inline/MainContainerController.mjs +0 -7
  98. package/examples/model/inlineNoModel/MainContainerController.mjs +1 -6
  99. package/examples/model/multiWindow/EditUserDialogController.mjs +1 -3
  100. package/examples/model/multiWindow/MainContainerController.mjs +1 -3
  101. package/examples/model/multiWindow/ViewportController.mjs +1 -3
  102. package/examples/model/nestedData/MainContainerController.mjs +1 -8
  103. package/examples/tab/container/MainContainer.mjs +1 -6
  104. package/examples/todoList/version2/TodoList.mjs +1 -1
  105. package/examples/tree/MainContainer.mjs +0 -2
  106. package/package.json +11 -11
  107. package/resources/scss/src/examples/list/animate/List.scss +30 -0
  108. package/src/Main.mjs +7 -16
  109. package/src/Neo.mjs +1 -4
  110. package/src/button/Menu.mjs +0 -1
  111. package/src/button/Split.mjs +0 -4
  112. package/src/calendar/store/Events.mjs +0 -1
  113. package/src/calendar/view/DayComponent.mjs +0 -1
  114. package/src/calendar/view/EditEventContainer.mjs +0 -7
  115. package/src/calendar/view/MainContainer.mjs +0 -15
  116. package/src/calendar/view/MainContainerModel.mjs +0 -2
  117. package/src/calendar/view/SettingsContainer.mjs +0 -4
  118. package/src/calendar/view/YearComponent.mjs +0 -9
  119. package/src/calendar/view/calendars/Container.mjs +0 -1
  120. package/src/calendar/view/calendars/EditContainer.mjs +0 -5
  121. package/src/calendar/view/calendars/List.mjs +0 -5
  122. package/src/calendar/view/month/Component.mjs +0 -12
  123. package/src/calendar/view/settings/GeneralContainer.mjs +0 -3
  124. package/src/calendar/view/settings/MonthContainer.mjs +0 -3
  125. package/src/calendar/view/settings/WeekContainer.mjs +0 -5
  126. package/src/calendar/view/settings/YearContainer.mjs +0 -3
  127. package/src/calendar/view/week/Component.mjs +0 -16
  128. package/src/calendar/view/week/EventDragZone.mjs +0 -3
  129. package/src/calendar/view/week/TimeAxisComponent.mjs +0 -1
  130. package/src/calendar/view/week/plugin/DragDrop.mjs +0 -10
  131. package/src/calendar/view/week/plugin/EventResizable.mjs +0 -3
  132. package/src/collection/Base.mjs +8 -24
  133. package/src/collection/Filter.mjs +0 -1
  134. package/src/collection/Sorter.mjs +0 -3
  135. package/src/component/Base.mjs +1 -3
  136. package/src/component/Chip.mjs +0 -2
  137. package/src/component/Circle.mjs +0 -18
  138. package/src/component/DateSelector.mjs +0 -13
  139. package/src/component/Gallery.mjs +0 -12
  140. package/src/component/Helix.mjs +0 -14
  141. package/src/component/Splitter.mjs +0 -3
  142. package/src/component/mwc/TextField.mjs +0 -1
  143. package/src/component/wrapper/AmChart.mjs +1 -1
  144. package/src/component/wrapper/MapboxGL.mjs +0 -5
  145. package/src/container/Base.mjs +1 -7
  146. package/src/container/Panel.mjs +0 -3
  147. package/src/controller/Application.mjs +0 -1
  148. package/src/controller/Base.mjs +0 -1
  149. package/src/controller/Component.mjs +1 -4
  150. package/src/core/Base.mjs +2 -3
  151. package/src/core/Compare.mjs +0 -1
  152. package/src/core/IdGenerator.mjs +1 -3
  153. package/src/core/Observable.mjs +0 -3
  154. package/src/core/Util.mjs +0 -1
  155. package/src/core/_export.mjs +1 -2
  156. package/src/data/RecordFactory.mjs +1 -6
  157. package/src/data/Store.mjs +0 -10
  158. package/src/data/connection/Xhr.mjs +0 -6
  159. package/src/dialog/Base.mjs +0 -10
  160. package/src/draggable/DragProxyComponent.mjs +1 -3
  161. package/src/draggable/DragZone.mjs +0 -6
  162. package/src/draggable/DropZone.mjs +1 -7
  163. package/src/draggable/list/DragZone.mjs +1 -7
  164. package/src/draggable/tab/header/toolbar/SortZone.mjs +1 -3
  165. package/src/draggable/toolbar/DragZone.mjs +1 -5
  166. package/src/draggable/toolbar/SortZone.mjs +0 -5
  167. package/src/draggable/tree/DragZone.mjs +1 -4
  168. package/src/filter/BooleanContainer.mjs +0 -1
  169. package/src/filter/NumberContainer.mjs +0 -2
  170. package/src/filter/ToggleOperatorsButton.mjs +1 -3
  171. package/src/form/Container.mjs +0 -2
  172. package/src/form/Fieldset.mjs +0 -1
  173. package/src/form/field/Base.mjs +0 -2
  174. package/src/form/field/CheckBox.mjs +0 -5
  175. package/src/form/field/Color.mjs +0 -3
  176. package/src/form/field/Date.mjs +0 -4
  177. package/src/form/field/Display.mjs +0 -1
  178. package/src/form/field/Picker.mjs +0 -9
  179. package/src/form/field/Range.mjs +0 -1
  180. package/src/form/field/Select.mjs +22 -20
  181. package/src/form/field/Text.mjs +0 -15
  182. package/src/form/field/Time.mjs +0 -7
  183. package/src/form/field/trigger/Base.mjs +0 -2
  184. package/src/form/field/trigger/Clear.mjs +0 -3
  185. package/src/form/field/trigger/CopyToClipboard.mjs +0 -3
  186. package/src/form/field/trigger/Picker.mjs +0 -1
  187. package/src/form/field/trigger/SpinDown.mjs +0 -1
  188. package/src/form/field/trigger/SpinUp.mjs +0 -1
  189. package/src/form/field/trigger/SpinUpDown.mjs +0 -1
  190. package/src/form/field/trigger/Time.mjs +0 -1
  191. package/src/grid/Container.mjs +1 -4
  192. package/src/grid/header/Toolbar.mjs +1 -5
  193. package/src/list/Base.mjs +39 -8
  194. package/src/list/Color.mjs +0 -3
  195. package/src/list/Component.mjs +0 -3
  196. package/src/list/plugin/Animate.mjs +176 -0
  197. package/src/main/DomAccess.mjs +7 -22
  198. package/src/main/DomEvents.mjs +42 -75
  199. package/src/main/addon/AmCharts.mjs +1 -10
  200. package/src/main/addon/AnalyticsByGoogle.mjs +1 -2
  201. package/src/main/addon/CloneNode.mjs +0 -2
  202. package/src/main/addon/Cookie.mjs +0 -3
  203. package/src/main/addon/DragDrop.mjs +0 -9
  204. package/src/main/addon/HighlightJS.mjs +1 -5
  205. package/src/main/addon/MapboxGL.mjs +1 -14
  206. package/src/main/addon/Mwc.mjs +0 -2
  207. package/src/main/addon/Siesta.mjs +0 -1
  208. package/src/main/addon/Stylesheet.mjs +0 -4
  209. package/src/main/addon/WindowPosition.mjs +1 -6
  210. package/src/main/draggable/sensor/Mouse.mjs +0 -4
  211. package/src/main/draggable/sensor/Touch.mjs +0 -4
  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 +0 -3
  216. package/src/manager/DomEvent.mjs +1 -6
  217. package/src/manager/Focus.mjs +0 -7
  218. package/src/manager/Instance.mjs +0 -1
  219. package/src/manager/Store.mjs +0 -4
  220. package/src/menu/List.mjs +0 -6
  221. package/src/model/Component.mjs +3 -15
  222. package/src/plugin/Base.mjs +0 -1
  223. package/src/plugin/Resizable.mjs +0 -8
  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 +0 -4
  232. package/src/selection/table/CellColumnRowModel.mjs +0 -4
  233. package/src/selection/table/CellModel.mjs +0 -8
  234. package/src/selection/table/CellRowModel.mjs +0 -6
  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/header/Button.mjs +1 -2
  239. package/src/tab/header/Toolbar.mjs +0 -1
  240. package/src/table/Container.mjs +0 -8
  241. package/src/table/View.mjs +0 -4
  242. package/src/table/header/Button.mjs +0 -6
  243. package/src/table/header/Toolbar.mjs +1 -2
  244. package/src/tree/List.mjs +0 -4
  245. package/src/util/Css.mjs +0 -1
  246. package/src/util/Date.mjs +0 -2
  247. package/src/util/Function.mjs +0 -2
  248. package/src/util/HashHistory.mjs +0 -3
  249. package/src/util/KeyNavigation.mjs +0 -5
  250. package/src/{core → util}/Logger.mjs +5 -17
  251. package/src/util/Matrix.mjs +0 -3
  252. package/src/util/VDom.mjs +0 -5
  253. package/src/util/_export.mjs +2 -1
  254. package/src/vdom/Helper.mjs +0 -3
  255. package/src/vdom/VNode.mjs +0 -1
  256. package/src/worker/App.mjs +0 -7
  257. package/src/worker/Base.mjs +0 -6
  258. package/src/worker/Canvas.mjs +0 -2
  259. package/src/worker/Manager.mjs +1 -3
  260. package/src/worker/Message.mjs +0 -1
  261. package/src/worker/mixin/RemoteMethodAccess.mjs +0 -3
@@ -121,7 +121,6 @@ class Text extends Base {
121
121
  }}
122
122
 
123
123
  /**
124
- *
125
124
  * @param {Object} config
126
125
  */
127
126
  constructor(config) {
@@ -638,7 +637,6 @@ class Text extends Base {
638
637
  }
639
638
 
640
639
  /**
641
- *
642
640
  * @returns {Object|null}
643
641
  */
644
642
  getCenterBorderEl() {
@@ -647,7 +645,6 @@ class Text extends Base {
647
645
  }
648
646
 
649
647
  /**
650
- *
651
648
  * @returns {Object|null}
652
649
  */
653
650
  getInputEl() {
@@ -655,7 +652,6 @@ class Text extends Base {
655
652
  return el?.vdom;
656
653
  }
657
654
  /**
658
- *
659
655
  * @returns {String}
660
656
  */
661
657
  getInputElId() {
@@ -682,7 +678,6 @@ class Text extends Base {
682
678
  }
683
679
 
684
680
  /**
685
- *
686
681
  * @returns {String}
687
682
  */
688
683
  getInputWrapperId() {
@@ -690,7 +685,6 @@ class Text extends Base {
690
685
  }
691
686
 
692
687
  /**
693
- *
694
688
  * @returns {Object|null}
695
689
  */
696
690
  getLabelEl() {
@@ -699,7 +693,6 @@ class Text extends Base {
699
693
  }
700
694
 
701
695
  /**
702
- *
703
696
  * @returns {String}
704
697
  */
705
698
  getLabelId() {
@@ -707,7 +700,6 @@ class Text extends Base {
707
700
  }
708
701
 
709
702
  /**
710
- *
711
703
  * @param {String} type
712
704
  * @returns {Neo.form.field.trigger.Base|null}
713
705
  */
@@ -727,7 +719,6 @@ class Text extends Base {
727
719
  }
728
720
 
729
721
  /**
730
- *
731
722
  * @param {String} id
732
723
  * @returns {Neo.form.field.trigger.Base|null}
733
724
  */
@@ -747,7 +738,6 @@ class Text extends Base {
747
738
  }
748
739
 
749
740
  /**
750
- *
751
741
  * @param {String} type
752
742
  * @protected
753
743
  * @returns {String} The trigger node id
@@ -776,7 +766,6 @@ class Text extends Base {
776
766
  }
777
767
 
778
768
  /**
779
- *
780
769
  * @returns {Boolean}
781
770
  */
782
771
  isEmpty() {
@@ -784,7 +773,6 @@ class Text extends Base {
784
773
  }
785
774
 
786
775
  /**
787
- *
788
776
  * @returns {Boolean}
789
777
  */
790
778
  isValid() {
@@ -798,7 +786,6 @@ class Text extends Base {
798
786
  }
799
787
 
800
788
  /**
801
- *
802
789
  * @param {Object} config
803
790
  * @param {Boolean} [preventOriginalConfig] True prevents the instance from getting an originalConfig property
804
791
  * @returns {Object} config
@@ -815,7 +802,6 @@ class Text extends Base {
815
802
  }
816
803
 
817
804
  /**
818
- *
819
805
  * @param {Object} data
820
806
  * @param {Object[]} data.path
821
807
  * @protected
@@ -840,7 +826,6 @@ class Text extends Base {
840
826
  }
841
827
 
842
828
  /**
843
- *
844
829
  * @param {Object} data
845
830
  * @param {Object[]} data.oldPath
846
831
  * @protected
@@ -82,7 +82,6 @@ class Time extends Picker {
82
82
  }}
83
83
 
84
84
  /**
85
- *
86
85
  * @param {Object} config
87
86
  */
88
87
  constructor(config) {
@@ -253,7 +252,6 @@ class Time extends Picker {
253
252
  }
254
253
 
255
254
  /**
256
- *
257
255
  * @returns {String[]}
258
256
  */
259
257
  createCollectionItems() {
@@ -285,7 +283,6 @@ class Time extends Picker {
285
283
  }
286
284
 
287
285
  /**
288
- *
289
286
  * @returns {Neo.component.DateSelector}
290
287
  */
291
288
  createPickerComponent() {
@@ -293,7 +290,6 @@ class Time extends Picker {
293
290
  }
294
291
 
295
292
  /**
296
- *
297
293
  * @param {Function} [callback]
298
294
  */
299
295
  focusInputEl(callback) {
@@ -340,7 +336,6 @@ class Time extends Picker {
340
336
  }
341
337
 
342
338
  /**
343
- *
344
339
  * @param {Object} data
345
340
  * @protected
346
341
  */
@@ -356,7 +351,6 @@ class Time extends Picker {
356
351
  }
357
352
 
358
353
  /**
359
- *
360
354
  * @param {Object} record
361
355
  */
362
356
  onListItemClick(record) {
@@ -373,7 +367,6 @@ class Time extends Picker {
373
367
  }
374
368
 
375
369
  /**
376
- *
377
370
  * @param {Object} record
378
371
  */
379
372
  onListItemNavigate(record) {
@@ -80,7 +80,6 @@ class Base extends Component {
80
80
  }}
81
81
 
82
82
  /**
83
- *
84
83
  * @param {Object} config
85
84
  */
86
85
  constructor(config) {
@@ -168,7 +167,6 @@ class Base extends Component {
168
167
  }
169
168
 
170
169
  /**
171
- *
172
170
  * @param {Boolean} updateParentVdom
173
171
  * @param {Boolean} silent
174
172
  */
@@ -81,7 +81,6 @@ class Clear extends Base {
81
81
  }
82
82
 
83
83
  /**
84
- *
85
84
  * @returns {Boolean} true in case the trigger should be hidden
86
85
  */
87
86
  getHiddenState() {
@@ -101,7 +100,6 @@ class Clear extends Base {
101
100
  }
102
101
 
103
102
  /**
104
- *
105
103
  * @param {Object} opts
106
104
  */
107
105
  onFieldChange(opts) {
@@ -136,7 +134,6 @@ class Clear extends Base {
136
134
  }
137
135
 
138
136
  /**
139
- *
140
137
  * @param {Object} data
141
138
  */
142
139
  onTriggerClick(data) {
@@ -55,7 +55,6 @@ class CopyToClipboard extends Base {
55
55
  }
56
56
 
57
57
  /**
58
- *
59
58
  * @returns {Boolean} true in case the trigger should be hidden
60
59
  */
61
60
  getHiddenState() {
@@ -80,7 +79,6 @@ class CopyToClipboard extends Base {
80
79
  }
81
80
 
82
81
  /**
83
- *
84
82
  * @param {Object} opts
85
83
  */
86
84
  onFieldChange(opts) {
@@ -88,7 +86,6 @@ class CopyToClipboard extends Base {
88
86
  }
89
87
 
90
88
  /**
91
- *
92
89
  * @param {Object} data
93
90
  */
94
91
  onTriggerClick(data) {
@@ -30,7 +30,6 @@ class Picker extends Base {
30
30
  }}
31
31
 
32
32
  /**
33
- *
34
33
  * @param {Object} data
35
34
  */
36
35
  onTriggerClick(data) {
@@ -34,7 +34,6 @@ class SpinDown extends Base {
34
34
  }}
35
35
 
36
36
  /**
37
- *
38
37
  * @param {Object} data
39
38
  */
40
39
  onTriggerClick(data) {
@@ -30,7 +30,6 @@ class SpinUp extends Base {
30
30
  }}
31
31
 
32
32
  /**
33
- *
34
33
  * @param {Object} data
35
34
  */
36
35
  onTriggerClick(data) {
@@ -55,7 +55,6 @@ class SpinUpDown extends Base {
55
55
  }
56
56
 
57
57
  /**
58
- *
59
58
  * @param {Object} data
60
59
  */
61
60
  onTriggerClick(data) {
@@ -48,7 +48,6 @@ class Time extends Picker {
48
48
  }}
49
49
 
50
50
  /**
51
- *
52
51
  * @param {Object} config
53
52
  */
54
53
  constructor(config) {
@@ -74,7 +74,6 @@ class Container extends BaseContainer {
74
74
  }
75
75
 
76
76
  /**
77
- *
78
77
  * @param {Object} config
79
78
  */
80
79
  constructor(config) {
@@ -84,7 +83,6 @@ class Container extends BaseContainer {
84
83
  }
85
84
 
86
85
  /**
87
- *
88
86
  * @param columns
89
87
  * @returns {*}
90
88
  */
@@ -108,7 +106,6 @@ class Container extends BaseContainer {
108
106
  }
109
107
 
110
108
  /**
111
- *
112
109
  * Dummy method until we have a data package in place
113
110
  * @param {Number} amountRows
114
111
  */
@@ -165,4 +162,4 @@ class Container extends BaseContainer {
165
162
 
166
163
  Neo.applyClassConfig(Container);
167
164
 
168
- export {Container as default};
165
+ export {Container as default};
@@ -43,7 +43,6 @@ class Toolbar extends BaseToolbar {
43
43
  }}
44
44
 
45
45
  /**
46
- *
47
46
  * @param {Array} items
48
47
  */
49
48
  createItems(items) {
@@ -73,7 +72,6 @@ class Toolbar extends BaseToolbar {
73
72
  }
74
73
 
75
74
  /**
76
- *
77
75
  * @param dock
78
76
  * @returns {String} layoutConfig
79
77
  * @override
@@ -83,7 +81,6 @@ class Toolbar extends BaseToolbar {
83
81
  }
84
82
 
85
83
  /**
86
- *
87
84
  * @returns {Object}
88
85
  */
89
86
  getVdomRoot() {
@@ -91,7 +88,6 @@ class Toolbar extends BaseToolbar {
91
88
  }
92
89
 
93
90
  /**
94
- *
95
91
  * @returns {Object}
96
92
  */
97
93
  getVnodeRoot() {
@@ -101,4 +97,4 @@ class Toolbar extends BaseToolbar {
101
97
 
102
98
  Neo.applyClassConfig(Toolbar);
103
99
 
104
- export {Toolbar as default};
100
+ export {Toolbar as default};
package/src/list/Base.mjs CHANGED
@@ -20,6 +20,10 @@ class Base extends Component {
20
20
  * @protected
21
21
  */
22
22
  ntype: 'list',
23
+ /**
24
+ * @member {Boolean} animate_=false
25
+ */
26
+ animate_: false,
23
27
  /**
24
28
  * True will destroy the used collection / store when the component gets destroyed
25
29
  * @member {Boolean} autoDestroyStore=true
@@ -67,6 +71,11 @@ class Base extends Component {
67
71
  * @member {Object} keys
68
72
  */
69
73
  keys: {},
74
+ /**
75
+ * config values for Neo.list.plugin.Animate
76
+ * @member {Object} pluginAnimateConfig=null
77
+ */
78
+ pluginAnimateConfig: null,
70
79
  /**
71
80
  * Either pass a selection.Model module, an instance or a config object
72
81
  * @member {Object|Neo.selection.Model} selectionModel_=null
@@ -94,7 +103,6 @@ class Base extends Component {
94
103
  }}
95
104
 
96
105
  /**
97
- *
98
106
  * @param {Object} config
99
107
  */
100
108
  constructor(config) {
@@ -110,6 +118,28 @@ class Base extends Component {
110
118
  me.domListeners = domListeners;
111
119
  }
112
120
 
121
+ /**
122
+ * Triggered after the animate config got changed
123
+ * @param {Boolean} value
124
+ * @param {Boolean} oldValue
125
+ * @protected
126
+ */
127
+ afterSetAnimate(value, oldValue) {
128
+ value && import('./plugin/Animate.mjs').then(module => {
129
+ let me = this,
130
+ plugins = me.plugins || [];
131
+
132
+ plugins.push({
133
+ module : module.default,
134
+ appName: me.appName,
135
+ flag : 'animate',
136
+ ...me.pluginAnimateConfig
137
+ });
138
+
139
+ me.plugins = plugins;
140
+ });
141
+ }
142
+
113
143
  /**
114
144
  * Triggered after the disableSelection config got changed
115
145
  * @param {Boolean} value
@@ -236,6 +266,10 @@ class Base extends Component {
236
266
  };
237
267
 
238
268
  switch (Neo.typeOf(itemContent)) {
269
+ case null: {
270
+ return null;
271
+ }
272
+
239
273
  case 'Array': {
240
274
  item.cn = itemContent;
241
275
  break;
@@ -283,12 +317,14 @@ class Base extends Component {
283
317
  */
284
318
  createItems(silent=false) {
285
319
  let me = this,
286
- vdom = me.vdom;
320
+ vdom = me.vdom,
321
+ listItem;
287
322
 
288
323
  vdom.cn = [];
289
324
 
290
325
  me.store.items.forEach((item, index) => {
291
- vdom.cn.push(me.createItem(item, index));
326
+ listItem = me.createItem(item, index);
327
+ listItem && vdom.cn.push(listItem);
292
328
  });
293
329
 
294
330
  if (silent) {
@@ -327,7 +363,6 @@ class Base extends Component {
327
363
  }
328
364
 
329
365
  /**
330
- *
331
366
  * @param {Number|String} recordId
332
367
  * @returns {String}
333
368
  */
@@ -336,7 +371,6 @@ class Base extends Component {
336
371
  }
337
372
 
338
373
  /**
339
- *
340
374
  * @param {String} vnodeId
341
375
  * @returns {String|Number} itemId
342
376
  */
@@ -361,7 +395,6 @@ class Base extends Component {
361
395
  }
362
396
 
363
397
  /**
364
- *
365
398
  * @param {Object} data
366
399
  */
367
400
  onClick(data) {
@@ -390,7 +423,6 @@ class Base extends Component {
390
423
  }
391
424
 
392
425
  /**
393
- *
394
426
  * @param {Object} data
395
427
  */
396
428
  onContainerClick(data) {
@@ -406,7 +438,6 @@ class Base extends Component {
406
438
  }
407
439
 
408
440
  /**
409
- *
410
441
  * @param {Object} node
411
442
  * @param {Object} data
412
443
  */
@@ -66,7 +66,6 @@ class Color extends Base {
66
66
  }
67
67
 
68
68
  /**
69
- *
70
69
  * @param {Number|String} recordId
71
70
  * @returns {String}
72
71
  */
@@ -75,7 +74,6 @@ class Color extends Base {
75
74
  }
76
75
 
77
76
  /**
78
- *
79
77
  * @param {Number|String} recordId
80
78
  * @returns {String}
81
79
  */
@@ -84,7 +82,6 @@ class Color extends Base {
84
82
  }
85
83
 
86
84
  /**
87
- *
88
85
  * @param {String[]} items
89
86
  */
90
87
  onSelect(items) {
@@ -53,7 +53,6 @@ class Component extends Base {
53
53
  }
54
54
 
55
55
  /**
56
- *
57
56
  * @param {Number} index
58
57
  * @returns {String}
59
58
  */
@@ -62,7 +61,6 @@ class Component extends Base {
62
61
  }
63
62
 
64
63
  /**
65
- *
66
64
  * @param {Number|String} recordId
67
65
  * @returns {String}
68
66
  */
@@ -71,7 +69,6 @@ class Component extends Base {
71
69
  }
72
70
 
73
71
  /**
74
- *
75
72
  * @param {String} vnodeId
76
73
  * @returns {String|Number} itemId
77
74
  */
@@ -0,0 +1,176 @@
1
+ import Base from '../../plugin/Base.mjs';
2
+
3
+ /**
4
+ * @class Neo.list.plugin.Animate
5
+ * @extends Neo.plugin.Base
6
+ */
7
+ class Animate extends Base {
8
+ static getConfig() {return {
9
+ /**
10
+ * @member {String} className='Neo.list.plugin.Animate'
11
+ * @protected
12
+ */
13
+ className: 'Neo.list.plugin.Animate',
14
+ /**
15
+ * Read only
16
+ * @member {Number|null} columns=null
17
+ */
18
+ columns: null,
19
+ /**
20
+ * Value in px
21
+ * @member {Number} itemHeight=200
22
+ */
23
+ itemHeight: 200,
24
+ /**
25
+ * Value in px
26
+ * @member {Number} itemMargin=10
27
+ */
28
+ itemMargin: 10,
29
+ /**
30
+ * Value in px
31
+ * @member {Number} itemWidth=300
32
+ */
33
+ itemWidth: 300,
34
+ /**
35
+ * @member {DOMRect|null} ownerRect=null
36
+ */
37
+ ownerRect: null,
38
+ /**
39
+ * Read only
40
+ * @member {Number|null} rows=null
41
+ */
42
+ rows: null
43
+ }}
44
+
45
+ /**
46
+ * @param {Object} config
47
+ */
48
+ constructor(config) {
49
+ super(config);
50
+
51
+ let me = this;
52
+
53
+ me.adjustCreateItem();
54
+
55
+ me.owner.store.on({
56
+ filter: me.onFilter,
57
+ sort : me.onSort,
58
+ scope : me
59
+ });
60
+ }
61
+
62
+ /**
63
+ *
64
+ */
65
+ adjustCreateItem() {
66
+ let me = this,
67
+ owner = me.owner;
68
+
69
+ me.ownerCreateItem = owner.createItem.bind(owner);
70
+ owner.createItem = me.createItem.bind(owner, me);
71
+ }
72
+
73
+ /**
74
+ * @param {Neo.list.plugin.Animate} me
75
+ * @param {Object} record
76
+ * @param {Number} index
77
+ * @returns {Object}
78
+ */
79
+ createItem(me, record, index) {
80
+ let item = me.ownerCreateItem(record, index),
81
+ itemHeight = me.itemHeight,
82
+ itemWidth = me.itemWidth,
83
+ margin = me.itemMargin,
84
+ style = item.style || {},
85
+ column, row, x, y;
86
+
87
+ if (!me.ownerRect) {
88
+ return null;
89
+ }
90
+
91
+ column = index % me.columns;
92
+ row = Math.floor(index / me.columns);
93
+ x = column * (margin + itemWidth) + margin;
94
+ y = row * (margin + itemHeight) + margin;
95
+
96
+ Object.assign(style, {
97
+ height : `${itemHeight}px`,
98
+ position : 'absolute',
99
+ transform: `translate(${x}px, ${y}px)`,
100
+ width : `${itemWidth}px`
101
+ });
102
+
103
+ item.style = style;
104
+
105
+ return item;
106
+ }
107
+
108
+ /**
109
+ * @param {Object} data
110
+ */
111
+ onFilter(data) {
112
+ console.log('onFilter', data);
113
+ }
114
+
115
+ /**
116
+ *
117
+ */
118
+ onOwnerMounted() {
119
+ let me = this;
120
+
121
+ Neo.main.DomAccess.getBoundingClientRect({
122
+ id: me.owner.id
123
+ }).then(rect => {
124
+ Object.assign(me, {
125
+ columns : Math.floor(rect.width / me.itemWidth),
126
+ ownerRect: rect,
127
+ rows : Math.floor(rect.height / me.itemHeight)
128
+ });
129
+ });
130
+ }
131
+
132
+ /**
133
+ * @param {Object} data
134
+ * @param {Object[]} data.items
135
+ * @param {Object[]} data.previousItems
136
+ * @param {Neo.data.Store} data.scope
137
+ */
138
+ onSort(data) {
139
+ let me = this,
140
+ hasChange = false,
141
+ keyProperty = data.scope.keyProperty,
142
+ owner = me.owner,
143
+ newVdomCn = [],
144
+ vdom = owner.vdom,
145
+ vdomMap = vdom.cn.map(e => e.id),
146
+ fromIndex, itemId;
147
+
148
+ if (vdomMap.length > 0) {
149
+ data.items.forEach((item, index) => {
150
+ itemId = owner.getItemId(item[keyProperty]);
151
+ fromIndex = vdomMap.indexOf(itemId);
152
+
153
+ newVdomCn.push(vdom.cn[fromIndex]);
154
+
155
+ if (fromIndex !== index) {
156
+ hasChange = true;
157
+ }
158
+ });
159
+
160
+ if (hasChange) {
161
+ owner.vdom.cn = newVdomCn;
162
+
163
+ owner.promiseVdomUpdate().then(() => {
164
+ // we need to ensure to get this call into the next animation frame
165
+ setTimeout(() => {
166
+ owner.createItems();
167
+ }, 50);
168
+ });
169
+ }
170
+ }
171
+ }
172
+ }
173
+
174
+ Neo.applyClassConfig(Animate);
175
+
176
+ export {Animate as default};