neo.mjs 6.17.2 → 6.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/apps/ServiceWorker.mjs +3 -5
  2. package/apps/colors/README.md +8 -0
  3. package/apps/colors/app.mjs +6 -0
  4. package/apps/colors/childapps/widget/app.mjs +7 -0
  5. package/apps/colors/childapps/widget/index.html +11 -0
  6. package/apps/colors/childapps/widget/neo-config.json +10 -0
  7. package/apps/colors/childapps/widget/view/Viewport.mjs +19 -0
  8. package/apps/colors/index.html +11 -0
  9. package/apps/colors/model/Color.mjs +43 -0
  10. package/apps/colors/neo-config.json +10 -0
  11. package/apps/colors/remotes-api.json +13 -0
  12. package/apps/colors/store/Colors.mjs +24 -0
  13. package/apps/colors/view/BarChartComponent.mjs +64 -0
  14. package/apps/colors/view/HeaderToolbar.mjs +95 -0
  15. package/apps/colors/view/PieChartComponent.mjs +58 -0
  16. package/apps/colors/view/TableContainer.mjs +91 -0
  17. package/apps/colors/view/Viewport.mjs +57 -0
  18. package/apps/colors/view/ViewportController.mjs +277 -0
  19. package/apps/colors/view/ViewportModel.mjs +53 -0
  20. package/apps/portal/Util.mjs +11 -0
  21. package/apps/portal/childapps/preview/neo-config.json +2 -2
  22. package/apps/portal/neo-config.json +2 -1
  23. package/apps/portal/remotes-api.json +13 -0
  24. package/apps/portal/view/HeaderToolbar.mjs +1 -1
  25. package/apps/portal/view/ViewportController.mjs +89 -1
  26. package/apps/portal/view/home/MainContainer.mjs +34 -6
  27. package/apps/portal/view/home/parts/AfterMath.mjs +1 -1
  28. package/apps/portal/view/home/parts/Colors.mjs +98 -0
  29. package/apps/portal/view/home/parts/Helix.mjs +114 -0
  30. package/apps/portal/view/home/parts/HelloWorld.mjs +6 -3
  31. package/apps/portal/view/home/parts/How.mjs +66 -0
  32. package/apps/portal/view/home/parts/MainNeo.mjs +4 -3
  33. package/apps/portal/view/learn/LivePreview.mjs +56 -15
  34. package/apps/portal/view/learn/MainContainerController.mjs +10 -90
  35. package/apps/realworld/api/Article.mjs +1 -3
  36. package/apps/realworld/api/Favorite.mjs +1 -3
  37. package/apps/realworld/api/Profile.mjs +1 -3
  38. package/apps/realworld/api/Tag.mjs +1 -3
  39. package/apps/realworld/api/User.mjs +1 -3
  40. package/apps/realworld2/api/Article.mjs +1 -3
  41. package/apps/realworld2/api/Favorite.mjs +1 -3
  42. package/apps/realworld2/api/Profile.mjs +1 -3
  43. package/apps/realworld2/api/Tag.mjs +1 -3
  44. package/apps/realworld2/api/User.mjs +1 -3
  45. package/apps/realworld2/view/article/HelixContainer.mjs +5 -5
  46. package/buildScripts/webpack/json/myApps.template.json +1 -0
  47. package/docs/app/view/MainContainer.mjs +5 -0
  48. package/docs/app/view/classdetails/MembersList.mjs +1 -1
  49. package/examples/ServiceWorker.mjs +3 -5
  50. package/examples/component/helix/Viewport.mjs +309 -0
  51. package/examples/component/helix/ViewportController.mjs +122 -0
  52. package/examples/component/helix/app.mjs +2 -2
  53. package/examples/component/helix/neo-config.json +0 -1
  54. package/examples/component/multiWindowHelix/Viewport.mjs +11 -3
  55. package/examples/component/multiWindowHelix/ViewportController.mjs +21 -9
  56. package/examples/component/multiWindowHelix/neo-config.json +0 -1
  57. package/examples/fieldWithPrefix/MainContainer.mjs +1 -6
  58. package/examples/list/animate/MainContainerController.mjs +1 -1
  59. package/examples/worker/task/MyTasks.mjs +1 -3
  60. package/package.json +2 -2
  61. package/resources/data/deck/learnneo/pages/Events.md +15 -9
  62. package/resources/data/deck/learnneo/pages/GuideEvents.md +254 -0
  63. package/resources/data/deck/learnneo/pages/WhyNeo-Speed.md +1 -1
  64. package/resources/images/logo/neo_logo_primary.svg +6 -0
  65. package/resources/images/logo/neo_logo_text_primary.svg +5 -0
  66. package/resources/scss/src/apps/colors/BarChartComponent.scss +3 -0
  67. package/resources/scss/src/apps/colors/HeaderToolbar.scss +11 -0
  68. package/resources/scss/src/apps/colors/PieChartComponent.scss +3 -0
  69. package/resources/scss/src/apps/colors/TableContainer.scss +64 -0
  70. package/resources/scss/src/apps/colors/Viewport.scss +9 -0
  71. package/resources/scss/src/apps/portal/HeaderToolbar.scss +142 -124
  72. package/resources/scss/src/apps/portal/home/MainContainer.scss +9 -22
  73. package/resources/scss/src/apps/portal/home/parts/MainNeo.scss +22 -0
  74. package/resources/scss/src/apps/portal/home/preview/PageCodeContainer.scss +1 -1
  75. package/resources/scss/src/examples/component/multiWindowHelix/Viewport.scss +3 -0
  76. package/resources/scss/src/form/field/CheckBox.scss +1 -0
  77. package/resources/scss/src/tab/header/Button.scss +2 -1
  78. package/resources/scss/theme-dark/Global.scss +8 -0
  79. package/resources/scss/theme-dark/button/Base.scss +1 -1
  80. package/resources/scss/theme-dark/tab/header/Button.scss +1 -0
  81. package/resources/scss/theme-light/Global.scss +8 -0
  82. package/resources/scss/theme-light/button/Base.scss +1 -1
  83. package/resources/scss/theme-light/tab/header/Button.scss +1 -0
  84. package/resources/scss/theme-neo-light/Global.scss +53 -53
  85. package/resources/scss/theme-neo-light/button/Base.scss +3 -4
  86. package/resources/scss/theme-neo-light/tab/header/Button.scss +6 -8
  87. package/src/DefaultConfig.mjs +2 -2
  88. package/src/Fetch.mjs +1 -3
  89. package/src/Main.mjs +13 -11
  90. package/src/MicroLoader.mjs +2 -2
  91. package/src/Neo.mjs +27 -26
  92. package/src/Xhr.mjs +1 -3
  93. package/src/button/Base.mjs +6 -4
  94. package/src/button/Split.mjs +10 -9
  95. package/src/calendar/view/EditEventContainer.mjs +13 -12
  96. package/src/calendar/view/MainContainer.mjs +40 -40
  97. package/src/calendar/view/MainContainerModel.mjs +5 -5
  98. package/src/calendar/view/SettingsContainer.mjs +11 -11
  99. package/src/calendar/view/YearComponent.mjs +73 -75
  100. package/src/calendar/view/calendars/ColorsList.mjs +2 -2
  101. package/src/calendar/view/calendars/EditContainer.mjs +2 -2
  102. package/src/calendar/view/calendars/List.mjs +12 -13
  103. package/src/calendar/view/month/Component.mjs +72 -73
  104. package/src/calendar/view/settings/GeneralContainer.mjs +5 -5
  105. package/src/calendar/view/settings/MonthContainer.mjs +5 -5
  106. package/src/calendar/view/settings/WeekContainer.mjs +6 -6
  107. package/src/calendar/view/settings/YearContainer.mjs +4 -4
  108. package/src/calendar/view/week/Component.mjs +47 -57
  109. package/src/calendar/view/week/EventDragZone.mjs +43 -50
  110. package/src/calendar/view/week/TimeAxisComponent.mjs +21 -21
  111. package/src/calendar/view/week/plugin/DragDrop.mjs +53 -45
  112. package/src/calendar/view/week/plugin/EventResizable.mjs +8 -3
  113. package/src/collection/Base.mjs +15 -22
  114. package/src/collection/Filter.mjs +4 -9
  115. package/src/collection/Sorter.mjs +6 -7
  116. package/src/component/Base.mjs +73 -41
  117. package/src/component/Canvas.mjs +9 -9
  118. package/src/component/Carousel.mjs +31 -33
  119. package/src/component/Chip.mjs +9 -9
  120. package/src/component/Circle.mjs +84 -91
  121. package/src/component/Clock.mjs +8 -8
  122. package/src/component/DateSelector.mjs +14 -15
  123. package/src/component/Gallery.mjs +82 -80
  124. package/src/component/Helix.mjs +131 -126
  125. package/src/component/Iframe.mjs +1 -1
  126. package/src/component/Label.mjs +1 -1
  127. package/src/component/Legend.mjs +3 -3
  128. package/src/component/Process.mjs +39 -37
  129. package/src/component/Splitter.mjs +9 -11
  130. package/src/component/StatusBadge.mjs +2 -3
  131. package/src/component/Timer.mjs +62 -68
  132. package/src/component/Toast.mjs +11 -11
  133. package/src/component/Video.mjs +7 -8
  134. package/src/component/mwc/Button.mjs +10 -10
  135. package/src/component/mwc/TextField.mjs +17 -17
  136. package/src/component/wrapper/AmChart.mjs +5 -5
  137. package/src/component/wrapper/CesiumJS.mjs +11 -17
  138. package/src/component/wrapper/GoogleMaps.mjs +58 -35
  139. package/src/component/wrapper/MapboxGL.mjs +112 -79
  140. package/src/container/Accordion.mjs +18 -20
  141. package/src/container/AccordionItem.mjs +12 -11
  142. package/src/container/Base.mjs +24 -23
  143. package/src/container/Panel.mjs +9 -9
  144. package/src/controller/Base.mjs +12 -14
  145. package/src/controller/Component.mjs +60 -66
  146. package/src/core/Base.mjs +5 -8
  147. package/src/core/IdGenerator.mjs +1 -3
  148. package/src/core/Observable.mjs +40 -24
  149. package/src/core/Util.mjs +5 -5
  150. package/src/data/Model.mjs +3 -3
  151. package/src/data/RecordFactory.mjs +3 -6
  152. package/src/data/Store.mjs +34 -34
  153. package/src/data/connection/Fetch.mjs +3 -3
  154. package/src/data/connection/WebSocket.mjs +21 -25
  155. package/src/data/connection/Xhr.mjs +31 -28
  156. package/src/date/DayViewComponent.mjs +1 -1
  157. package/src/date/SelectorContainer.mjs +2 -2
  158. package/src/dialog/Base.mjs +27 -25
  159. package/src/dialog/header/Toolbar.mjs +5 -4
  160. package/src/draggable/DragProxyComponent.mjs +7 -4
  161. package/src/draggable/DragZone.mjs +30 -30
  162. package/src/draggable/DropZone.mjs +7 -7
  163. package/src/draggable/list/DragZone.mjs +18 -18
  164. package/src/draggable/tab/header/toolbar/SortZone.mjs +7 -7
  165. package/src/draggable/toolbar/DragZone.mjs +15 -15
  166. package/src/draggable/toolbar/SortZone.mjs +30 -31
  167. package/src/draggable/tree/DragZone.mjs +9 -9
  168. package/src/filter/BooleanContainer.mjs +3 -3
  169. package/src/filter/NumberContainer.mjs +5 -5
  170. package/src/filter/ToggleOperatorsButton.mjs +5 -5
  171. package/src/form/Fieldset.mjs +26 -26
  172. package/src/form/field/Base.mjs +1 -1
  173. package/src/form/field/CheckBox.mjs +15 -16
  174. package/src/form/field/Color.mjs +13 -15
  175. package/src/form/field/ComboBox.mjs +16 -24
  176. package/src/form/field/Country.mjs +1 -1
  177. package/src/form/field/Date.mjs +3 -4
  178. package/src/form/field/Display.mjs +1 -1
  179. package/src/form/field/Email.mjs +2 -2
  180. package/src/form/field/Number.mjs +51 -56
  181. package/src/form/field/Picker.mjs +2 -2
  182. package/src/form/field/Radio.mjs +1 -1
  183. package/src/form/field/Range.mjs +7 -6
  184. package/src/form/field/Text.mjs +29 -36
  185. package/src/form/field/TextArea.mjs +9 -9
  186. package/src/form/field/Time.mjs +30 -30
  187. package/src/form/field/trigger/Base.mjs +19 -13
  188. package/src/form/field/trigger/Clear.mjs +13 -13
  189. package/src/form/field/trigger/CopyToClipboard.mjs +7 -7
  190. package/src/form/field/trigger/Picker.mjs +2 -2
  191. package/src/form/field/trigger/SpinDown.mjs +1 -1
  192. package/src/form/field/trigger/SpinUp.mjs +1 -1
  193. package/src/form/field/trigger/SpinUpDown.mjs +3 -3
  194. package/src/form/field/trigger/Time.mjs +3 -3
  195. package/src/grid/Container.mjs +33 -33
  196. package/src/grid/View.mjs +20 -22
  197. package/src/grid/header/Button.mjs +12 -12
  198. package/src/grid/header/Toolbar.mjs +4 -4
  199. package/src/layout/Base.mjs +5 -4
  200. package/src/layout/Card.mjs +15 -16
  201. package/src/layout/Fit.mjs +22 -8
  202. package/src/layout/Flexbox.mjs +30 -29
  203. package/src/layout/Form.mjs +15 -15
  204. package/src/layout/Grid.mjs +2 -2
  205. package/src/layout/HBox.mjs +3 -2
  206. package/src/layout/VBox.mjs +3 -2
  207. package/src/list/Base.mjs +45 -47
  208. package/src/list/Chip.mjs +4 -4
  209. package/src/list/Circle.mjs +3 -3
  210. package/src/list/Color.mjs +4 -4
  211. package/src/list/Component.mjs +10 -10
  212. package/src/list/plugin/Animate.mjs +18 -13
  213. package/src/main/DomAccess.mjs +92 -56
  214. package/src/main/DomEvents.mjs +38 -39
  215. package/src/main/addon/AmCharts.mjs +37 -37
  216. package/src/main/addon/AnalyticsByGoogle.mjs +4 -4
  217. package/src/main/addon/CesiumJS.mjs +8 -8
  218. package/src/main/addon/CloneNode.mjs +5 -5
  219. package/src/main/addon/Cookie.mjs +4 -4
  220. package/src/main/addon/DragDrop.mjs +35 -34
  221. package/src/main/addon/GoogleMaps.mjs +19 -19
  222. package/src/main/addon/IntersectionObserver.mjs +20 -1
  223. package/src/main/addon/LocalStorage.mjs +3 -3
  224. package/src/main/addon/MapboxGL.mjs +40 -41
  225. package/src/main/addon/MonacoEditor.mjs +5 -5
  226. package/src/main/addon/Mwc.mjs +6 -6
  227. package/src/main/addon/Navigator.mjs +35 -39
  228. package/src/main/addon/Popover.mjs +5 -6
  229. package/src/main/addon/PrefixField.mjs +1 -2
  230. package/src/main/addon/ServiceWorker.mjs +9 -9
  231. package/src/main/addon/Siesta.mjs +3 -2
  232. package/src/main/addon/Stylesheet.mjs +37 -37
  233. package/src/main/addon/WebComponent.mjs +2 -3
  234. package/src/main/addon/WindowPosition.mjs +18 -18
  235. package/src/main/draggable/sensor/Base.mjs +2 -2
  236. package/src/main/draggable/sensor/Mouse.mjs +15 -15
  237. package/src/main/draggable/sensor/Touch.mjs +24 -23
  238. package/src/main/mixin/DeltaUpdates.mjs +10 -12
  239. package/src/main/mixin/TouchDomEvents.mjs +6 -6
  240. package/src/manager/Base.mjs +4 -4
  241. package/src/manager/Component.mjs +41 -41
  242. package/src/manager/DomEvent.mjs +41 -44
  243. package/src/manager/Focus.mjs +14 -16
  244. package/src/manager/Instance.mjs +2 -4
  245. package/src/manager/Store.mjs +4 -8
  246. package/src/manager/Task.mjs +20 -22
  247. package/src/manager/Toast.mjs +14 -16
  248. package/src/manager/rpc/Api.mjs +1 -3
  249. package/src/manager/rpc/Message.mjs +16 -18
  250. package/src/menu/List.mjs +16 -16
  251. package/src/menu/Panel.mjs +4 -4
  252. package/src/model/Component.mjs +16 -14
  253. package/src/plugin/Base.mjs +2 -0
  254. package/src/plugin/Popover.mjs +1 -1
  255. package/src/plugin/PrefixField.mjs +35 -45
  256. package/src/plugin/Resizable.mjs +86 -101
  257. package/src/plugin/Responsive.mjs +1 -1
  258. package/src/remotes/Api.mjs +4 -6
  259. package/src/selection/CircleModel.mjs +12 -16
  260. package/src/selection/DateSelectorModel.mjs +21 -23
  261. package/src/selection/GalleryModel.mjs +49 -63
  262. package/src/selection/HelixModel.mjs +35 -41
  263. package/src/selection/ListModel.mjs +9 -14
  264. package/src/selection/Model.mjs +31 -31
  265. package/src/selection/TreeAccordionModel.mjs +74 -80
  266. package/src/selection/grid/CellColumnModel.mjs +10 -10
  267. package/src/selection/grid/CellColumnRowModel.mjs +10 -10
  268. package/src/selection/grid/CellModel.mjs +26 -28
  269. package/src/selection/grid/CellRowModel.mjs +24 -24
  270. package/src/selection/grid/ColumnModel.mjs +16 -20
  271. package/src/selection/grid/RowModel.mjs +27 -29
  272. package/src/selection/menu/ListModel.mjs +2 -2
  273. package/src/selection/table/CellColumnModel.mjs +12 -12
  274. package/src/selection/table/CellColumnRowModel.mjs +12 -12
  275. package/src/selection/table/CellModel.mjs +26 -29
  276. package/src/selection/table/CellRowModel.mjs +19 -19
  277. package/src/selection/table/ColumnModel.mjs +18 -22
  278. package/src/selection/table/RowModel.mjs +27 -29
  279. package/src/sitemap/Component.mjs +20 -20
  280. package/src/sitemap/Store.mjs +1 -1
  281. package/src/tab/Container.mjs +15 -15
  282. package/src/tab/Strip.mjs +1 -1
  283. package/src/tab/header/Toolbar.mjs +4 -4
  284. package/src/table/Container.mjs +8 -10
  285. package/src/table/View.mjs +29 -34
  286. package/src/table/header/Button.mjs +18 -18
  287. package/src/table/header/Toolbar.mjs +2 -2
  288. package/src/toolbar/Base.mjs +14 -14
  289. package/src/toolbar/Breadcrumb.mjs +11 -11
  290. package/src/toolbar/Paging.mjs +18 -18
  291. package/src/tooltip/Base.mjs +20 -22
  292. package/src/tree/Accordion.mjs +69 -75
  293. package/src/tree/List.mjs +22 -25
  294. package/src/util/Array.mjs +19 -18
  295. package/src/util/ClassSystem.mjs +9 -9
  296. package/src/util/Css.mjs +2 -2
  297. package/src/util/Date.mjs +9 -9
  298. package/src/util/Function.mjs +2 -2
  299. package/src/util/HashHistory.mjs +3 -5
  300. package/src/util/KeyNavigation.mjs +17 -17
  301. package/src/util/Logger.mjs +9 -9
  302. package/src/util/Matrix.mjs +19 -19
  303. package/src/util/String.mjs +9 -9
  304. package/src/util/Style.mjs +11 -11
  305. package/src/util/VDom.mjs +12 -14
  306. package/src/util/VNode.mjs +29 -29
  307. package/src/vdom/Helper.mjs +84 -93
  308. package/src/vdom/VNode.mjs +1 -1
  309. package/src/worker/App.mjs +19 -16
  310. package/src/worker/Base.mjs +14 -15
  311. package/src/worker/Canvas.mjs +1 -3
  312. package/src/worker/Data.mjs +4 -8
  313. package/src/worker/Manager.mjs +27 -32
  314. package/src/worker/Message.mjs +1 -1
  315. package/src/worker/ServiceBase.mjs +38 -42
  316. package/src/worker/Task.mjs +1 -3
  317. package/src/worker/VDom.mjs +2 -4
  318. package/src/worker/mixin/RemoteMethodAccess.mjs +5 -6
  319. package/apps/portal/view/home/parts/CoolStuff.mjs +0 -82
  320. package/examples/component/helix/MainContainer.mjs +0 -340
  321. /package/resources/images/{Neo_Logo_Blue.svg → logo/neo_logo_secondary.svg} +0 -0
  322. /package/resources/images/{Neo_Logo_Text.svg → logo/neo_logo_text_secondary.svg} +0 -0
  323. /package/resources/images/{Neo_Logo_White.svg → logo/neo_logo_white.svg} +0 -0
