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
@@ -36,7 +36,7 @@ class GalleryModel extends Model {
|
|
36
36
|
*/
|
37
37
|
onContainerClick() {
|
38
38
|
let me = this,
|
39
|
-
view
|
39
|
+
{view} = me,
|
40
40
|
oldItems = [...me.items],
|
41
41
|
deltas = [];
|
42
42
|
|
@@ -52,22 +52,18 @@ class GalleryModel extends Model {
|
|
52
52
|
|
53
53
|
me.items.splice(0, me.items.length);
|
54
54
|
|
55
|
-
Neo.
|
56
|
-
|
57
|
-
|
58
|
-
deltas : deltas
|
59
|
-
}).then(() => {
|
60
|
-
me.fire('selectionChange', me.items, oldItems);
|
61
|
-
});
|
55
|
+
Neo.applyDeltas(view.appName, deltas).then(() => {
|
56
|
+
me.fire('selectionChange', me.items, oldItems)
|
57
|
+
})
|
62
58
|
}
|
63
59
|
|
64
60
|
/**
|
65
61
|
* @param {Object} data
|
66
62
|
*/
|
67
63
|
onItemClick(data) {
|
68
|
-
let i
|
69
|
-
len
|
70
|
-
view = this
|
64
|
+
let i = 0,
|
65
|
+
len = data.path.length,
|
66
|
+
{view} = this,
|
71
67
|
key;
|
72
68
|
|
73
69
|
for (; i < len; i++) {
|
@@ -79,7 +75,7 @@ class GalleryModel extends Model {
|
|
79
75
|
record: view.store.get(key)
|
80
76
|
});
|
81
77
|
|
82
|
-
break
|
78
|
+
break
|
83
79
|
}
|
84
80
|
}
|
85
81
|
}
|
@@ -88,28 +84,28 @@ class GalleryModel extends Model {
|
|
88
84
|
* @param {Object} data
|
89
85
|
*/
|
90
86
|
onKeyDownDown(data) {
|
91
|
-
this[this.view.orderByRow ? 'onNavKeyRow' : 'onNavKeyColumn'](1)
|
87
|
+
this[this.view.orderByRow ? 'onNavKeyRow' : 'onNavKeyColumn'](1)
|
92
88
|
}
|
93
89
|
|
94
90
|
/**
|
95
91
|
* @param {Object} data
|
96
92
|
*/
|
97
93
|
onKeyDownLeft(data) {
|
98
|
-
this[this.view.orderByRow ? 'onNavKeyColumn' : 'onNavKeyRow'](-1)
|
94
|
+
this[this.view.orderByRow ? 'onNavKeyColumn' : 'onNavKeyRow'](-1)
|
99
95
|
}
|
100
96
|
|
101
97
|
/**
|
102
98
|
* @param {Object} data
|
103
99
|
*/
|
104
100
|
onKeyDownRight(data) {
|
105
|
-
this[this.view.orderByRow ? 'onNavKeyColumn' : 'onNavKeyRow'](1)
|
101
|
+
this[this.view.orderByRow ? 'onNavKeyColumn' : 'onNavKeyRow'](1)
|
106
102
|
}
|
107
103
|
|
108
104
|
/**
|
109
105
|
* @param {Object} data
|
110
106
|
*/
|
111
107
|
onKeyDownUp(data) {
|
112
|
-
this[this.view.orderByRow ? 'onNavKeyRow' : 'onNavKeyColumn'](-1)
|
108
|
+
this[this.view.orderByRow ? 'onNavKeyRow' : 'onNavKeyColumn'](-1)
|
113
109
|
}
|
114
110
|
|
115
111
|
/**
|
@@ -117,22 +113,22 @@ class GalleryModel extends Model {
|
|
117
113
|
*/
|
118
114
|
onNavKeyColumn(step=1) {
|
119
115
|
let me = this,
|
120
|
-
view
|
121
|
-
store
|
116
|
+
{view} = me,
|
117
|
+
{store} = view,
|
122
118
|
selected = me.items[0],
|
123
119
|
countRecords = store.getCount(),
|
124
120
|
index, record;
|
125
121
|
|
126
122
|
if (selected) {
|
127
|
-
index = store.indexOf(selected) + step
|
123
|
+
index = store.indexOf(selected) + step
|
128
124
|
} else {
|
129
|
-
index = 0
|
125
|
+
index = 0
|
130
126
|
}
|
131
127
|
|
132
128
|
if (index < 0) {
|
133
|
-
index = countRecords - 1
|
129
|
+
index = countRecords - 1
|
134
130
|
} else if (index >= countRecords) {
|
135
|
-
index = 0
|
131
|
+
index = 0
|
136
132
|
}
|
137
133
|
|
138
134
|
record = store.getAt(index);
|
@@ -141,47 +137,45 @@ class GalleryModel extends Model {
|
|
141
137
|
|
142
138
|
view.fire('select', {
|
143
139
|
record
|
144
|
-
})
|
140
|
+
})
|
145
141
|
}
|
146
142
|
|
147
143
|
/**
|
148
144
|
* @param {Number} step=1
|
149
145
|
*/
|
150
146
|
onNavKeyRow(step=1) {
|
151
|
-
let me
|
152
|
-
view
|
153
|
-
store
|
154
|
-
selected
|
155
|
-
countRecords
|
156
|
-
amountRows = view.amountRows,
|
157
|
-
stayInRow = me.stayInRow,
|
147
|
+
let me = this,
|
148
|
+
{stayInRow, view} = me,
|
149
|
+
{amountRows, store} = view,
|
150
|
+
selected = me.items[0],
|
151
|
+
countRecords = store.getCount(),
|
158
152
|
index, record;
|
159
153
|
|
160
154
|
if (view.orderByRow) {
|
161
|
-
amountRows = Math.ceil(view.store.getCount() / amountRows)
|
155
|
+
amountRows = Math.ceil(view.store.getCount() / amountRows)
|
162
156
|
}
|
163
157
|
|
164
158
|
step *= amountRows;
|
165
159
|
|
166
160
|
if (selected) {
|
167
|
-
index = store.indexOf(selected) + step
|
161
|
+
index = store.indexOf(selected) + step
|
168
162
|
} else {
|
169
|
-
index = 0
|
163
|
+
index = 0
|
170
164
|
}
|
171
165
|
|
172
166
|
if (index < 0) {
|
173
167
|
if (!stayInRow) {
|
174
|
-
index
|
168
|
+
index++
|
175
169
|
}
|
176
170
|
while (index < (countRecords - amountRows)) {
|
177
|
-
index += amountRows
|
171
|
+
index += amountRows
|
178
172
|
}
|
179
173
|
} else if (index >= countRecords) {
|
180
174
|
if (!stayInRow) {
|
181
|
-
index
|
175
|
+
index--
|
182
176
|
}
|
183
177
|
while (index >= amountRows) {
|
184
|
-
index -= amountRows
|
178
|
+
index -= amountRows
|
185
179
|
}
|
186
180
|
}
|
187
181
|
|
@@ -191,7 +185,7 @@ class GalleryModel extends Model {
|
|
191
185
|
|
192
186
|
view.fire('select', {
|
193
187
|
record
|
194
|
-
})
|
188
|
+
})
|
195
189
|
}
|
196
190
|
|
197
191
|
/**
|
@@ -200,9 +194,8 @@ class GalleryModel extends Model {
|
|
200
194
|
register(component) {
|
201
195
|
super.register(component);
|
202
196
|
|
203
|
-
let me
|
204
|
-
id
|
205
|
-
view = me.view;
|
197
|
+
let me = this,
|
198
|
+
{id, view} = me;
|
206
199
|
|
207
200
|
view.on({
|
208
201
|
containerClick: me.onContainerClick,
|
@@ -215,25 +208,24 @@ class GalleryModel extends Model {
|
|
215
208
|
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
216
209
|
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
217
210
|
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
218
|
-
)
|
211
|
+
)
|
219
212
|
}
|
220
213
|
|
221
214
|
/**
|
222
215
|
* @param {String} itemId
|
223
216
|
*/
|
224
217
|
select(itemId) {
|
225
|
-
let me
|
226
|
-
view
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
vnodeId = view?.getItemVnodeId(itemId);
|
218
|
+
let me = this,
|
219
|
+
{items, view} = me,
|
220
|
+
oldItems = [...items],
|
221
|
+
deltas = [],
|
222
|
+
vnodeId = view?.getItemVnodeId(itemId);
|
231
223
|
|
232
224
|
// a select() call can happen before the view is registered
|
233
225
|
if (!view) {
|
234
226
|
// will get picked up by view.afterSetMounted()
|
235
227
|
NeoArray['add'](items, itemId);
|
236
|
-
return
|
228
|
+
return
|
237
229
|
}
|
238
230
|
|
239
231
|
if (me.singleSelect) {
|
@@ -245,11 +237,11 @@ class GalleryModel extends Model {
|
|
245
237
|
add : [],
|
246
238
|
remove: ['neo-selected']
|
247
239
|
}
|
248
|
-
})
|
240
|
+
})
|
249
241
|
}
|
250
242
|
});
|
251
243
|
|
252
|
-
items.splice(0, items.length)
|
244
|
+
items.splice(0, items.length)
|
253
245
|
}
|
254
246
|
|
255
247
|
deltas.push({
|
@@ -262,17 +254,13 @@ class GalleryModel extends Model {
|
|
262
254
|
NeoArray['add'](items, itemId);
|
263
255
|
|
264
256
|
if (deltas.length > 0 && view.mounted) {
|
265
|
-
Neo.
|
266
|
-
action : 'updateDom',
|
267
|
-
appName: view.appName,
|
268
|
-
deltas : deltas
|
269
|
-
}).then(() => {
|
257
|
+
Neo.applyDeltas(view.appName, deltas).then(() => {
|
270
258
|
view.onSelect?.(items);
|
271
|
-
me.fire('selectionChange', items, oldItems)
|
272
|
-
})
|
259
|
+
me.fire('selectionChange', items, oldItems)
|
260
|
+
})
|
273
261
|
} else if (view.mounted) {
|
274
262
|
view.onSelect?.(items);
|
275
|
-
me.fire('selectionChange', items, oldItems)
|
263
|
+
me.fire('selectionChange', items, oldItems)
|
276
264
|
}
|
277
265
|
}
|
278
266
|
|
@@ -280,9 +268,7 @@ class GalleryModel extends Model {
|
|
280
268
|
*
|
281
269
|
*/
|
282
270
|
unregister() {
|
283
|
-
let
|
284
|
-
id = me.id,
|
285
|
-
view = me.view;
|
271
|
+
let {id, view} = this;
|
286
272
|
|
287
273
|
view.keys?.removeKeys([
|
288
274
|
{fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
|
@@ -291,7 +277,7 @@ class GalleryModel extends Model {
|
|
291
277
|
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
292
278
|
]);
|
293
279
|
|
294
|
-
super.unregister()
|
280
|
+
super.unregister()
|
295
281
|
}
|
296
282
|
}
|
297
283
|
|
@@ -36,7 +36,7 @@ class HelixModel extends Model {
|
|
36
36
|
*/
|
37
37
|
onContainerClick() {
|
38
38
|
let me = this,
|
39
|
-
view
|
39
|
+
{view} = me,
|
40
40
|
oldItems = [...me.items],
|
41
41
|
deltas = [];
|
42
42
|
|
@@ -52,22 +52,18 @@ class HelixModel extends Model {
|
|
52
52
|
|
53
53
|
me.items.splice(0, me.items.length);
|
54
54
|
|
55
|
-
Neo.
|
56
|
-
|
57
|
-
|
58
|
-
deltas : deltas
|
59
|
-
}).then(() => {
|
60
|
-
me.fire('selectionChange', me.items, oldItems);
|
61
|
-
});
|
55
|
+
Neo.applyDeltas(view.appName, deltas).then(() => {
|
56
|
+
me.fire('selectionChange', me.items, oldItems)
|
57
|
+
})
|
62
58
|
}
|
63
59
|
|
64
60
|
/**
|
65
61
|
* @param {Object} data
|
66
62
|
*/
|
67
63
|
onItemClick(data) {
|
68
|
-
let i
|
69
|
-
len
|
70
|
-
view = this
|
64
|
+
let i = 0,
|
65
|
+
len = data.path.length,
|
66
|
+
{view} = this,
|
71
67
|
key;
|
72
68
|
|
73
69
|
for (; i < len; i++) {
|
@@ -79,7 +75,7 @@ class HelixModel extends Model {
|
|
79
75
|
record: view.store.get(key)
|
80
76
|
});
|
81
77
|
|
82
|
-
break
|
78
|
+
break
|
83
79
|
}
|
84
80
|
}
|
85
81
|
}
|
@@ -88,64 +84,63 @@ class HelixModel extends Model {
|
|
88
84
|
* @param {Object} data
|
89
85
|
*/
|
90
86
|
onKeyDownDown(data) {
|
91
|
-
this.onNavKeyColumn(1)
|
87
|
+
this.onNavKeyColumn(1)
|
92
88
|
}
|
93
89
|
|
94
90
|
/**
|
95
91
|
* @param {Object} data
|
96
92
|
*/
|
97
93
|
onKeyDownLeft(data) {
|
98
|
-
this.onNavKeyRow(-1)
|
94
|
+
this.onNavKeyRow(-1)
|
99
95
|
}
|
100
96
|
|
101
97
|
/**
|
102
98
|
* @param {Object} data
|
103
99
|
*/
|
104
100
|
onKeyDownRight(data) {
|
105
|
-
this.onNavKeyRow(1)
|
101
|
+
this.onNavKeyRow(1)
|
106
102
|
}
|
107
103
|
|
108
104
|
/**
|
109
105
|
* @param {Object} data
|
110
106
|
*/
|
111
107
|
onKeyDownUp(data) {
|
112
|
-
this.onNavKeyColumn(-1)
|
108
|
+
this.onNavKeyColumn(-1)
|
113
109
|
}
|
114
110
|
|
115
111
|
/**
|
116
112
|
* @param {Number} step=1
|
117
113
|
*/
|
118
114
|
onNavKeyColumn(step=1) {
|
119
|
-
let me
|
120
|
-
view
|
121
|
-
store
|
122
|
-
selected
|
123
|
-
countRecords
|
124
|
-
itemsPerRow
|
125
|
-
stayInColumn = me.stayInColumn,
|
115
|
+
let me = this,
|
116
|
+
{stayInColumn, view} = me,
|
117
|
+
{store} = view,
|
118
|
+
selected = me.items[0],
|
119
|
+
countRecords = store.getCount(),
|
120
|
+
itemsPerRow = parseInt(360 / view.itemAngle),
|
126
121
|
index, record;
|
127
122
|
|
128
123
|
step *= itemsPerRow;
|
129
124
|
|
130
125
|
if (selected) {
|
131
|
-
index = store.indexOf(selected) + step
|
126
|
+
index = store.indexOf(selected) + step
|
132
127
|
} else {
|
133
|
-
index = 0
|
128
|
+
index = 0
|
134
129
|
}
|
135
130
|
|
136
131
|
if (index < 0) {
|
137
132
|
if (!stayInColumn) {
|
138
|
-
index
|
133
|
+
index++
|
139
134
|
}
|
140
135
|
while (index < (countRecords - itemsPerRow)) {
|
141
|
-
index += itemsPerRow
|
136
|
+
index += itemsPerRow
|
142
137
|
}
|
143
138
|
} else if (index >= countRecords) {
|
144
139
|
if (!stayInColumn) {
|
145
|
-
index
|
140
|
+
index--
|
146
141
|
}
|
147
142
|
while (index >= itemsPerRow) {
|
148
|
-
index -= itemsPerRow
|
143
|
+
index -= itemsPerRow
|
149
144
|
}
|
150
145
|
}
|
151
146
|
|
@@ -155,7 +150,7 @@ class HelixModel extends Model {
|
|
155
150
|
|
156
151
|
view.fire('select', {
|
157
152
|
record
|
158
|
-
})
|
153
|
+
})
|
159
154
|
}
|
160
155
|
|
161
156
|
/**
|
@@ -163,22 +158,22 @@ class HelixModel extends Model {
|
|
163
158
|
*/
|
164
159
|
onNavKeyRow(step=1) {
|
165
160
|
let me = this,
|
166
|
-
view
|
167
|
-
store
|
161
|
+
{view} = me,
|
162
|
+
{store} = view,
|
168
163
|
selected = me.items[0],
|
169
164
|
countRecords = store.getCount(),
|
170
165
|
index, record;
|
171
166
|
|
172
167
|
if (selected) {
|
173
|
-
index = store.indexOf(selected) + step
|
168
|
+
index = store.indexOf(selected) + step
|
174
169
|
} else {
|
175
|
-
index = 0
|
170
|
+
index = 0
|
176
171
|
}
|
177
172
|
|
178
173
|
if (index < 0) {
|
179
|
-
index = countRecords - 1
|
174
|
+
index = countRecords - 1
|
180
175
|
} else if (index >= countRecords) {
|
181
|
-
index = 0
|
176
|
+
index = 0
|
182
177
|
}
|
183
178
|
|
184
179
|
record = store.getAt(index);
|
@@ -187,7 +182,7 @@ class HelixModel extends Model {
|
|
187
182
|
|
188
183
|
view.fire('select', {
|
189
184
|
record
|
190
|
-
})
|
185
|
+
})
|
191
186
|
}
|
192
187
|
|
193
188
|
/**
|
@@ -196,9 +191,8 @@ class HelixModel extends Model {
|
|
196
191
|
register(component) {
|
197
192
|
super.register(component);
|
198
193
|
|
199
|
-
let me
|
200
|
-
id
|
201
|
-
view = me.view;
|
194
|
+
let me = this,
|
195
|
+
{id, view} = me;
|
202
196
|
|
203
197
|
view.on({
|
204
198
|
containerClick: me.onContainerClick,
|
@@ -211,7 +205,7 @@ class HelixModel extends Model {
|
|
211
205
|
{fn: 'onKeyDownLeft' ,key: 'Left' ,scope: id},
|
212
206
|
{fn: 'onKeyDownRight' ,key: 'Right' ,scope: id},
|
213
207
|
{fn: 'onKeyDownUp' ,key: 'Up' ,scope: id}
|
214
|
-
)
|
208
|
+
)
|
215
209
|
}
|
216
210
|
|
217
211
|
/**
|
@@ -58,14 +58,13 @@ class ListModel extends Model {
|
|
58
58
|
* @param {Object} data
|
59
59
|
*/
|
60
60
|
onListClick({ currentTarget }) {
|
61
|
-
|
61
|
+
let {view} = this,
|
62
|
+
record;
|
62
63
|
|
63
64
|
if (!view.disableSelection) {
|
64
|
-
|
65
|
+
record = view.store.get(view.getItemRecordId(currentTarget));
|
65
66
|
|
66
|
-
|
67
|
-
this.select(record)
|
68
|
-
}
|
67
|
+
record && this.select(record)
|
69
68
|
}
|
70
69
|
}
|
71
70
|
|
@@ -73,8 +72,7 @@ class ListModel extends Model {
|
|
73
72
|
* @param {Object} data
|
74
73
|
*/
|
75
74
|
onListNavigate(data) {
|
76
|
-
|
77
|
-
{view} = this,
|
75
|
+
let {view} = this,
|
78
76
|
{store} = view;
|
79
77
|
|
80
78
|
data.record = store.getAt(Math.min(data.activeIndex, store.getCount()));
|
@@ -126,22 +124,19 @@ class ListModel extends Model {
|
|
126
124
|
* @param {Number} index
|
127
125
|
*/
|
128
126
|
selectAt(index) {
|
129
|
-
let view
|
127
|
+
let {view} = this,
|
130
128
|
recordKey = view?.store.getKeyAt(index),
|
131
129
|
itemId = recordKey && view.getItemId(recordKey);
|
132
130
|
|
133
|
-
|
134
|
-
this.select(itemId)
|
135
|
-
}
|
131
|
+
itemId && this.select(itemId)
|
136
132
|
}
|
137
133
|
|
138
134
|
/**
|
139
135
|
*
|
140
136
|
*/
|
141
137
|
unregister() {
|
142
|
-
let me
|
143
|
-
id
|
144
|
-
view = me.view;
|
138
|
+
let me = this,
|
139
|
+
{id, view} = me;
|
145
140
|
|
146
141
|
view.keys?.removeKeys([
|
147
142
|
{fn: 'onKeyDownDown' ,key: 'Down' ,scope: id},
|