neo.mjs 6.17.1 → 6.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/ServiceWorker.mjs +3 -5
- package/apps/colors/README.md +8 -0
- package/apps/colors/app.mjs +6 -0
- package/apps/colors/childapps/widget/app.mjs +7 -0
- package/apps/colors/childapps/widget/index.html +11 -0
- package/apps/colors/childapps/widget/neo-config.json +10 -0
- package/apps/colors/childapps/widget/view/Viewport.mjs +19 -0
- package/apps/colors/index.html +11 -0
- package/apps/colors/model/Color.mjs +43 -0
- package/apps/colors/neo-config.json +10 -0
- package/apps/colors/remotes-api.json +13 -0
- package/apps/colors/store/Colors.mjs +24 -0
- package/apps/colors/view/BarChartComponent.mjs +64 -0
- package/apps/colors/view/HeaderToolbar.mjs +95 -0
- package/apps/colors/view/PieChartComponent.mjs +58 -0
- package/apps/colors/view/TableContainer.mjs +91 -0
- package/apps/colors/view/Viewport.mjs +57 -0
- package/apps/colors/view/ViewportController.mjs +277 -0
- package/apps/colors/view/ViewportModel.mjs +53 -0
- package/apps/portal/Util.mjs +11 -0
- package/apps/portal/childapps/preview/neo-config.json +2 -2
- package/apps/portal/neo-config.json +2 -1
- package/apps/portal/remotes-api.json +13 -0
- package/apps/portal/view/HeaderToolbar.mjs +44 -27
- package/apps/portal/view/Viewport.mjs +12 -1
- package/apps/portal/view/ViewportController.mjs +89 -1
- package/apps/portal/view/home/MainContainer.mjs +27 -60
- package/apps/portal/view/home/parts/AfterMath.mjs +58 -0
- package/apps/portal/view/home/parts/Colors.mjs +74 -0
- package/apps/portal/view/home/parts/Features.mjs +52 -0
- package/apps/portal/view/home/parts/Helix.mjs +75 -0
- package/apps/portal/view/home/parts/HelloWorld.mjs +82 -0
- package/apps/portal/view/home/parts/MainNeo.mjs +55 -0
- package/apps/portal/view/home/preview/PageCodeContainer.mjs +55 -0
- package/apps/portal/view/learn/LivePreview.mjs +72 -29
- package/apps/portal/view/learn/MainContainerController.mjs +10 -90
- package/apps/realworld/api/Article.mjs +1 -3
- package/apps/realworld/api/Favorite.mjs +1 -3
- package/apps/realworld/api/Profile.mjs +1 -3
- package/apps/realworld/api/Tag.mjs +1 -3
- package/apps/realworld/api/User.mjs +1 -3
- package/apps/realworld2/api/Article.mjs +1 -3
- package/apps/realworld2/api/Favorite.mjs +1 -3
- package/apps/realworld2/api/Profile.mjs +1 -3
- package/apps/realworld2/api/Tag.mjs +1 -3
- package/apps/realworld2/api/User.mjs +1 -3
- package/apps/realworld2/view/article/HelixContainer.mjs +5 -5
- package/buildScripts/webpack/json/myApps.template.json +1 -0
- package/buildScripts/webpack/webpack.server.config.mjs +4 -1
- package/docs/app/view/MainContainer.mjs +5 -0
- package/docs/app/view/classdetails/MembersList.mjs +1 -1
- package/examples/ServiceWorker.mjs +3 -5
- package/examples/component/helix/Viewport.mjs +309 -0
- package/examples/component/helix/ViewportController.mjs +122 -0
- package/examples/component/helix/app.mjs +2 -2
- package/examples/component/helix/neo-config.json +0 -1
- package/examples/component/multiWindowHelix/Viewport.mjs +11 -3
- package/examples/component/multiWindowHelix/ViewportController.mjs +21 -9
- package/examples/component/multiWindowHelix/neo-config.json +0 -1
- package/examples/fieldWithPrefix/MainContainer.mjs +1 -6
- package/examples/list/animate/MainContainerController.mjs +1 -1
- package/examples/worker/task/MyTasks.mjs +1 -3
- package/package.json +5 -5
- package/resources/data/deck/learnneo/pages/GuideEvents.md +131 -0
- package/resources/data/deck/learnneo/pages/WhyNeo-Speed.md +1 -1
- package/resources/images/logo/neo_logo_primary.svg +6 -0
- package/resources/images/logo/neo_logo_secondary.svg +6 -0
- package/resources/images/logo/neo_logo_text_primary.svg +5 -0
- package/resources/images/logo/neo_logo_text_secondary.svg +5 -0
- package/resources/images/logo/neo_logo_white.svg +6 -0
- package/resources/scss/src/apps/colors/BarChartComponent.scss +3 -0
- package/resources/scss/src/apps/colors/HeaderToolbar.scss +11 -0
- package/resources/scss/src/apps/colors/PieChartComponent.scss +3 -0
- package/resources/scss/src/apps/colors/TableContainer.scss +64 -0
- package/resources/scss/src/apps/colors/Viewport.scss +9 -0
- package/resources/scss/src/apps/portal/HeaderToolbar.scss +189 -17
- package/resources/scss/src/apps/portal/home/MainContainer.scss +46 -20
- package/resources/scss/src/apps/portal/home/parts/Features.scss +3 -0
- package/resources/scss/src/apps/portal/home/preview/PageCodeContainer.scss +115 -0
- package/resources/scss/src/component/Base.scss +2 -0
- package/resources/scss/src/examples/component/multiWindowHelix/Viewport.scss +3 -0
- package/resources/scss/src/form/field/CheckBox.scss +1 -0
- package/resources/scss/src/tab/header/Button.scss +2 -1
- package/resources/scss/theme-dark/Global.scss +8 -0
- package/resources/scss/theme-dark/button/Base.scss +1 -1
- package/resources/scss/theme-dark/tab/header/Button.scss +1 -0
- package/resources/scss/theme-light/Global.scss +8 -0
- package/resources/scss/theme-light/button/Base.scss +1 -1
- package/resources/scss/theme-light/tab/header/Button.scss +1 -0
- package/resources/scss/theme-neo-light/Global.scss +53 -53
- package/resources/scss/theme-neo-light/button/Base.scss +3 -4
- package/resources/scss/theme-neo-light/tab/header/Button.scss +6 -8
- package/src/DefaultConfig.mjs +2 -2
- package/src/Fetch.mjs +1 -3
- package/src/Main.mjs +13 -11
- package/src/MicroLoader.mjs +2 -2
- package/src/Neo.mjs +27 -26
- package/src/Xhr.mjs +1 -3
- package/src/button/Base.mjs +6 -4
- package/src/button/Split.mjs +10 -9
- package/src/calendar/view/EditEventContainer.mjs +13 -12
- package/src/calendar/view/MainContainer.mjs +40 -40
- package/src/calendar/view/MainContainerModel.mjs +5 -5
- package/src/calendar/view/SettingsContainer.mjs +11 -11
- package/src/calendar/view/YearComponent.mjs +73 -75
- package/src/calendar/view/calendars/ColorsList.mjs +2 -2
- package/src/calendar/view/calendars/EditContainer.mjs +2 -2
- package/src/calendar/view/calendars/List.mjs +12 -13
- package/src/calendar/view/month/Component.mjs +72 -73
- package/src/calendar/view/settings/GeneralContainer.mjs +5 -5
- package/src/calendar/view/settings/MonthContainer.mjs +5 -5
- package/src/calendar/view/settings/WeekContainer.mjs +6 -6
- package/src/calendar/view/settings/YearContainer.mjs +4 -4
- package/src/calendar/view/week/Component.mjs +47 -57
- package/src/calendar/view/week/EventDragZone.mjs +43 -50
- package/src/calendar/view/week/TimeAxisComponent.mjs +21 -21
- package/src/calendar/view/week/plugin/DragDrop.mjs +53 -45
- package/src/calendar/view/week/plugin/EventResizable.mjs +8 -3
- package/src/collection/Base.mjs +15 -22
- package/src/collection/Filter.mjs +4 -9
- package/src/collection/Sorter.mjs +6 -7
- package/src/component/Base.mjs +149 -87
- package/src/component/Canvas.mjs +9 -9
- package/src/component/Carousel.mjs +31 -33
- package/src/component/Chip.mjs +9 -9
- package/src/component/Circle.mjs +84 -91
- package/src/component/Clock.mjs +8 -8
- package/src/component/DateSelector.mjs +14 -15
- package/src/component/Gallery.mjs +82 -80
- package/src/component/Helix.mjs +131 -126
- package/src/component/Iframe.mjs +1 -1
- package/src/component/Label.mjs +1 -1
- package/src/component/Legend.mjs +3 -3
- package/src/component/Process.mjs +39 -37
- package/src/component/Splitter.mjs +9 -11
- package/src/component/StatusBadge.mjs +2 -3
- package/src/component/Timer.mjs +62 -68
- package/src/component/Toast.mjs +11 -11
- package/src/component/Video.mjs +7 -8
- package/src/component/mwc/Button.mjs +10 -10
- package/src/component/mwc/TextField.mjs +17 -17
- package/src/component/wrapper/AmChart.mjs +5 -5
- package/src/component/wrapper/CesiumJS.mjs +11 -17
- package/src/component/wrapper/GoogleMaps.mjs +58 -35
- package/src/component/wrapper/MapboxGL.mjs +112 -79
- package/src/component/wrapper/MonacoEditor.mjs +1 -6
- package/src/container/Accordion.mjs +18 -20
- package/src/container/AccordionItem.mjs +12 -11
- package/src/container/Base.mjs +29 -28
- package/src/container/Panel.mjs +9 -9
- package/src/container/Viewport.mjs +30 -1
- package/src/controller/Base.mjs +12 -14
- package/src/controller/Component.mjs +60 -66
- package/src/core/Base.mjs +5 -8
- package/src/core/IdGenerator.mjs +1 -3
- package/src/core/Observable.mjs +17 -17
- package/src/core/Util.mjs +5 -5
- package/src/data/Model.mjs +3 -3
- package/src/data/RecordFactory.mjs +3 -6
- package/src/data/Store.mjs +34 -34
- package/src/data/connection/Fetch.mjs +3 -3
- package/src/data/connection/WebSocket.mjs +21 -25
- package/src/data/connection/Xhr.mjs +31 -28
- package/src/date/DayViewComponent.mjs +1 -1
- package/src/date/SelectorContainer.mjs +2 -2
- package/src/dialog/Base.mjs +27 -25
- package/src/dialog/header/Toolbar.mjs +5 -4
- package/src/draggable/DragProxyComponent.mjs +7 -4
- package/src/draggable/DragZone.mjs +30 -30
- package/src/draggable/DropZone.mjs +7 -7
- package/src/draggable/list/DragZone.mjs +18 -18
- package/src/draggable/tab/header/toolbar/SortZone.mjs +7 -7
- package/src/draggable/toolbar/DragZone.mjs +15 -15
- package/src/draggable/toolbar/SortZone.mjs +30 -31
- package/src/draggable/tree/DragZone.mjs +9 -9
- package/src/filter/BooleanContainer.mjs +3 -3
- package/src/filter/NumberContainer.mjs +5 -5
- package/src/filter/ToggleOperatorsButton.mjs +5 -5
- package/src/form/Fieldset.mjs +26 -26
- package/src/form/field/Base.mjs +1 -1
- package/src/form/field/CheckBox.mjs +15 -16
- package/src/form/field/Color.mjs +13 -15
- package/src/form/field/ComboBox.mjs +16 -24
- package/src/form/field/Country.mjs +1 -1
- package/src/form/field/Date.mjs +3 -4
- package/src/form/field/Display.mjs +1 -1
- package/src/form/field/Email.mjs +2 -2
- package/src/form/field/Number.mjs +51 -56
- package/src/form/field/Picker.mjs +2 -2
- package/src/form/field/Radio.mjs +1 -1
- package/src/form/field/Range.mjs +7 -6
- package/src/form/field/Text.mjs +29 -36
- package/src/form/field/TextArea.mjs +9 -9
- package/src/form/field/Time.mjs +30 -30
- package/src/form/field/trigger/Base.mjs +19 -13
- package/src/form/field/trigger/Clear.mjs +13 -13
- package/src/form/field/trigger/CopyToClipboard.mjs +7 -7
- package/src/form/field/trigger/Picker.mjs +2 -2
- package/src/form/field/trigger/SpinDown.mjs +1 -1
- package/src/form/field/trigger/SpinUp.mjs +1 -1
- package/src/form/field/trigger/SpinUpDown.mjs +3 -3
- package/src/form/field/trigger/Time.mjs +3 -3
- package/src/grid/Container.mjs +33 -33
- package/src/grid/View.mjs +20 -22
- package/src/grid/header/Button.mjs +12 -12
- package/src/grid/header/Toolbar.mjs +4 -4
- package/src/layout/Base.mjs +5 -4
- package/src/layout/Card.mjs +15 -16
- package/src/layout/Fit.mjs +22 -8
- package/src/layout/Flexbox.mjs +30 -29
- package/src/layout/Form.mjs +15 -15
- package/src/layout/Grid.mjs +2 -2
- package/src/layout/HBox.mjs +3 -2
- package/src/layout/VBox.mjs +3 -2
- package/src/list/Base.mjs +45 -47
- package/src/list/Chip.mjs +4 -4
- package/src/list/Circle.mjs +3 -3
- package/src/list/Color.mjs +4 -4
- package/src/list/Component.mjs +10 -10
- package/src/list/plugin/Animate.mjs +18 -13
- package/src/main/DomAccess.mjs +92 -56
- package/src/main/DomEvents.mjs +38 -39
- package/src/main/addon/AmCharts.mjs +37 -37
- package/src/main/addon/AnalyticsByGoogle.mjs +4 -4
- package/src/main/addon/CesiumJS.mjs +8 -8
- package/src/main/addon/CloneNode.mjs +5 -5
- package/src/main/addon/Cookie.mjs +4 -4
- package/src/main/addon/DragDrop.mjs +35 -34
- package/src/main/addon/GoogleMaps.mjs +19 -19
- package/src/main/addon/LocalStorage.mjs +3 -3
- package/src/main/addon/MapboxGL.mjs +40 -41
- package/src/main/addon/MonacoEditor.mjs +5 -5
- package/src/main/addon/Mwc.mjs +6 -6
- package/src/main/addon/Navigator.mjs +35 -39
- package/src/main/addon/Popover.mjs +5 -6
- package/src/main/addon/PrefixField.mjs +1 -2
- package/src/main/addon/ServiceWorker.mjs +9 -9
- package/src/main/addon/Siesta.mjs +3 -2
- package/src/main/addon/Stylesheet.mjs +37 -37
- package/src/main/addon/WebComponent.mjs +2 -3
- package/src/main/addon/WindowPosition.mjs +18 -18
- package/src/main/draggable/sensor/Base.mjs +2 -2
- package/src/main/draggable/sensor/Mouse.mjs +15 -15
- package/src/main/draggable/sensor/Touch.mjs +24 -23
- package/src/main/mixin/DeltaUpdates.mjs +10 -12
- package/src/main/mixin/TouchDomEvents.mjs +6 -6
- package/src/manager/Base.mjs +4 -4
- package/src/manager/Component.mjs +41 -41
- package/src/manager/DomEvent.mjs +52 -50
- package/src/manager/Focus.mjs +14 -16
- package/src/manager/Instance.mjs +2 -4
- package/src/manager/Store.mjs +4 -8
- package/src/manager/Task.mjs +20 -22
- package/src/manager/Toast.mjs +14 -16
- package/src/manager/rpc/Api.mjs +1 -3
- package/src/manager/rpc/Message.mjs +16 -18
- package/src/menu/List.mjs +16 -16
- package/src/menu/Panel.mjs +4 -4
- package/src/model/Component.mjs +5 -5
- package/src/plugin/Base.mjs +2 -0
- package/src/plugin/Popover.mjs +1 -1
- package/src/plugin/PrefixField.mjs +35 -45
- package/src/plugin/Resizable.mjs +86 -101
- package/src/plugin/Responsive.mjs +175 -0
- package/src/remotes/Api.mjs +4 -6
- package/src/selection/CircleModel.mjs +12 -16
- package/src/selection/DateSelectorModel.mjs +21 -23
- package/src/selection/GalleryModel.mjs +49 -63
- package/src/selection/HelixModel.mjs +35 -41
- package/src/selection/ListModel.mjs +9 -14
- package/src/selection/Model.mjs +31 -31
- package/src/selection/TreeAccordionModel.mjs +74 -80
- package/src/selection/grid/CellColumnModel.mjs +10 -10
- package/src/selection/grid/CellColumnRowModel.mjs +10 -10
- package/src/selection/grid/CellModel.mjs +26 -28
- package/src/selection/grid/CellRowModel.mjs +24 -24
- package/src/selection/grid/ColumnModel.mjs +16 -20
- package/src/selection/grid/RowModel.mjs +27 -29
- package/src/selection/menu/ListModel.mjs +2 -2
- package/src/selection/table/CellColumnModel.mjs +12 -12
- package/src/selection/table/CellColumnRowModel.mjs +12 -12
- package/src/selection/table/CellModel.mjs +26 -29
- package/src/selection/table/CellRowModel.mjs +19 -19
- package/src/selection/table/ColumnModel.mjs +18 -22
- package/src/selection/table/RowModel.mjs +27 -29
- package/src/sitemap/Component.mjs +20 -20
- package/src/sitemap/Store.mjs +1 -1
- package/src/tab/Container.mjs +15 -15
- package/src/tab/Strip.mjs +1 -1
- package/src/tab/header/Toolbar.mjs +4 -4
- package/src/table/Container.mjs +8 -10
- package/src/table/View.mjs +29 -34
- package/src/table/header/Button.mjs +18 -18
- package/src/table/header/Toolbar.mjs +2 -2
- package/src/toolbar/Base.mjs +14 -14
- package/src/toolbar/Breadcrumb.mjs +11 -11
- package/src/toolbar/Paging.mjs +18 -18
- package/src/tooltip/Base.mjs +20 -22
- package/src/tree/Accordion.mjs +69 -75
- package/src/tree/List.mjs +22 -25
- package/src/util/Array.mjs +19 -18
- package/src/util/ClassSystem.mjs +9 -9
- package/src/util/Css.mjs +2 -2
- package/src/util/Date.mjs +9 -9
- package/src/util/Function.mjs +2 -2
- package/src/util/HashHistory.mjs +3 -5
- package/src/util/KeyNavigation.mjs +17 -17
- package/src/util/Logger.mjs +9 -9
- package/src/util/Matrix.mjs +19 -19
- package/src/util/String.mjs +9 -9
- package/src/util/Style.mjs +11 -11
- package/src/util/VDom.mjs +12 -14
- package/src/util/VNode.mjs +29 -29
- package/src/vdom/Helper.mjs +84 -93
- package/src/vdom/VNode.mjs +1 -1
- package/src/worker/App.mjs +19 -16
- package/src/worker/Base.mjs +14 -15
- package/src/worker/Canvas.mjs +1 -3
- package/src/worker/Data.mjs +4 -8
- package/src/worker/Manager.mjs +27 -32
- package/src/worker/Message.mjs +1 -1
- package/src/worker/ServiceBase.mjs +38 -42
- package/src/worker/Task.mjs +1 -3
- package/src/worker/VDom.mjs +2 -4
- package/src/worker/mixin/RemoteMethodAccess.mjs +5 -6
- package/examples/component/helix/MainContainer.mjs +0 -340
- package/resources/images/Neo_Vector.svg +0 -3
- package/resources/images/logos/Github-logo-black.svg +0 -1
- package/resources/images/logos/Slack-logo-black.svg +0 -17
package/src/component/Helix.mjs
CHANGED
@@ -87,10 +87,10 @@ class Helix extends Component {
|
|
87
87
|
imageField: 'image',
|
88
88
|
/**
|
89
89
|
* The path to the images folder
|
90
|
-
* Will get set inside
|
91
|
-
* @member {String|null}
|
90
|
+
* Will get set inside afterSetWindowId() to avoid issues inside the webpack builds
|
91
|
+
* @member {String|null} imageSource_=Neo.config.resourcesPath + 'examples/'
|
92
92
|
*/
|
93
|
-
|
93
|
+
imageSource_: null,
|
94
94
|
/**
|
95
95
|
* Amount of items per row (circle) -> 360° / 10 = 36
|
96
96
|
* @member {Number} itemAngle_=8
|
@@ -255,17 +255,13 @@ class Helix extends Component {
|
|
255
255
|
let me = this;
|
256
256
|
|
257
257
|
me[itemsMounted] = false;
|
258
|
-
me[lockWheel] =
|
259
|
-
|
260
|
-
if (me.imageSource === null) {
|
261
|
-
me.imageSource = Neo.config.resourcesPath + 'examples/';
|
262
|
-
}
|
258
|
+
me[lockWheel] = true;
|
263
259
|
|
264
260
|
me.addDomListeners({
|
265
261
|
click: me.onClick,
|
266
262
|
wheel: me.onMouseWheel,
|
267
263
|
scope: me
|
268
|
-
})
|
264
|
+
})
|
269
265
|
}
|
270
266
|
|
271
267
|
/**
|
@@ -275,10 +271,10 @@ class Helix extends Component {
|
|
275
271
|
* @protected
|
276
272
|
*/
|
277
273
|
afterSetFollowSelection(value, oldValue) {
|
278
|
-
let cls = this
|
274
|
+
let {cls} = this;
|
279
275
|
|
280
276
|
NeoArray[value ? 'add' : 'remove'](cls, 'neo-follow-selection');
|
281
|
-
this.cls = cls
|
277
|
+
this.cls = cls
|
282
278
|
}
|
283
279
|
|
284
280
|
/**
|
@@ -288,7 +284,22 @@ class Helix extends Component {
|
|
288
284
|
* @protected
|
289
285
|
*/
|
290
286
|
afterSetFlipped(value, oldValue) {
|
291
|
-
this.applyItemTransitions(this.refresh, 1000)
|
287
|
+
this.applyItemTransitions(this.refresh, 1000)
|
288
|
+
}
|
289
|
+
|
290
|
+
/**
|
291
|
+
* Triggered after the imageSource config got changed
|
292
|
+
* @param {String|null} value
|
293
|
+
* @param {String|null} oldValue
|
294
|
+
* @protected
|
295
|
+
*/
|
296
|
+
afterSetImageSource(value, oldValue) {
|
297
|
+
let me = this;
|
298
|
+
|
299
|
+
if (oldValue) {
|
300
|
+
me.getItemsRoot().cn = [];
|
301
|
+
me.createItems()
|
302
|
+
}
|
292
303
|
}
|
293
304
|
|
294
305
|
/**
|
@@ -302,9 +313,9 @@ class Helix extends Component {
|
|
302
313
|
|
303
314
|
if (value && me.rendered) {
|
304
315
|
if (oldValue > value) {
|
305
|
-
me.destroyItems(value, oldValue - value)
|
316
|
+
me.destroyItems(value, oldValue - value)
|
306
317
|
} else {
|
307
|
-
me.createItems(oldValue)
|
318
|
+
me.createItems(oldValue)
|
308
319
|
}
|
309
320
|
}
|
310
321
|
}
|
@@ -317,7 +328,7 @@ class Helix extends Component {
|
|
317
328
|
*/
|
318
329
|
afterSetMounted(value, oldValue) {
|
319
330
|
super.afterSetMounted(value, oldValue);
|
320
|
-
value && this.getOffsetValues()
|
331
|
+
value && this.getOffsetValues()
|
321
332
|
}
|
322
333
|
|
323
334
|
/**
|
@@ -337,7 +348,7 @@ class Helix extends Component {
|
|
337
348
|
}
|
338
349
|
});
|
339
350
|
|
340
|
-
me.updateCloneTranslate()
|
351
|
+
me.updateCloneTranslate()
|
341
352
|
}
|
342
353
|
}
|
343
354
|
|
@@ -348,7 +359,7 @@ class Helix extends Component {
|
|
348
359
|
* @protected
|
349
360
|
*/
|
350
361
|
afterSetSelectionModel(value, oldValue) {
|
351
|
-
this.rendered && value.register(this)
|
362
|
+
this.rendered && value.register(this)
|
352
363
|
}
|
353
364
|
|
354
365
|
/**
|
@@ -362,7 +373,21 @@ class Helix extends Component {
|
|
362
373
|
|
363
374
|
if (me.rendered) {
|
364
375
|
me.destroyItems();
|
365
|
-
me.loadData()
|
376
|
+
me.loadData()
|
377
|
+
}
|
378
|
+
}
|
379
|
+
|
380
|
+
/**
|
381
|
+
* Triggered after the windowId config got changed
|
382
|
+
* @param {Number} value
|
383
|
+
* @param {Number} oldValue
|
384
|
+
* @protected
|
385
|
+
*/
|
386
|
+
afterSetWindowId(value, oldValue) {
|
387
|
+
super.afterSetWindowId(value, oldValue);
|
388
|
+
|
389
|
+
if (value) {
|
390
|
+
this.imageSource = Neo.config.resourcesPath + 'examples/'
|
366
391
|
}
|
367
392
|
}
|
368
393
|
|
@@ -373,19 +398,20 @@ class Helix extends Component {
|
|
373
398
|
* @protected
|
374
399
|
*/
|
375
400
|
applyItemTransitions(callback, animationTime, callbackParam) {
|
376
|
-
let me
|
377
|
-
|
401
|
+
let me = this,
|
402
|
+
{id} = me,
|
403
|
+
cls = 'neo-transition-' + animationTime,
|
378
404
|
timeoutId;
|
379
405
|
|
380
406
|
me.transitionTimeouts.forEach(item => {
|
381
|
-
clearTimeout(item)
|
407
|
+
clearTimeout(item)
|
382
408
|
});
|
383
409
|
|
384
410
|
me.transitionTimeouts.splice(0, me.transitionTimeouts.length);
|
385
411
|
|
386
412
|
if (me.mounted) {
|
387
413
|
Neo.applyDeltas(me.appName, {
|
388
|
-
id
|
414
|
+
id,
|
389
415
|
cls: {
|
390
416
|
add : [cls],
|
391
417
|
remove: []
|
@@ -397,16 +423,16 @@ class Helix extends Component {
|
|
397
423
|
NeoArray.remove(me.transitionTimeouts, timeoutId);
|
398
424
|
|
399
425
|
Neo.applyDeltas(me.appName, {
|
400
|
-
id
|
426
|
+
id,
|
401
427
|
cls: {
|
402
428
|
add : [],
|
403
429
|
remove: [cls]
|
404
430
|
}
|
405
|
-
})
|
431
|
+
})
|
406
432
|
}, animationTime + 200);
|
407
433
|
|
408
|
-
me.transitionTimeouts.push(timeoutId)
|
409
|
-
})
|
434
|
+
me.transitionTimeouts.push(timeoutId)
|
435
|
+
})
|
410
436
|
}
|
411
437
|
}
|
412
438
|
|
@@ -414,7 +440,7 @@ class Helix extends Component {
|
|
414
440
|
* @returns {Object}
|
415
441
|
*/
|
416
442
|
beforeGetItemTpl() {
|
417
|
-
return Neo.clone(this._itemTpl, true)
|
443
|
+
return Neo.clone(this._itemTpl, true)
|
418
444
|
}
|
419
445
|
|
420
446
|
/**
|
@@ -431,7 +457,7 @@ class Helix extends Component {
|
|
431
457
|
selectionChange: this.onSelectionChange,
|
432
458
|
scope : this
|
433
459
|
}
|
434
|
-
})
|
460
|
+
})
|
435
461
|
}
|
436
462
|
|
437
463
|
/**
|
@@ -451,7 +477,7 @@ class Helix extends Component {
|
|
451
477
|
sort : me.onSort,
|
452
478
|
scope: me
|
453
479
|
}
|
454
|
-
})
|
480
|
+
})
|
455
481
|
}
|
456
482
|
|
457
483
|
/**
|
@@ -460,10 +486,9 @@ class Helix extends Component {
|
|
460
486
|
* @returns {Number}
|
461
487
|
*/
|
462
488
|
calculateOpacity(item) {
|
463
|
-
let me
|
464
|
-
maxOpacity
|
465
|
-
|
466
|
-
deltaOpacity = maxOpacity - minOpacity,
|
489
|
+
let me = this,
|
490
|
+
{maxOpacity, minOpacity} = me,
|
491
|
+
deltaOpacity = maxOpacity - minOpacity,
|
467
492
|
angle, opacity, opacityFactor;
|
468
493
|
|
469
494
|
if (deltaOpacity === 0) {
|
@@ -472,20 +497,20 @@ class Helix extends Component {
|
|
472
497
|
angle = item.rotationAngle % 360;
|
473
498
|
|
474
499
|
while (angle < 0) {
|
475
|
-
angle += 360
|
500
|
+
angle += 360
|
476
501
|
}
|
477
502
|
|
478
503
|
while (angle > 180) {
|
479
|
-
angle = 360 - angle
|
504
|
+
angle = 360 - angle
|
480
505
|
}
|
481
506
|
|
482
|
-
// non
|
507
|
+
// non-linear distribution, since the angle does not match delta translateZ
|
483
508
|
opacityFactor = 1 - Math.sin(angle * Math.PI / 360);
|
484
509
|
|
485
|
-
opacity = minOpacity + deltaOpacity * opacityFactor
|
510
|
+
opacity = minOpacity + deltaOpacity * opacityFactor
|
486
511
|
}
|
487
512
|
|
488
|
-
return opacity
|
513
|
+
return opacity
|
489
514
|
}
|
490
515
|
|
491
516
|
/**
|
@@ -503,7 +528,7 @@ class Helix extends Component {
|
|
503
528
|
vdomItem.cn[0].id = me.getItemVnodeId(record[me.keyProperty]) + '_img';
|
504
529
|
vdomItem.cn[0].src = me.imageSource + Neo.ns(me.imageField, false, record);
|
505
530
|
|
506
|
-
return vdomItem
|
531
|
+
return vdomItem
|
507
532
|
}
|
508
533
|
|
509
534
|
/**
|
@@ -512,19 +537,11 @@ class Helix extends Component {
|
|
512
537
|
* @protected
|
513
538
|
*/
|
514
539
|
createItems(startIndex) {
|
515
|
-
let me
|
516
|
-
deltaY
|
517
|
-
group
|
518
|
-
|
519
|
-
|
520
|
-
radius = me.radius,
|
521
|
-
rotationAngle = me.rotationAngle,
|
522
|
-
translateX = me.translateX,
|
523
|
-
translateY = me.translateY,
|
524
|
-
translateZ = me.translateZ,
|
525
|
-
vdom = me.vdom,
|
526
|
-
i = startIndex || 0,
|
527
|
-
len = Math.min(me.maxItems, me.store.items.length),
|
540
|
+
let me = this,
|
541
|
+
{deltaY, itemAngle, matrix, radius, rotationAngle, translateX, translateY, translateZ, vdom} = me,
|
542
|
+
group = me.getItemsRoot(),
|
543
|
+
i = startIndex || 0,
|
544
|
+
len = Math.min(me.maxItems, me.store.items.length),
|
528
545
|
angle, item, matrixItems, transformStyle, vdomItem, c, s, x, y, z;
|
529
546
|
|
530
547
|
if (!me.mounted) {
|
@@ -532,11 +549,9 @@ class Helix extends Component {
|
|
532
549
|
me.un('mounted', listenerId);
|
533
550
|
setTimeout(() => {
|
534
551
|
me.createItems(startIndex);
|
535
|
-
}, 100)
|
536
|
-
})
|
552
|
+
}, 100)
|
553
|
+
})
|
537
554
|
} else {
|
538
|
-
// console.log('createItems', me.id, me.store);
|
539
|
-
|
540
555
|
for (; i < len; i++) {
|
541
556
|
item = me.store.items[i];
|
542
557
|
|
@@ -559,9 +574,9 @@ class Helix extends Component {
|
|
559
574
|
if (!matrix) {
|
560
575
|
me.matrix = matrix = Neo.create(Matrix, {
|
561
576
|
items: matrixItems
|
562
|
-
})
|
577
|
+
})
|
563
578
|
} else {
|
564
|
-
matrix.items = matrixItems
|
579
|
+
matrix.items = matrixItems
|
565
580
|
}
|
566
581
|
|
567
582
|
transformStyle = matrix.getTransformStyle();
|
@@ -576,19 +591,19 @@ class Helix extends Component {
|
|
576
591
|
vdomItem.style.opacity = me.calculateOpacity(item);
|
577
592
|
vdomItem.style.transform = transformStyle;
|
578
593
|
|
579
|
-
group.cn.push(vdomItem)
|
594
|
+
group.cn.push(vdomItem)
|
580
595
|
}
|
581
596
|
|
582
|
-
me[lockWheel] =
|
597
|
+
me[lockWheel] = true;
|
583
598
|
|
584
599
|
me.promiseUpdate(vdom).then(() => {
|
585
600
|
me[itemsMounted] = true;
|
586
601
|
me.fire('itemsMounted');
|
587
602
|
|
588
603
|
setTimeout(() => {
|
589
|
-
me[lockWheel] =
|
590
|
-
},
|
591
|
-
})
|
604
|
+
me[lockWheel] = false
|
605
|
+
}, 200)
|
606
|
+
})
|
592
607
|
}
|
593
608
|
}
|
594
609
|
|
@@ -597,7 +612,7 @@ class Helix extends Component {
|
|
597
612
|
*/
|
598
613
|
destroyClones() {
|
599
614
|
let me = this,
|
600
|
-
store
|
615
|
+
{store} = me,
|
601
616
|
deltas = [],
|
602
617
|
removeDeltas = [],
|
603
618
|
id, record;
|
@@ -627,9 +642,9 @@ class Helix extends Component {
|
|
627
642
|
|
628
643
|
Neo.applyDeltas(me.appName, deltas).then(data => {
|
629
644
|
setTimeout(() => {
|
630
|
-
Neo.applyDeltas(me.appName, removeDeltas)
|
631
|
-
}, 650)
|
632
|
-
})
|
645
|
+
Neo.applyDeltas(me.appName, removeDeltas)
|
646
|
+
}, 650)
|
647
|
+
})
|
633
648
|
}
|
634
649
|
}
|
635
650
|
|
@@ -641,7 +656,7 @@ class Helix extends Component {
|
|
641
656
|
let me = this;
|
642
657
|
|
643
658
|
me.getItemsRoot().cn.splice(startIndex || 0, amountItems || me.store.getCount());
|
644
|
-
me.update()
|
659
|
+
me.update()
|
645
660
|
}
|
646
661
|
|
647
662
|
/**
|
@@ -649,13 +664,13 @@ class Helix extends Component {
|
|
649
664
|
* @param {String} itemId
|
650
665
|
*/
|
651
666
|
expandItem(itemId) {
|
652
|
-
let me
|
653
|
-
store
|
654
|
-
record
|
655
|
-
index
|
656
|
-
isExpanded
|
657
|
-
group
|
658
|
-
itemVdom
|
667
|
+
let me = this,
|
668
|
+
{appName, store} = me,
|
669
|
+
record = store.get(itemId),
|
670
|
+
index = store.indexOf(itemId),
|
671
|
+
isExpanded = !!record.expanded,
|
672
|
+
group = me.getItemsRoot(),
|
673
|
+
itemVdom = Neo.clone(group.cn[index], true);
|
659
674
|
|
660
675
|
me.destroyClones();
|
661
676
|
|
@@ -673,11 +688,11 @@ class Helix extends Component {
|
|
673
688
|
itemVdom.cn.push({
|
674
689
|
cls : ['contact-name'],
|
675
690
|
innerHTML: record.firstname + ' ' + record.lastname
|
676
|
-
})
|
691
|
+
})
|
677
692
|
}
|
678
693
|
|
679
694
|
Neo.vdom.Helper.create({
|
680
|
-
appName
|
695
|
+
appName,
|
681
696
|
autoMount : true,
|
682
697
|
parentId : group.id,
|
683
698
|
parentIndex: store.getCount(),
|
@@ -686,15 +701,15 @@ class Helix extends Component {
|
|
686
701
|
me.clonedItems.push(itemVdom);
|
687
702
|
|
688
703
|
setTimeout(() => {
|
689
|
-
Neo.applyDeltas(
|
704
|
+
Neo.applyDeltas(appName, {
|
690
705
|
id : itemVdom.id,
|
691
706
|
style: {
|
692
707
|
opacity : 1,
|
693
708
|
transform: me.getCloneTransform()
|
694
709
|
}
|
695
|
-
})
|
696
|
-
}, 50)
|
697
|
-
})
|
710
|
+
})
|
711
|
+
}, 50)
|
712
|
+
})
|
698
713
|
}
|
699
714
|
}
|
700
715
|
|
@@ -707,7 +722,7 @@ class Helix extends Component {
|
|
707
722
|
translateY = (me.offsetHeight - 1320) / 3,
|
708
723
|
translateZ = 100700 + me.perspective / 1.5;
|
709
724
|
|
710
|
-
return `matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,${translateX},${translateY},${translateZ},1
|
725
|
+
return `matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,${translateX},${translateY},${translateZ},1`
|
711
726
|
}
|
712
727
|
|
713
728
|
/**
|
@@ -715,7 +730,7 @@ class Helix extends Component {
|
|
715
730
|
* @returns {Number}
|
716
731
|
*/
|
717
732
|
getItemId(vnodeId) {
|
718
|
-
return parseInt(vnodeId.split('__')[1])
|
733
|
+
return parseInt(vnodeId.split('__')[1])
|
719
734
|
}
|
720
735
|
|
721
736
|
/**
|
@@ -723,7 +738,7 @@ class Helix extends Component {
|
|
723
738
|
* @returns {Object} vdom
|
724
739
|
*/
|
725
740
|
getItemsRoot() {
|
726
|
-
return this.vdom.cn[0].cn[0]
|
741
|
+
return this.vdom.cn[0].cn[0]
|
727
742
|
}
|
728
743
|
|
729
744
|
/**
|
@@ -731,7 +746,7 @@ class Helix extends Component {
|
|
731
746
|
* @returns {String}
|
732
747
|
*/
|
733
748
|
getItemVnodeId(id) {
|
734
|
-
return this.id + '__' + id
|
749
|
+
return this.id + '__' + id
|
735
750
|
}
|
736
751
|
|
737
752
|
/**
|
@@ -749,8 +764,8 @@ class Helix extends Component {
|
|
749
764
|
}).then(data => {
|
750
765
|
me.offsetHeight = data.attributes.offsetHeight;
|
751
766
|
me.offsetWidth = data.attributes.offsetWidth;
|
752
|
-
})
|
753
|
-
}, delay)
|
767
|
+
})
|
768
|
+
}, delay)
|
754
769
|
}
|
755
770
|
|
756
771
|
/**
|
@@ -766,8 +781,8 @@ class Helix extends Component {
|
|
766
781
|
console.log('Error for Neo.Xhr.request', err, me.id);
|
767
782
|
}).then(data => {
|
768
783
|
me.store.items = data.json.data;
|
769
|
-
me.createItems()
|
770
|
-
})
|
784
|
+
me.createItems()
|
785
|
+
})
|
771
786
|
}
|
772
787
|
|
773
788
|
/**
|
@@ -775,14 +790,14 @@ class Helix extends Component {
|
|
775
790
|
*/
|
776
791
|
moveToSelectedItem(itemId) {
|
777
792
|
let me = this;
|
778
|
-
me.rotationAngle = me.store.get(itemId).rotationAngle + me.rotationAngle
|
793
|
+
me.rotationAngle = me.store.get(itemId).rotationAngle + me.rotationAngle
|
779
794
|
}
|
780
795
|
|
781
796
|
/**
|
782
797
|
* @param {Object} data
|
783
798
|
*/
|
784
799
|
onClick(data) {
|
785
|
-
this.fire(data.id === this.id ? 'containerClick' : 'itemClick', data)
|
800
|
+
this.fire(data.id === this.id ? 'containerClick' : 'itemClick', data)
|
786
801
|
}
|
787
802
|
|
788
803
|
/**
|
@@ -790,7 +805,7 @@ class Helix extends Component {
|
|
790
805
|
*/
|
791
806
|
onConstructed() {
|
792
807
|
super.onConstructed();
|
793
|
-
this.selectionModel?.register(this)
|
808
|
+
this.selectionModel?.register(this)
|
794
809
|
}
|
795
810
|
|
796
811
|
/**
|
@@ -798,14 +813,14 @@ class Helix extends Component {
|
|
798
813
|
*/
|
799
814
|
onKeyDownEnter(data) {
|
800
815
|
let item = this.selectionModel.items[0];
|
801
|
-
item && this.expandItem(item)
|
816
|
+
item && this.expandItem(item)
|
802
817
|
}
|
803
818
|
|
804
819
|
/**
|
805
820
|
* @param {Object} data
|
806
821
|
*/
|
807
822
|
onKeyDownSpace(data) {
|
808
|
-
this.applyItemTransitions(this.moveToSelectedItem, 1000, this.selectionModel.items[0] || 0)
|
823
|
+
this.applyItemTransitions(this.moveToSelectedItem, 1000, this.selectionModel.items[0] || 0)
|
809
824
|
}
|
810
825
|
|
811
826
|
/**
|
@@ -814,14 +829,14 @@ class Helix extends Component {
|
|
814
829
|
onMouseWheel(data) {
|
815
830
|
let me = this;
|
816
831
|
|
817
|
-
if (me.mouseWheelEnabled && me[lockWheel]) {
|
832
|
+
if (me.mouseWheelEnabled && !me[lockWheel]) {
|
818
833
|
me._rotationAngle = me.rotationAngle + (data.deltaX * me.mouseWheelDeltaX); // silent update
|
819
834
|
me._translateZ = me.translateZ + (data.deltaY * me.mouseWheelDeltaY); // silent update
|
820
835
|
|
821
836
|
me.refresh();
|
822
837
|
|
823
838
|
me.fire('changeRotation', me._rotationAngle);
|
824
|
-
me.fire('changeTranslateZ', me._translateZ)
|
839
|
+
me.fire('changeTranslateZ', me._translateZ)
|
825
840
|
}
|
826
841
|
}
|
827
842
|
|
@@ -833,7 +848,7 @@ class Helix extends Component {
|
|
833
848
|
let me = this;
|
834
849
|
|
835
850
|
if (me.followSelection && value?.[0]) {
|
836
|
-
me.applyItemTransitions(me.moveToSelectedItem, 100, value[0])
|
851
|
+
me.applyItemTransitions(me.moveToSelectedItem, 100, value[0])
|
837
852
|
}
|
838
853
|
}
|
839
854
|
|
@@ -844,7 +859,7 @@ class Helix extends Component {
|
|
844
859
|
let me = this;
|
845
860
|
|
846
861
|
if (me[itemsMounted] === true) {
|
847
|
-
me.applyItemTransitions(me.sortItems, 1000)
|
862
|
+
me.applyItemTransitions(me.sortItems, 1000)
|
848
863
|
}
|
849
864
|
}
|
850
865
|
|
@@ -853,28 +868,18 @@ class Helix extends Component {
|
|
853
868
|
*/
|
854
869
|
onStoreLoad(items) {
|
855
870
|
this.getItemsRoot().cn = []; // silent update
|
856
|
-
this.createItems()
|
871
|
+
this.createItems()
|
857
872
|
}
|
858
873
|
|
859
874
|
/**
|
860
875
|
* @protected
|
861
876
|
*/
|
862
877
|
refresh() {
|
863
|
-
let me
|
864
|
-
deltas
|
865
|
-
deltaY
|
866
|
-
|
867
|
-
|
868
|
-
itemAngle = me.itemAngle,
|
869
|
-
len = Math.min(me.maxItems, me.store.getCount()),
|
870
|
-
matrix = me.matrix,
|
871
|
-
radius = me.radius,
|
872
|
-
rotationAngle = me.rotationAngle,
|
873
|
-
rotationMatrix = me.rotationMatrix,
|
874
|
-
translateX = me.translateX,
|
875
|
-
translateY = me.translateY,
|
876
|
-
translateZ = me.translateZ,
|
877
|
-
vdom = me.vdom,
|
878
|
+
let me = this,
|
879
|
+
deltas = [],
|
880
|
+
{deltaY, flipped, itemAngle, matrix, radius, rotationAngle, rotationMatrix, translateX, translateY, translateZ, vdom} = me,
|
881
|
+
index = 0,
|
882
|
+
len = Math.min(me.maxItems, me.store.getCount()),
|
878
883
|
angle, item, opacity, rotateY, transformStyle, vdomItem, c, s, x, y, z;
|
879
884
|
|
880
885
|
if (flipped) {
|
@@ -883,9 +888,9 @@ class Helix extends Component {
|
|
883
888
|
if (!rotationMatrix) {
|
884
889
|
me.rotationMatrix = rotationMatrix = Neo.create(Matrix, {
|
885
890
|
items: rotateY
|
886
|
-
})
|
891
|
+
})
|
887
892
|
} else {
|
888
|
-
rotationMatrix.items = rotateY
|
893
|
+
rotationMatrix.items = rotateY
|
889
894
|
}
|
890
895
|
}
|
891
896
|
|
@@ -910,7 +915,7 @@ class Helix extends Component {
|
|
910
915
|
];
|
911
916
|
|
912
917
|
if (flipped) {
|
913
|
-
matrix = rotationMatrix.x(matrix)
|
918
|
+
matrix = rotationMatrix.x(matrix)
|
914
919
|
}
|
915
920
|
|
916
921
|
transformStyle = matrix.getTransformStyle();
|
@@ -936,17 +941,17 @@ class Helix extends Component {
|
|
936
941
|
opacity,
|
937
942
|
transform: transformStyle
|
938
943
|
}
|
939
|
-
})
|
944
|
+
})
|
940
945
|
}
|
941
946
|
|
942
|
-
Neo.applyDeltas(me.appName, deltas)
|
947
|
+
Neo.applyDeltas(me.appName, deltas)
|
943
948
|
}
|
944
949
|
|
945
950
|
/**
|
946
951
|
* @protected
|
947
952
|
*/
|
948
953
|
refreshIfMounted() {
|
949
|
-
this.mounted && this.refresh()
|
954
|
+
this.mounted && this.refresh()
|
950
955
|
}
|
951
956
|
|
952
957
|
/**
|
@@ -965,11 +970,11 @@ class Helix extends Component {
|
|
965
970
|
id : me.getItemVnodeId(me.store.items[i][me.keyProperty]),
|
966
971
|
index : i,
|
967
972
|
parentId
|
968
|
-
})
|
973
|
+
})
|
969
974
|
}
|
970
975
|
|
971
976
|
Neo.applyDeltas(me.appName, deltas).then(() => {
|
972
|
-
me.refresh()
|
977
|
+
me.refresh()
|
973
978
|
});
|
974
979
|
}
|
975
980
|
|
@@ -986,7 +991,7 @@ class Helix extends Component {
|
|
986
991
|
transform = me.getCloneTransform(true);
|
987
992
|
|
988
993
|
me.transitionTimeouts.forEach(item => {
|
989
|
-
clearTimeout(item)
|
994
|
+
clearTimeout(item)
|
990
995
|
});
|
991
996
|
|
992
997
|
me.clonedItems.forEach(item => {
|
@@ -1013,11 +1018,11 @@ class Helix extends Component {
|
|
1013
1018
|
Neo.applyDeltas(me.appName, deltas).then(() => {
|
1014
1019
|
timeoutId = setTimeout(() => {
|
1015
1020
|
NeoArray.remove(me.transitionTimeouts, timeoutId);
|
1016
|
-
Neo.applyDeltas(me.appName, afterDeltas)
|
1021
|
+
Neo.applyDeltas(me.appName, afterDeltas)
|
1017
1022
|
}, 200);
|
1018
1023
|
|
1019
|
-
me.transitionTimeouts.push(timeoutId)
|
1020
|
-
})
|
1024
|
+
me.transitionTimeouts.push(timeoutId)
|
1025
|
+
})
|
1021
1026
|
}
|
1022
1027
|
}
|
1023
1028
|
}
|
package/src/component/Iframe.mjs
CHANGED
package/src/component/Label.mjs
CHANGED
package/src/component/Legend.mjs
CHANGED
@@ -52,7 +52,7 @@ class Legend extends Component {
|
|
52
52
|
*/
|
53
53
|
afterSetIconCls(value, oldValue) {
|
54
54
|
this.vdom.cn[0].html = `<i class="neo-legend-icon ${value}"></i>`;
|
55
|
-
this.update()
|
55
|
+
this.update()
|
56
56
|
}
|
57
57
|
|
58
58
|
/**
|
@@ -63,7 +63,7 @@ class Legend extends Component {
|
|
63
63
|
*/
|
64
64
|
afterSetText(value, oldValue) {
|
65
65
|
this.vdom.cn[1].html = value;
|
66
|
-
this.update()
|
66
|
+
this.update()
|
67
67
|
}
|
68
68
|
|
69
69
|
/**
|
@@ -74,7 +74,7 @@ class Legend extends Component {
|
|
74
74
|
*/
|
75
75
|
afterSetUseIcon(value, oldValue) {
|
76
76
|
this.vdom.cn[0].removeDom = !value;
|
77
|
-
this.update()
|
77
|
+
this.update()
|
78
78
|
}
|
79
79
|
}
|
80
80
|
|