@@ -57,7 +57,7 @@ class GoogleMaps extends Base {
57
57
  */
58
58
  construct(config) {
59
59
  super.construct(config);
60
- this.loadApi();
60
+ this.loadApi()
61
61
  }
62
62
 
63
63
  /**
@@ -71,15 +71,15 @@ class GoogleMaps extends Base {
71
71
  * @param {String} [data.title]
72
72
  */
73
73
  addMarker(data) {
74
- let me = this,
75
- mapId = data.mapId,
74
+ let me = this,
75
+ {mapId} = data,
76
76
  listenerId, marker;
77
77
 
78
78
  if (!me.maps[mapId]) {
79
79
  listenerId = me.on('mapCreated', id => {
80
80
  if (mapId === id) {
81
81
  me.un(listenerId);
82
- me.addMarker(data);
82
+ me.addMarker(data)
83
83
  }
84
84
  })
85
85
  } else {
@@ -95,7 +95,7 @@ class GoogleMaps extends Base {
95
95
  title : data.title,
96
96
  });
97
97
 
98
- marker.addListener('click', me.onMarkerClick.bind(me, marker));
98
+ marker.addListener('click', me.onMarkerClick.bind(me, marker))
99
99
  }
100
100
  }
101
101
 
@@ -111,8 +111,8 @@ class GoogleMaps extends Base {
111
111
  * @param {Boolean} data.zoomControl
112
112
  */
113
113
  create(data) {
114
- let me = this,
115
- id = data.id,
114
+ let me = this,
115
+ {id} = data,
116
116
  map;
117
117
 
118
118
  me.maps[id] = map = new google.maps.Map(DomAccess.getElement(id), {
@@ -127,7 +127,7 @@ class GoogleMaps extends Base {
127
127
 
128
128
  map.addListener('zoom_changed', me.onMapZoomChange.bind(me, map, id));
129
129
 
130
- me.fire('mapCreated', id);
130
+ me.fire('mapCreated', id)
131
131
  }
132
132
 
133
133
  /**
@@ -140,7 +140,7 @@ class GoogleMaps extends Base {
140
140
  markers = me.markers[data.mapId] || {};
141
141
 
142
142
  Object.values(markers).forEach(marker => marker.setMap(null));
143
- delete me.markers[data.mapId];
143
+ delete me.markers[data.mapId]
144
144
  }
145
145
 
146
146
  /**
@@ -156,12 +156,12 @@ class GoogleMaps extends Base {
156
156
  response;
157
157
 
158
158
  if (!me.geoCoder) {
159
- me.geoCoder = new google.maps.Geocoder();
159
+ me.geoCoder = new google.maps.Geocoder()
160
160
  }
161
161
 
162
162
  response = await me.geoCoder.geocode(data);
163
163
 
164
- return JSON.parse(JSON.stringify(response));
164
+ return JSON.parse(JSON.stringify(response))
165
165
  }
166
166
 
167
167
  /**
@@ -170,7 +170,7 @@ class GoogleMaps extends Base {
170
170
  * @param {String} data.mapId
171
171
  */
172
172
  hideMarker(data) {
173
- this.markers[data.mapId][data.id].setMap(null);
173
+ this.markers[data.mapId][data.id].setMap(null)
174
174
  }
175
175
 
176
176
  /**
@@ -181,7 +181,7 @@ class GoogleMaps extends Base {
181
181
  url = ' https://maps.googleapis.com/maps/api/js';
182
182
 
183
183
  DomAccess.loadScript(`${url}?key=${key}&v=weekly&callback=Neo.emptyFn`).then(() => {
184
- console.log('GoogleMaps API loaded');
184
+ console.log('GoogleMaps API loaded')
185
185
  })
186
186
  }
187
187
 
@@ -220,7 +220,7 @@ class GoogleMaps extends Base {
220
220
  * @param {Object} data.position
221
221
  */
222
222
  panTo(data) {
223
- this.maps[data.mapId].panTo(data.position);
223
+ this.maps[data.mapId].panTo(data.position)
224
224
  }
225
225
 
226
226
  /**
@@ -229,7 +229,7 @@ class GoogleMaps extends Base {
229
229
  */
230
230
  removeMap(data) {
231
231
  delete this.maps[data.mapId];
232
- delete this.markers[data.mapId];
232
+ delete this.markers[data.mapId]
233
233
  }
234
234
 
235
235
  /**
@@ -241,7 +241,7 @@ class GoogleMaps extends Base {
241
241
  let markers = this.markers[data.mapId];
242
242
 
243
243
  markers[data.id].setMap(null);
244
- delete markers[data.id];
244
+ delete markers[data.id]
245
245
  }
246
246
 
247
247
  /**
@@ -250,7 +250,7 @@ class GoogleMaps extends Base {
250
250
  * @param {Object} data.value
251
251
  */
252
252
  setCenter(data) {
253
- this.maps[data.id].setCenter(data.value);
253
+ this.maps[data.id].setCenter(data.value)
254
254
  }
255
255
 
256
256
  /**
@@ -259,7 +259,7 @@ class GoogleMaps extends Base {
259
259
  * @param {Number} data.value
260
260
  */
261
261
  setZoom(data) {
262
- this.maps[data.id].setZoom(data.value);
262
+ this.maps[data.id].setZoom(data.value)
263
263
  }
264
264
 
265
265
  /**
@@ -268,7 +268,7 @@ class GoogleMaps extends Base {
268
268
  * @param {String} data.mapId
269
269
  */
270
270
  showMarker(data) {
271
- this.markers[data.mapId][data.id].setMap(this.maps[data.mapId]);
271
+ this.markers[data.mapId][data.id].setMap(this.maps[data.mapId])
272
272
  }
273
273
  }
274
274
 
@@ -77,6 +77,25 @@ class NeoIntersectionObserver extends Base {
77
77
  })
78
78
  }
79
79
 
80
+ /**
81
+ * @param {IntersectionObserverEntry[]} entries
82
+ * @param {IntersectionObserver} observer
83
+ */
84
+ isVisible(entries, observer) {
85
+ let me = this,
86
+ data, path, target;
87
+
88
+ entries.forEach(entry => {
89
+ target = entry.target;
90
+ data = target.dataset && {...target.dataset} || null;
91
+ path = DomEvents.getPathFromElement(entry.target).map(e => DomEvents.getTargetData(e));
92
+
93
+ if (entry.isIntersecting) {
94
+ me.sendMessage({data, id: observer.rootId, isIntersecting: true, path, targetId: target.id})
95
+ }
96
+ })
97
+ }
98
+
80
99
  /**
81
100
  * Add more or new items into an existing observer instance
82
101
  * @param {Object} data
@@ -128,7 +147,7 @@ class NeoIntersectionObserver extends Base {
128
147
  */
129
148
  register(data) {
130
149
  let me = this,
131
- cache = me.cache,
150
+ {cache} = me,
132
151
  {id, observe} = data,
133
152
  observer;
134
153
 
@@ -35,7 +35,7 @@ class LocalStorage extends Base {
35
35
  * @param {String} opts.value
36
36
  */
37
37
  createLocalStorageItem(opts) {
38
- this.updateLocalStorageItem(opts);
38
+ this.updateLocalStorageItem(opts)
39
39
  }
40
40
 
41
41
  /**
@@ -44,7 +44,7 @@ class LocalStorage extends Base {
44
44
  * @param {String} opts.key
45
45
  */
46
46
  destroyLocalStorageItem(opts) {
47
- window.localStorage.removeItem(opts.key);
47
+ window.localStorage.removeItem(opts.key)
48
48
  }
49
49
 
50
50
  /**
@@ -66,7 +66,7 @@ class LocalStorage extends Base {
66
66
  * @param {String} opts.value
67
67
  */
68
68
  updateLocalStorageItem(opts) {
69
- window.localStorage.setItem(opts.key, opts.value);
69
+ window.localStorage.setItem(opts.key, opts.value)
70
70
  }
71
71
  }
72
72
 
@@ -106,8 +106,7 @@ class MapboxGL extends Base {
106
106
  */
107
107
  construct(config) {
108
108
  super.construct(config);
109
-
110
- this.insertMapboxGLScripts();
109
+ this.insertMapboxGLScripts()
111
110
  }
112
111
 
113
112
  /**
@@ -125,10 +124,10 @@ class MapboxGL extends Base {
125
124
  beforeId = item.beforeId;
126
125
  delete item.beforeId;
127
126
 
128
- map.addLayer(item, beforeId);
129
- });
127
+ map.addLayer(item, beforeId)
128
+ })
130
129
  } else {
131
- me.layers[data.id] = Object.assign(me.layers[data.id] || {}, data);
130
+ me.layers[data.id] = Object.assign(me.layers[data.id] || {}, data)
132
131
  }
133
132
  }
134
133
 
@@ -147,10 +146,10 @@ class MapboxGL extends Base {
147
146
  id = item.id;
148
147
  delete item.id;
149
148
 
150
- map.addSource(id, item);
151
- });
149
+ map.addSource(id, item)
150
+ })
152
151
  } else {
153
- me.sources[data.id] = Object.assign(me.sources[data.id] || {}, data);
152
+ me.sources[data.id] = Object.assign(me.sources[data.id] || {}, data)
154
153
  }
155
154
  }
156
155
 
@@ -168,7 +167,7 @@ class MapboxGL extends Base {
168
167
  me.create(config);
169
168
  });
170
169
 
171
- me.mapsToCreate = [];
170
+ me.mapsToCreate = []
172
171
  }
173
172
  }
174
173
 
@@ -179,14 +178,14 @@ class MapboxGL extends Base {
179
178
  */
180
179
  applyStyleObject(map, styleJson, name) {
181
180
  if (name) {
182
- this.styleMap[name] = styleJson;
181
+ this.styleMap[name] = styleJson
183
182
  }
184
183
 
185
184
  styleJson.layers.forEach(layer => {
186
185
  Object.entries(layer.paint).forEach(([key, value]) => {
187
- map.setPaintProperty(layer.id, key, value);
188
- });
189
- });
186
+ map.setPaintProperty(layer.id, key, value)
187
+ })
188
+ })
190
189
  }
