neo.mjs 6.17.2 → 6.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +1 -1
- package/apps/portal/view/ViewportController.mjs +89 -1
- package/apps/portal/view/home/MainContainer.mjs +5 -6
- package/apps/portal/view/home/parts/AfterMath.mjs +1 -1
- package/apps/portal/view/home/parts/{CoolStuff.mjs → Colors.mjs} +20 -28
- package/apps/portal/view/home/parts/Helix.mjs +75 -0
- package/apps/portal/view/learn/LivePreview.mjs +56 -15
- 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/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 +2 -2
- 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_text_primary.svg +5 -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 +1 -1
- package/resources/scss/src/apps/portal/home/MainContainer.scss +1 -1
- package/resources/scss/src/apps/portal/home/preview/PageCodeContainer.scss +1 -1
- 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 +25 -31
- 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/container/Accordion.mjs +18 -20
- package/src/container/AccordionItem.mjs +12 -11
- package/src/container/Base.mjs +24 -23
- package/src/container/Panel.mjs +9 -9
- 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 +41 -44
- 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 +1 -1
- 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_Logo_Blue.svg → logo/neo_logo_secondary.svg} +0 -0
- /package/resources/images/{Neo_Logo_Text.svg → logo/neo_logo_text_secondary.svg} +0 -0
- /package/resources/images/{Neo_Logo_White.svg → logo/neo_logo_white.svg} +0 -0
@@ -184,7 +184,7 @@ class Gallery extends Component {
|
|
184
184
|
click: me.onClick,
|
185
185
|
wheel: me.onMouseWheel,
|
186
186
|
scope: me
|
187
|
-
})
|
187
|
+
})
|
188
188
|
}
|
189
189
|
|
190
190
|
/**
|
@@ -197,7 +197,7 @@ class Gallery extends Component {
|
|
197
197
|
if (Neo.isNumber(oldValue)) {
|
198
198
|
let me = this;
|
199
199
|
|
200
|
-
me.afterSetOrderByRow(me.orderByRow, !me.orderByRow)
|
200
|
+
me.afterSetOrderByRow(me.orderByRow, !me.orderByRow)
|
201
201
|
}
|
202
202
|
}
|
203
203
|
|
@@ -222,7 +222,7 @@ class Gallery extends Component {
|
|
222
222
|
origin.id = prefix + 'origin';
|
223
223
|
view .id = prefix + 'view';
|
224
224
|
|
225
|
-
me.update()
|
225
|
+
me.update()
|
226
226
|
}
|
227
227
|
|
228
228
|
/**
|
@@ -236,9 +236,9 @@ class Gallery extends Component {
|
|
236
236
|
|
237
237
|
if (value && me.rendered) {
|
238
238
|
if (oldValue > value) {
|
239
|
-
me.destroyItems(value, oldValue - value)
|
239
|
+
me.destroyItems(value, oldValue - value)
|
240
240
|
} else {
|
241
|
-
me.createItems(oldValue)
|
241
|
+
me.createItems(oldValue)
|
242
242
|
}
|
243
243
|
}
|
244
244
|
}
|
@@ -250,8 +250,8 @@ class Gallery extends Component {
|
|
250
250
|
* @protected
|
251
251
|
*/
|
252
252
|
afterSetMounted(value, oldValue) {
|
253
|
-
let me
|
254
|
-
selectionModel = me
|
253
|
+
let me = this,
|
254
|
+
{selectionModel} = me;
|
255
255
|
|
256
256
|
if (value) {
|
257
257
|
me.focusOnMount && me.focus(me.id);
|
@@ -261,7 +261,8 @@ class Gallery extends Component {
|
|
261
261
|
action : 'readDom',
|
262
262
|
appName : me.appName,
|
263
263
|
attributes: ['offsetHeight', 'offsetWidth'],
|
264
|
-
vnodeId : me.id
|
264
|
+
vnodeId : me.id,
|
265
|
+
windowId : me.windowId
|
265
266
|
}).then(data => {
|
266
267
|
me.offsetHeight = data.attributes.offsetHeight;
|
267
268
|
me.offsetWidth = data.attributes.offsetWidth;
|
@@ -273,15 +274,15 @@ class Gallery extends Component {
|
|
273
274
|
if (!key) {
|
274
275
|
let index = parseInt(Math.min(me.maxItems, me.store.getCount()) / me.amountRows);
|
275
276
|
|
276
|
-
key = me.store.getKeyAt(index)
|
277
|
+
key = me.store.getKeyAt(index)
|
277
278
|
}
|
278
279
|
|
279
|
-
selectionModel.select(key)
|
280
|
+
selectionModel.select(key)
|
280
281
|
}
|
281
|
-
})
|
282
|
-
}, 300)
|
282
|
+
})
|
283
|
+
}, 300)
|
283
284
|
} else {
|
284
|
-
selectionModel.items = []
|
285
|
+
selectionModel.items = []
|
285
286
|
}
|
286
287
|
}
|
287
288
|
|
@@ -303,7 +304,7 @@ class Gallery extends Component {
|
|
303
304
|
|
304
305
|
setTimeout(() => {
|
305
306
|
for (; i < len; i++) {
|
306
|
-
view.cn[i].style.transform = me.getItemTransform(i)
|
307
|
+
view.cn[i].style.transform = me.getItemTransform(i)
|
307
308
|
}
|
308
309
|
|
309
310
|
me.update();
|
@@ -311,9 +312,9 @@ class Gallery extends Component {
|
|
311
312
|
setTimeout(() => {
|
312
313
|
let sm = me.selectionModel;
|
313
314
|
|
314
|
-
sm.hasSelection() && me.onSelectionChange(sm.items)
|
315
|
-
}, 500)
|
316
|
-
}, 50)
|
315
|
+
sm.hasSelection() && me.onSelectionChange(sm.items)
|
316
|
+
}, 500)
|
317
|
+
}, 50)
|
317
318
|
}
|
318
319
|
}
|
319
320
|
}
|
@@ -326,7 +327,7 @@ class Gallery extends Component {
|
|
326
327
|
*/
|
327
328
|
afterSetSelectionModel(value, oldValue) {
|
328
329
|
oldValue?.destroy();
|
329
|
-
this.rendered && value.register(this)
|
330
|
+
this.rendered && value.register(this)
|
330
331
|
}
|
331
332
|
|
332
333
|
afterSetTranslateX() {this.moveOrigin()}
|
@@ -351,14 +352,14 @@ class Gallery extends Component {
|
|
351
352
|
sort : me.onSort,
|
352
353
|
scope: me
|
353
354
|
}
|
354
|
-
})
|
355
|
+
})
|
355
356
|
}
|
356
357
|
|
357
358
|
/**
|
358
359
|
* @returns {Object}
|
359
360
|
*/
|
360
361
|
beforeGetItemTpl() {
|
361
|
-
return Neo.clone(this._itemTpl, true)
|
362
|
+
return Neo.clone(this._itemTpl, true)
|
362
363
|
}
|
363
364
|
|
364
365
|
/**
|
@@ -375,7 +376,7 @@ class Gallery extends Component {
|
|
375
376
|
selectionChange: this.onSelectionChange,
|
376
377
|
scope : this
|
377
378
|
}
|
378
|
-
})
|
379
|
+
})
|
379
380
|
}
|
380
381
|
|
381
382
|
/**
|
@@ -396,7 +397,7 @@ class Gallery extends Component {
|
|
396
397
|
imageVdom.style.height = me.itemHeight + 'px';
|
397
398
|
imageVdom.style.width = me.itemWidth + 'px';
|
398
399
|
|
399
|
-
return vdomItem
|
400
|
+
return vdomItem
|
400
401
|
}
|
401
402
|
|
402
403
|
/**
|
@@ -416,7 +417,7 @@ class Gallery extends Component {
|
|
416
417
|
amountColumns, item, vdomItem;
|
417
418
|
|
418
419
|
if (orderByRow) {
|
419
|
-
amountColumns = Math.ceil(me.store.getCount() / amountRows)
|
420
|
+
amountColumns = Math.ceil(me.store.getCount() / amountRows)
|
420
421
|
}
|
421
422
|
|
422
423
|
for (; i < len; i++) {
|
@@ -429,20 +430,20 @@ class Gallery extends Component {
|
|
429
430
|
|
430
431
|
if (orderByRow) {
|
431
432
|
if (i >= secondLastColumn * amountColumns) {
|
432
|
-
NeoArray.add(vdomItem.cls, 'neo-reflection')
|
433
|
+
NeoArray.add(vdomItem.cls, 'neo-reflection')
|
433
434
|
}
|
434
435
|
} else {
|
435
436
|
if (i % amountRows === secondLastColumn) {
|
436
|
-
NeoArray.add(vdomItem.cls, 'neo-reflection')
|
437
|
+
NeoArray.add(vdomItem.cls, 'neo-reflection')
|
437
438
|
}
|
438
439
|
}
|
439
440
|
|
440
|
-
itemsRoot.cn.push(vdomItem)
|
441
|
+
itemsRoot.cn.push(vdomItem)
|
441
442
|
}
|
442
443
|
|
443
444
|
me.promiseUpdate(vdom).then(() => {
|
444
|
-
me[itemsMounted] = true
|
445
|
-
})
|
445
|
+
me[itemsMounted] = true
|
446
|
+
})
|
446
447
|
}
|
447
448
|
|
448
449
|
/**
|
@@ -458,7 +459,7 @@ class Gallery extends Component {
|
|
458
459
|
me.update();
|
459
460
|
|
460
461
|
if (me.selectionModel.hasSelection() && selectedItem > startIndex && selectedItem < startIndex + countItems) {
|
461
|
-
me.afterSetMounted(true, false)
|
462
|
+
me.afterSetMounted(true, false)
|
462
463
|
}
|
463
464
|
}
|
464
465
|
|
@@ -467,26 +468,25 @@ class Gallery extends Component {
|
|
467
468
|
* @returns {Number[]}
|
468
469
|
*/
|
469
470
|
getCameraTransformForCell(index) {
|
470
|
-
let me
|
471
|
-
amountRows
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
y = index - x * amountRows;
|
471
|
+
let me = this,
|
472
|
+
{amountRows, itemWidth} = me,
|
473
|
+
gap = 10,
|
474
|
+
height = me.offsetHeight / (amountRows + 2),
|
475
|
+
spacing = height + gap,
|
476
|
+
x = Math.floor(index / amountRows),
|
477
|
+
y = index - x * amountRows;
|
478
478
|
|
479
479
|
if (me.orderByRow) {
|
480
480
|
let amountColumns = Math.ceil(Math.min(me.maxItems, me.store.getCount()) / amountRows);
|
481
481
|
|
482
482
|
x = index % amountColumns;
|
483
|
-
y = Math.floor(index / amountColumns)
|
483
|
+
y = Math.floor(index / amountColumns)
|
484
484
|
}
|
485
485
|
|
486
486
|
let cx = x * (itemWidth + 10),
|
487
487
|
cy = (y + 0.5) * spacing * 1.1 + 50;
|
488
488
|
|
489
|
-
return [-cx, -cy, 0]
|
489
|
+
return [-cx, -cy, 0]
|
490
490
|
}
|
491
491
|
|
492
492
|
/**
|
@@ -494,7 +494,7 @@ class Gallery extends Component {
|
|
494
494
|
* @returns {Number} itemId
|
495
495
|
*/
|
496
496
|
getItemId(vnodeId) {
|
497
|
-
return parseInt(vnodeId.split('__')[1])
|
497
|
+
return parseInt(vnodeId.split('__')[1])
|
498
498
|
}
|
499
499
|
|
500
500
|
/**
|
@@ -502,7 +502,7 @@ class Gallery extends Component {
|
|
502
502
|
* @returns {Object} vdom
|
503
503
|
*/
|
504
504
|
getItemsRoot() {
|
505
|
-
return this.vdom.cn[0].cn[0].cn[0].cn[0]
|
505
|
+
return this.vdom.cn[0].cn[0].cn[0].cn[0]
|
506
506
|
}
|
507
507
|
|
508
508
|
/**
|
@@ -510,25 +510,25 @@ class Gallery extends Component {
|
|
510
510
|
* @returns {String}
|
511
511
|
*/
|
512
512
|
getItemTransform(index) {
|
513
|
-
let me
|
514
|
-
amountRows = me
|
513
|
+
let me = this,
|
514
|
+
{amountRows} = me,
|
515
515
|
x, y;
|
516
516
|
|
517
517
|
if (me.orderByRow) {
|
518
518
|
amountRows = Math.ceil(Math.min(me.maxItems, me.store.getCount()) / amountRows);
|
519
519
|
|
520
520
|
x = index % amountRows;
|
521
|
-
y = Math.floor(index / amountRows)
|
521
|
+
y = Math.floor(index / amountRows)
|
522
522
|
} else {
|
523
523
|
x = Math.floor(index / amountRows);
|
524
|
-
y = index % amountRows
|
524
|
+
y = index % amountRows
|
525
525
|
}
|
526
526
|
|
527
527
|
return this.translate3d(
|
528
528
|
x * (me.itemWidth + 10),
|
529
529
|
y * (me.itemHeight + 10) + 100,
|
530
530
|
0
|
531
|
-
)
|
531
|
+
)
|
532
532
|
}
|
533
533
|
|
534
534
|
/**
|
@@ -536,7 +536,7 @@ class Gallery extends Component {
|
|
536
536
|
* @returns {String}
|
537
537
|
*/
|
538
538
|
getItemVnodeId(id) {
|
539
|
-
return this.id + '__' + id
|
539
|
+
return this.id + '__' + id
|
540
540
|
}
|
541
541
|
|
542
542
|
/**
|
@@ -546,14 +546,14 @@ class Gallery extends Component {
|
|
546
546
|
let me = this;
|
547
547
|
|
548
548
|
me.vdom.cn[0].style.transform = me.translate3d(me.translateX, me.translateY, me.translateZ);
|
549
|
-
me.update()
|
549
|
+
me.update()
|
550
550
|
}
|
551
551
|
|
552
552
|
/**
|
553
553
|
* @param {Object} data
|
554
554
|
*/
|
555
555
|
onClick(data) {
|
556
|
-
this.fire(data.id === this.id ? 'containerClick' : 'itemClick', data)
|
556
|
+
this.fire(data.id === this.id ? 'containerClick' : 'itemClick', data)
|
557
557
|
}
|
558
558
|
|
559
559
|
/**
|
@@ -577,7 +577,7 @@ class Gallery extends Component {
|
|
577
577
|
me.moveOrigin();
|
578
578
|
|
579
579
|
me.fire('changeTranslateX', me._translateX);
|
580
|
-
me.fire('changeTranslateZ', me._translateZ)
|
580
|
+
me.fire('changeTranslateZ', me._translateZ)
|
581
581
|
}
|
582
582
|
}
|
583
583
|
|
@@ -587,8 +587,7 @@ class Gallery extends Component {
|
|
587
587
|
onSelectionChange(value) {
|
588
588
|
let me = this,
|
589
589
|
index = me.store.indexOf(value?.[0] || 0),
|
590
|
-
itemHeight
|
591
|
-
itemWidth = me.itemWidth,
|
590
|
+
{appName, id, itemHeight, itemWidth, windowId} = me,
|
592
591
|
camera = me.vdom.cn[0].cn[0],
|
593
592
|
cameraStyle = camera.style,
|
594
593
|
dollyTransform = me.getCameraTransformForCell(index),
|
@@ -598,28 +597,32 @@ class Gallery extends Component {
|
|
598
597
|
timeoutId;
|
599
598
|
|
600
599
|
me.transitionTimeouts.forEach(item => {
|
601
|
-
clearTimeout(item)
|
600
|
+
clearTimeout(item)
|
602
601
|
});
|
603
602
|
|
604
603
|
me.transitionTimeouts.splice(0, me.transitionTimeouts.length);
|
605
604
|
|
606
605
|
Neo.currentWorker.promiseMessage('main', {
|
607
606
|
action : 'updateDom',
|
608
|
-
appName
|
609
|
-
|
610
|
-
|
607
|
+
appName,
|
608
|
+
windowId,
|
609
|
+
|
610
|
+
deltas: {
|
611
|
+
id : id + '__dolly',
|
611
612
|
style: {
|
612
613
|
transform: me.translate3d(...dollyTransform)
|
613
614
|
}
|
614
615
|
}
|
615
616
|
}).then(() => {
|
616
617
|
Neo.currentWorker.promiseMessage('main', {
|
617
|
-
action
|
618
|
-
appName
|
619
|
-
vnodeId
|
618
|
+
action : 'readDom',
|
619
|
+
appName,
|
620
|
+
vnodeId: id,
|
621
|
+
windowId,
|
622
|
+
|
620
623
|
functions: [{
|
621
624
|
fn : 'getComputedStyle',
|
622
|
-
params : [
|
625
|
+
params : [id + '__dolly', null],
|
623
626
|
paramIsDomNode: [true, false],
|
624
627
|
scope : 'defaultView',
|
625
628
|
returnFnName : 'transform',
|
@@ -632,11 +635,11 @@ class Gallery extends Component {
|
|
632
635
|
if (transform.indexOf('matrix3d') === 0) {
|
633
636
|
transform = transform.substring(9, transform.length - 1); // remove matrix3d( ... )
|
634
637
|
transform = transform.split(',').map(e => parseFloat(e));
|
635
|
-
translateX = transform[12]
|
638
|
+
translateX = transform[12] // bottom left element of the 4x4 matrix
|
636
639
|
} else {
|
637
640
|
transform = transform.substring(7, transform.length - 1); // remove matrix( ... )
|
638
641
|
transform = transform.split(',').map(e => parseFloat(e));
|
639
|
-
translateX = transform[4]
|
642
|
+
translateX = transform[4] // bottom left element of the 2x3 matrix
|
640
643
|
}
|
641
644
|
|
642
645
|
translateX = translateX - dollyTransform[0];
|
@@ -653,12 +656,12 @@ class Gallery extends Component {
|
|
653
656
|
cameraStyle.transform = 'rotateY(0deg)';
|
654
657
|
cameraStyle.transitionDuration = '5000ms';
|
655
658
|
|
656
|
-
me.update()
|
659
|
+
me.update()
|
657
660
|
}, 330);
|
658
661
|
|
659
|
-
me.transitionTimeouts.push(timeoutId)
|
660
|
-
})
|
661
|
-
})
|
662
|
+
me.transitionTimeouts.push(timeoutId)
|
663
|
+
})
|
664
|
+
})
|
662
665
|
}
|
663
666
|
|
664
667
|
/**
|
@@ -684,7 +687,7 @@ class Gallery extends Component {
|
|
684
687
|
newCn.push(view.cn[fromIndex]);
|
685
688
|
|
686
689
|
if (index !== fromIndex) {
|
687
|
-
hasChange = true
|
690
|
+
hasChange = true
|
688
691
|
}
|
689
692
|
});
|
690
693
|
|
@@ -693,8 +696,8 @@ class Gallery extends Component {
|
|
693
696
|
me.update();
|
694
697
|
|
695
698
|
setTimeout(() => {
|
696
|
-
me.afterSetOrderByRow(me.orderByRow, !me.orderByRow)
|
697
|
-
}, 50)
|
699
|
+
me.afterSetOrderByRow(me.orderByRow, !me.orderByRow)
|
700
|
+
}, 50)
|
698
701
|
}
|
699
702
|
}
|
700
703
|
}
|
@@ -705,33 +708,32 @@ class Gallery extends Component {
|
|
705
708
|
*/
|
706
709
|
onStoreLoad(items) {
|
707
710
|
this.getItemsRoot().cn = []; // silent update
|
708
|
-
this.createItems()
|
711
|
+
this.createItems()
|
709
712
|
}
|
710
713
|
|
711
714
|
/**
|
712
715
|
*
|
713
716
|
*/
|
714
717
|
refreshImageReflection() {
|
715
|
-
let me
|
716
|
-
amountRows
|
717
|
-
|
718
|
-
|
719
|
-
view = me.getItemsRoot(),
|
718
|
+
let me = this,
|
719
|
+
{amountRows, orderByRow} = me,
|
720
|
+
secondLastColumn = amountRows - 1,
|
721
|
+
view = me.getItemsRoot(),
|
720
722
|
amountColumns;
|
721
723
|
|
722
724
|
if (orderByRow) {
|
723
|
-
amountColumns = Math.ceil(Math.min(me.maxItems, me.store.getCount()) / amountRows)
|
725
|
+
amountColumns = Math.ceil(Math.min(me.maxItems, me.store.getCount()) / amountRows)
|
724
726
|
}
|
725
727
|
|
726
728
|
view.cn.forEach((item, index) => {
|
727
729
|
if (orderByRow) {
|
728
|
-
NeoArray[index >= secondLastColumn * amountColumns ? 'add' : 'remove'](item.cls, 'neo-reflection')
|
730
|
+
NeoArray[index >= secondLastColumn * amountColumns ? 'add' : 'remove'](item.cls, 'neo-reflection')
|
729
731
|
} else {
|
730
|
-
NeoArray[index % amountRows === secondLastColumn ? 'add' : 'remove'](item.cls, 'neo-reflection')
|
732
|
+
NeoArray[index % amountRows === secondLastColumn ? 'add' : 'remove'](item.cls, 'neo-reflection')
|
731
733
|
}
|
732
734
|
});
|
733
735
|
|
734
|
-
me.update()
|
736
|
+
me.update()
|
735
737
|
}
|
736
738
|
|
737
739
|
/**
|
@@ -741,7 +743,7 @@ class Gallery extends Component {
|
|
741
743
|
* @returns {String}
|
742
744
|
*/
|
743
745
|
translate3d(x, y, z) {
|
744
|
-
return `translate3d(${x}px, ${y}px, ${z}px)
|
746
|
+
return `translate3d(${x}px, ${y}px, ${z}px)`
|
745
747
|
}
|
746
748
|
}
|
747
749
|
|