191
190
 
192
191
  /**
@@ -198,7 +197,7 @@ class MapboxGL extends Base {
198
197
  let map = this.maps[data.id];
199
198
 
200
199
  map && setTimeout(() => {
201
- map.resize();
200
+ map.resize()
202
201
  }, 100)
203
202
  }
204
203
 
@@ -215,9 +214,9 @@ class MapboxGL extends Base {
215
214
 
216
215
  if (map) {
217
216
  if (data.animate) {
218
- map.flyTo({center: center});
217
+ map.flyTo({center})
219
218
  } else {
220
- map.setCenter(center);
219
+ map.setCenter(center)
221
220
  }
222
221
  } else {
223
222
  // todo
@@ -240,7 +239,7 @@ class MapboxGL extends Base {
240
239
  let me = this;
241
240
 
242
241
  if (!me.scriptsLoaded) {
243
- me.mapsToCreate.push(data);
242
+ me.mapsToCreate.push(data)
244
243
  } else {
245
244
  mapboxgl.accessToken = data.accessToken;
246
245
 
@@ -248,7 +247,7 @@ class MapboxGL extends Base {
248
247
 
249
248
  if (me.zoomMap[data.id]) {
250
249
  zoom = me.zoomMap[data.id].zoom;
251
- delete me.zoomMap[data.id];
250
+ delete me.zoomMap[data.id]
252
251
  }
253
252
 
254
253
  me.maps[data.id] = new mapboxgl.Map({
@@ -258,7 +257,7 @@ class MapboxGL extends Base {
258
257
  zoom : zoom
259
258
  });
260
259
 
261
- me.maps[data.id].on('load', me.onMapLoaded.bind(me, data));
260
+ me.maps[data.id].on('load', me.onMapLoaded.bind(me, data))
262
261
  }
263
262
  }
264
263
 
@@ -268,7 +267,7 @@ class MapboxGL extends Base {
268
267
  */
269
268
  destroy(data) {
270
269
  this.maps[data.id].remove();
271
- delete this.maps[data.id];
270
+ delete this.maps[data.id]
272
271
  }
273
272
 
274
273
  /**
@@ -276,7 +275,7 @@ class MapboxGL extends Base {
276
275
  * @returns {Boolean}
277
276
  */
278
277
  hasMap(id) {
279
- return !!this.maps[id];
278
+ return !!this.maps[id]
280
279
  }
281
280
 
282
281
  insertMapboxGLScripts() {
@@ -287,8 +286,8 @@ class MapboxGL extends Base {
287
286
  DomAccess.loadScript( basePath + 'mapbox-gl.js'),
288
287
  DomAccess.loadStylesheet(basePath + 'mapbox-gl.css')
289
288
  ]).then(() => {
290
- me.scriptsLoaded = true;
291
- });
289
+ me.scriptsLoaded = true
290
+ })
292
291
  }
293
292
 
294
293
  /**
@@ -304,29 +303,29 @@ class MapboxGL extends Base {
304
303
  me.addSources({
305
304
  id : data.id,
306
305
  sources: data.sources
307
- });
306
+ })
308
307
  } else if (me.sources[mapId]) {
309
308
  me.addSources(me.sources[mapId]);
310
- delete me.sources[mapId];
309
+ delete me.sources[mapId]
311
310
  }
312
311
 
313
312
  if (data.layers) {
314
313
  me.addLayers({
315
314
  id : data.id,
316
315
  layers: data.layers
317
- });
316
+ })
318
317
  } else if (me.layers[mapId]) {
319
318
  me.addLayers(me.layers[mapId]);
320
- delete me.layers[mapId];
319
+ delete me.layers[mapId]
321
320
  }
322
321
 
323
322
  // map.loaded() is false at this point,
324
323
  // in case we do add layers / sources
325
324
  // the "idle" event seems to be the best fit
326
325
  if (event.target.loaded()) {
327
- me.onMapReallyLoaded(data, event);
326
+ me.onMapReallyLoaded(data, event)
328
327
  } else {
329
- event.target.once('idle', me.onMapReallyLoaded.bind(me, data));
328
+ event.target.once('idle', me.onMapReallyLoaded.bind(me, data))
330
329
  }
331
330
  }
332
331
 
@@ -346,7 +345,7 @@ class MapboxGL extends Base {
346
345
  id : data.id
347
346
  })
348
347
  } else if (me.dataMap[data.id]) {
349
- me.updateData(me.dataMap[data.id]);
348
+ me.updateData(me.dataMap[data.id])
350
349
  }
351
350
  }, 100);
352
351
  }
@@ -364,7 +363,7 @@ class MapboxGL extends Base {
364
363
  let map = this.maps[data.id];
365
364
 
366
365
  if (map) {
367
- map.setFilter(data.layerId, data.value, data.options || {});
366
+ map.setFilter(data.layerId, data.value, data.options || {})
368
367
  } else {
369
368
  // todo: we could cache this and apply onMapLoaded
370
369
  }
@@ -384,7 +383,7 @@ class MapboxGL extends Base {
384
383
  let map = this.maps[data.id];
385
384
 
386
385
  if (map) {
387
- map.setLayoutProperty(data.layerId, data.key, data.value, data.options || {});
386
+ map.setLayoutProperty(data.layerId, data.key, data.value, data.options || {})
388
387
  } else {
389
388
  // todo: we could cache this and apply onMapLoaded
390
389
  }
@@ -404,7 +403,7 @@ class MapboxGL extends Base {
404
403
  let map = this.maps[data.id];
405
404
 
406
405
  if (map) {
407
- map.setPaintProperty(data.layerId, data.key, data.value, data.options || {});
406
+ map.setPaintProperty(data.layerId, data.key, data.value, data.options || {})
408
407
  } else {
409
408
  // todo: we could cache this and apply onMapLoaded
410
409
  }
@@ -424,11 +423,11 @@ class MapboxGL extends Base {
424
423
  } else {
425
424
  if (Neo.isString(data.style)) {
426
425
  if (data.style.indexOf('mapbox://styles/') === 0) {
427
- data.style = data.style.substring(16);
426
+ data.style = data.style.substring(16)
428
427
  }
429
428
 
430
429
  if (me.styleMap[data.style]) {
431
- me.applyStyleObject(me.maps[data.id], me.styleMap[data.style]);
430
+ me.applyStyleObject(me.maps[data.id], me.styleMap[data.style])
432
431
  } else {
433
432
  fetch(`https://api.mapbox.com/styles/v1/${data.style}?access_token=${data.accessToken}`)
434
433
  .then(response => response.json())
@@ -454,14 +453,14 @@ class MapboxGL extends Base {
454
453
  if (!me.scriptsLoaded || !me.hasMap(data.id)) {
455
454
  me.dataMap[data.id] = data;
456
455
  } else {
457
- const map = me.maps[data.id],
458
- source = map.getSource(data.dataSourceId);
456
+ let map = me.maps[data.id],
457
+ source = map.getSource(data.dataSourceId);
459
458
 
460
459
  if (source) {
461
460
  source.setData(data.data);
462
- delete me.dataMap[data.id];
461
+ delete me.dataMap[data.id]
463
462
  } else {
464
- me.dataMap[data.id] = data;
463
+ me.dataMap[data.id] = data
465
464
  }
466
465
  }
467
466
  }
@@ -475,9 +474,9 @@ class MapboxGL extends Base {
475
474
  let map = this.maps[data.id];
476
475
 
477
476
  if (map) {
478
- map.setZoom(data.zoom);
477
+ map.setZoom(data.zoom)
479
478
  } else {
480
- this.zoomMap[data.id] = data;
479
+ this.zoomMap[data.id] = data
481
480
  }
482
481
  }
483
482
  }
@@ -19,7 +19,7 @@ class MonacoEditor extends Base {
19
19
  /**
20
20
  * @member {String} libraryBasePath='../../node_modules/monaco-editor/min/vs'
21
21
  */
22
- libraryBasePath: '../../node_modules/monaco-editor/min/vs',
22
+ libraryBasePath: Neo.config.basePath + 'node_modules/monaco-editor/min/vs',
23
23
  /**
24
24
  * Remote method access for other workers
25
25
  * @member {Object} remote
@@ -64,8 +64,8 @@ class MonacoEditor extends Base {
64
64
  * @param {Object} data
65
65
  */
66
66
  createInstance(data) {
67
- let me = this,
68
- id = data.id,
67
+ let me = this,
68
+ {id} = data,
69
69
  editor;
70
70
 
71
71
  delete data.appName;
@@ -107,9 +107,9 @@ class MonacoEditor extends Base {
107
107
  *
108
108
  */
109
109
  async loadFiles() {
110
- const path = this.libraryBasePath;
110
+ let path = this.libraryBasePath;
111
111
 
112
- window.require = { paths: { vs: path } };
112
+ window.require = {paths: {vs: path}};
113
113
 
114
114
  await DomAccess.loadStylesheet(path + '/editor/editor.main.css', {name: 'vs/editor/editor.main'});
115
115
  await DomAccess.loadScript(path + '/loader.js');
@@ -42,7 +42,7 @@ class Mwc extends Base {
42
42
  * @returns {Boolean}
43
43
  */
44
44
  checkValidity(id) {
45
- return document.getElementById(id).checkValidity();
45
+ return document.getElementById(id).checkValidity()
46
46
  }
47
47
 
48
48
  /**
@@ -53,10 +53,10 @@ class Mwc extends Base {
53
53
  import(
54
54
  /* webpackIgnore: true */
55
55
  'https://unpkg.com/@material/mwc-button@0.26.1/mwc-button.js?module'
56
- );
56
+ )
57
57
  } else {
58
58
  // dist/development & dist/production
59
- // import('@material/mwc-button'); // <= comment me in
59
+ // import('@material/mwc-button') // <= comment me in
60
60
  }
61
61
  }
62
62
 
@@ -68,10 +68,10 @@ class Mwc extends Base {
68
68
  import(
69
69
  /* webpackIgnore: true */
70
70
  'https://unpkg.com/@material/mwc-textfield@0.26.1/mwc-textfield.js?module'
71
- );
71
+ )
72
72
  } else {
73
73
  // dist/development & dist/production
74
- // import('@material/mwc-textfield'); // <= comment me in
74
+ // import('@material/mwc-textfield') // <= comment me in
75
75
  }
76
76
  }
77
77
 
@@ -80,7 +80,7 @@ class Mwc extends Base {
80
80
  * @returns {Boolean}
81
81
  */
82
82
  reportValidity(id) {
83
- return document.getElementById(id).reportValidity();
83
+ return document.getElementById(id).reportValidity()
84
84
  }
85
85
  }
86
86