framework7 8.3.4 → 9.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/actions/actions-ios.less +22 -15
- package/components/actions/actions-rtl.css +1 -1
- package/components/actions/actions-vars.less +4 -7
- package/components/actions/actions.css +1 -1
- package/components/actions/actions.js +2 -8
- package/components/actions/actions.less +0 -3
- package/components/app/app-class.d.ts +2 -0
- package/components/app/app-class.js +19 -15
- package/components/app/app-vars.less +41 -6
- package/components/app/app.less +1 -1
- package/components/area-chart/area-chart-class.js +18 -31
- package/components/area-chart/area-chart-rtl.css +1 -1
- package/components/area-chart/area-chart.css +1 -1
- package/components/autocomplete/autocomplete-class.js +13 -14
- package/components/autocomplete/autocomplete-ios.less +16 -0
- package/components/autocomplete/autocomplete-rtl.css +1 -1
- package/components/autocomplete/autocomplete.css +1 -1
- package/components/autocomplete/autocomplete.d.ts +3 -3
- package/components/autocomplete/autocomplete.js +3 -3
- package/components/autocomplete/autocomplete.less +7 -1
- package/components/block/block-vars.less +6 -6
- package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
- package/components/breadcrumbs/breadcrumbs.css +1 -1
- package/components/button/button-vars.less +13 -12
- package/components/button/button.less +2 -1
- package/components/calendar/calendar-class.js +20 -17
- package/components/calendar/calendar-ios.less +43 -0
- package/components/calendar/calendar-md.less +3 -0
- package/components/calendar/calendar-rtl.css +1 -1
- package/components/calendar/calendar-vars.less +24 -19
- package/components/calendar/calendar.css +1 -1
- package/components/calendar/calendar.d.ts +1 -1
- package/components/calendar/calendar.js +5 -8
- package/components/calendar/calendar.less +4 -2
- package/components/card/card-rtl.css +1 -1
- package/components/card/card-vars.less +5 -5
- package/components/card/card.css +1 -1
- package/components/card/card.js +3 -18
- package/components/card/card.less +1 -1
- package/components/color-picker/color-picker-class.js +11 -23
- package/components/color-picker/color-picker-ios.less +9 -0
- package/components/color-picker/color-picker-md.less +15 -0
- package/components/color-picker/color-picker-rtl.css +1 -1
- package/components/color-picker/color-picker-vars.less +9 -3
- package/components/color-picker/color-picker.css +1 -1
- package/components/color-picker/color-picker.d.ts +1 -2
- package/components/color-picker/color-picker.js +3 -7
- package/components/color-picker/color-picker.less +5 -25
- package/components/color-picker/modules/alpha-slider.js +2 -0
- package/components/color-picker/modules/brightness-slider.js +2 -0
- package/components/color-picker/modules/hs-spectrum.js +1 -2
- package/components/color-picker/modules/hsb-sliders.js +6 -0
- package/components/color-picker/modules/hue-slider.js +2 -0
- package/components/color-picker/modules/rgb-bars.js +6 -0
- package/components/color-picker/modules/rgb-sliders.js +6 -0
- package/components/color-picker/modules/sb-spectrum.js +1 -2
- package/components/color-picker/modules/wheel.js +1 -2
- package/components/data-table/data-table-class.js +1 -4
- package/components/data-table/data-table-ios.less +1 -1
- package/components/data-table/data-table-md.less +4 -2
- package/components/data-table/data-table-rtl.css +1 -1
- package/components/data-table/data-table.css +1 -1
- package/components/data-table/data-table.less +4 -4
- package/components/dialog/dialog-class.js +6 -3
- package/components/dialog/dialog-ios.less +10 -34
- package/components/dialog/dialog-md.less +2 -22
- package/components/dialog/dialog-rtl.css +1 -1
- package/components/dialog/dialog-vars.less +8 -10
- package/components/dialog/dialog.css +1 -1
- package/components/dialog/dialog.js +9 -27
- package/components/dialog/dialog.less +6 -25
- package/components/fab/fab-ios.less +2 -0
- package/components/fab/fab-rtl.css +1 -1
- package/components/fab/fab-vars.less +30 -6
- package/components/fab/fab.css +1 -1
- package/components/fab/fab.js +3 -12
- package/components/gauge/gauge-class.js +2 -8
- package/components/icon/icon-ios.less +10 -0
- package/components/icon/icon-md.less +9 -0
- package/components/icon/icon.less +2 -1
- package/components/input/input-ios.less +3 -2
- package/components/input/input-rtl.css +1 -1
- package/components/input/input.css +1 -1
- package/components/input/input.js +2 -5
- package/components/list/list-vars.less +7 -5
- package/components/list/list.less +1 -1
- package/components/list-index/list-index-class.js +3 -7
- package/components/login-screen/login-screen.js +2 -8
- package/components/login-screen/login-screen.less +1 -0
- package/components/messagebar/messagebar-class.js +5 -20
- package/components/messagebar/messagebar-ios.less +19 -14
- package/components/messagebar/messagebar-md.less +3 -0
- package/components/messagebar/messagebar-rtl.css +1 -1
- package/components/messagebar/messagebar-vars.less +12 -15
- package/components/messagebar/messagebar.css +1 -1
- package/components/messagebar/messagebar.less +4 -5
- package/components/messages/messages-class.js +25 -52
- package/components/messages/messages-ios.less +6 -2
- package/components/messages/messages-rtl.css +1 -1
- package/components/messages/messages-vars.less +1 -1
- package/components/messages/messages.css +1 -1
- package/components/navbar/navbar-ios.less +48 -672
- package/components/navbar/navbar-md.less +41 -1
- package/components/navbar/navbar-vars.less +4 -3
- package/components/navbar/navbar.js +28 -185
- package/components/navbar/navbar.less +8 -66
- package/components/notification/notification-class.js +6 -6
- package/components/notification/notification-ios.less +3 -8
- package/components/notification/notification-md.less +1 -20
- package/components/notification/notification-rtl.css +1 -1
- package/components/notification/notification-vars.less +13 -16
- package/components/notification/notification.css +1 -1
- package/components/notification/notification.less +8 -1
- package/components/page/page-ios.less +1 -8
- package/components/page/page-md.less +12 -11
- package/components/page/page.less +14 -12
- package/components/panel/panel-class.js +7 -28
- package/components/panel/panel-ios.less +4 -0
- package/components/panel/panel-rtl.css +2 -2
- package/components/panel/panel-vars.less +8 -5
- package/components/panel/panel.css +2 -2
- package/components/panel/panel.js +8 -32
- package/components/panel/panel.less +9 -9
- package/components/panel/resizable-panel.js +2 -4
- package/components/photo-browser/photo-browser-class.js +12 -47
- package/components/photo-browser/photo-browser-rtl.css +1 -1
- package/components/photo-browser/photo-browser-vars.less +8 -10
- package/components/photo-browser/photo-browser.css +1 -1
- package/components/photo-browser/photo-browser.d.ts +2 -4
- package/components/photo-browser/photo-browser.js +1 -3
- package/components/photo-browser/photo-browser.less +15 -71
- package/components/picker/picker-class.js +4 -5
- package/components/picker/picker-ios.less +6 -1
- package/components/picker/picker-md.less +9 -0
- package/components/picker/picker-rtl.css +1 -1
- package/components/picker/picker-vars.less +1 -1
- package/components/picker/picker.css +1 -1
- package/components/picker/picker.d.ts +1 -1
- package/components/picker/picker.js +2 -5
- package/components/picker/picker.less +0 -4
- package/components/pie-chart/pie-chart-class.js +7 -14
- package/components/popover/popover-class.js +22 -62
- package/components/popover/popover-ios.less +66 -2
- package/components/popover/popover-md.less +2 -27
- package/components/popover/popover-rtl.css +1 -1
- package/components/popover/popover-vars.less +2 -3
- package/components/popover/popover.css +1 -1
- package/components/popover/popover.d.ts +0 -2
- package/components/popover/popover.js +2 -9
- package/components/popover/popover.less +28 -50
- package/components/popup/popup-class.js +15 -9
- package/components/popup/popup-rtl.css +1 -1
- package/components/popup/popup-vars.less +2 -2
- package/components/popup/popup.css +1 -1
- package/components/popup/popup.js +2 -8
- package/components/popup/popup.less +6 -6
- package/components/preloader/preloader.js +2 -8
- package/components/progressbar/progressbar-md.less +12 -0
- package/components/progressbar/progressbar-rtl.css +1 -1
- package/components/progressbar/progressbar-vars.less +6 -5
- package/components/progressbar/progressbar.css +1 -1
- package/components/progressbar/progressbar.js +3 -12
- package/components/progressbar/progressbar.less +6 -0
- package/components/pull-to-refresh/pull-to-refresh-class.js +5 -12
- package/components/range/range-class.js +34 -27
- package/components/range/range-ios.less +60 -0
- package/components/range/range-md.less +67 -4
- package/components/range/range-rtl.css +1 -1
- package/components/range/range-vars.less +18 -13
- package/components/range/range.css +1 -1
- package/components/range/range.d.ts +3 -1
- package/components/range/range.js +2 -8
- package/components/range/range.less +11 -24
- package/components/searchbar/searchbar-class.js +7 -8
- package/components/searchbar/searchbar-ios.less +37 -13
- package/components/searchbar/searchbar-md.less +5 -0
- package/components/searchbar/searchbar-rtl.css +1 -1
- package/components/searchbar/searchbar-vars.less +13 -16
- package/components/searchbar/searchbar.css +1 -1
- package/components/searchbar/searchbar.js +4 -32
- package/components/searchbar/searchbar.less +4 -5
- package/components/sheet/sheet-class.js +21 -17
- package/components/sheet/sheet-ios.less +10 -0
- package/components/sheet/sheet-md.less +14 -0
- package/components/sheet/sheet-rtl.css +1 -1
- package/components/sheet/sheet-vars.less +5 -9
- package/components/sheet/sheet.css +1 -1
- package/components/sheet/sheet.js +2 -8
- package/components/sheet/sheet.less +5 -17
- package/components/skeleton/skeleton-rtl.css +1 -1
- package/components/skeleton/skeleton.css +1 -1
- package/components/smart-select/smart-select-class.js +15 -20
- package/components/smart-select/smart-select.d.ts +5 -7
- package/components/smart-select/smart-select.js +4 -4
- package/components/sortable/sortable.js +8 -27
- package/components/statusbar/statusbar.js +1 -4
- package/components/stepper/stepper-rtl.css +1 -1
- package/components/stepper/stepper-vars.less +3 -3
- package/components/stepper/stepper.css +1 -1
- package/components/stepper/stepper.js +2 -8
- package/components/subnavbar/subnavbar-ios.less +16 -1
- package/components/subnavbar/subnavbar-md.less +1 -1
- package/components/subnavbar/subnavbar-vars.less +12 -6
- package/components/subnavbar/subnavbar.less +5 -6
- package/components/swipeout/swipeout-ios.less +37 -0
- package/components/swipeout/swipeout-md.less +56 -0
- package/components/swipeout/swipeout-rtl.css +1 -1
- package/components/swipeout/swipeout-vars.less +13 -2
- package/components/swipeout/swipeout.css +1 -1
- package/components/swipeout/swipeout.js +102 -35
- package/components/swipeout/swipeout.less +20 -44
- package/components/swiper/swiper-rtl.css +1 -1
- package/components/swiper/swiper.css +1 -1
- package/components/tabs/tabs.js +3 -9
- package/components/text-editor/text-editor-class.js +1 -1
- package/components/text-editor/text-editor-rtl.css +1 -1
- package/components/text-editor/text-editor.css +1 -1
- package/components/timeline/timeline-ios.less +0 -5
- package/components/timeline/timeline-md.less +0 -5
- package/components/timeline/timeline-rtl.css +1 -1
- package/components/timeline/timeline-vars.less +1 -17
- package/components/timeline/timeline.css +1 -1
- package/components/timeline/timeline.less +0 -196
- package/components/toast/toast-class.js +2 -2
- package/components/toast/toast-ios.less +2 -0
- package/components/toast/toast-rtl.css +1 -1
- package/components/toast/toast-vars.less +2 -4
- package/components/toast/toast.css +1 -1
- package/components/toast/toast.less +1 -1
- package/components/toggle/toggle-class.js +5 -12
- package/components/toggle/toggle-ios.less +68 -50
- package/components/toggle/toggle-rtl.css +1 -1
- package/components/toggle/toggle-vars.less +2 -2
- package/components/toggle/toggle.css +1 -1
- package/components/toolbar/tabbar-highlight.js +134 -0
- package/components/toolbar/toolbar-ios.less +152 -14
- package/components/toolbar/toolbar-md.less +77 -3
- package/components/toolbar/toolbar-vars.less +14 -10
- package/components/toolbar/toolbar.js +32 -13
- package/components/toolbar/toolbar.less +8 -56
- package/components/tooltip/tooltip-class.js +13 -16
- package/components/tooltip/tooltip.js +0 -16
- package/components/touch-highlight/touch-highlight-ios.less +17 -0
- package/components/touch-highlight/touch-highlight-md.less +2 -0
- package/components/touch-highlight/touch-highlight-vars.less +8 -0
- package/components/touch-highlight/touch-highlight.d.ts +25 -0
- package/components/touch-highlight/touch-highlight.js +123 -0
- package/components/touch-highlight/touch-highlight.less +9 -0
- package/components/touch-ripple/touch-ripple.js +1 -4
- package/components/view/resizable-view.js +2 -4
- package/components/view/view-class.js +1 -15
- package/components/view/view.d.ts +0 -4
- package/components/view/view.js +1 -5
- package/components/virtual-list/virtual-list-class.js +2 -8
- package/framework7-bundle-rtl.css +2284 -3019
- package/framework7-bundle-rtl.min.css +9 -7
- package/framework7-bundle.css +2245 -2978
- package/framework7-bundle.esm.js +5 -4
- package/framework7-bundle.js +7170 -6469
- package/framework7-bundle.js.map +1 -1
- package/framework7-bundle.less +4 -3
- package/framework7-bundle.min.css +9 -7
- package/framework7-bundle.min.js +4 -4
- package/framework7-bundle.min.js.map +1 -1
- package/framework7-lite-bundle.esm.js +5 -4
- package/framework7-lite.esm.js +5 -4
- package/framework7-rtl.css +509 -844
- package/framework7-rtl.min.css +8 -6
- package/framework7-types.d.ts +5 -1
- package/framework7.css +509 -843
- package/framework7.d.ts +4 -0
- package/framework7.esm.js +5 -4
- package/framework7.less +4 -3
- package/framework7.min.css +8 -6
- package/less/mixins.less +10 -12
- package/modules/component/$h.js +1 -4
- package/modules/component/$jsx.js +1 -4
- package/modules/component/component-class.js +49 -114
- package/modules/component/component.js +6 -7
- package/modules/component/eventslisteners.js +1 -4
- package/modules/component/snabbdom/modules/hero.js +0 -1
- package/modules/component/snabbdom/modules/style.js +1 -1
- package/modules/component/vdom.js +17 -29
- package/modules/router/back.js +22 -96
- package/modules/router/clear-previous-history.js +1 -7
- package/modules/router/component-loader.js +23 -32
- package/modules/router/modal.js +1 -4
- package/modules/router/navigate.js +28 -167
- package/modules/router/redirect.js +1 -5
- package/modules/router/router-class.js +21 -288
- package/modules/router/swipe-back.js +10 -318
- package/modules/router/tab.js +1 -4
- package/modules/store/create-store.js +2 -8
- package/modules/touch/touch.d.ts +5 -3
- package/modules/touch/touch.js +22 -36
- package/package.json +4 -4
- package/shared/$jsx.js +1 -4
- package/shared/class.js +5 -26
- package/shared/constructor-methods.js +4 -19
- package/shared/events-class.js +3 -12
- package/shared/get-device.js +4 -11
- package/shared/get-support.d.ts +0 -6
- package/shared/get-support.js +1 -20
- package/shared/material-color-utils.js +2102 -693
- package/shared/material-colors.js +94 -23
- package/shared/modal-methods.js +2 -8
- package/shared/utils.js +23 -45
|
@@ -2,21 +2,15 @@ import $ from '../../shared/dom7.js';
|
|
|
2
2
|
import appRouterCheck from './app-router-check.js';
|
|
3
3
|
function clearPreviousPages(router) {
|
|
4
4
|
appRouterCheck(router, 'clearPreviousPages');
|
|
5
|
-
const app = router.app;
|
|
6
|
-
const dynamicNavbar = router.dynamicNavbar;
|
|
7
5
|
const $pagesToRemove = router.$el.children('.page').filter(pageInView => {
|
|
8
6
|
if (router.currentRoute && (router.currentRoute.modal || router.currentRoute.panel)) return true;
|
|
9
7
|
return pageInView !== router.currentPageEl;
|
|
10
8
|
});
|
|
11
9
|
$pagesToRemove.each(pageEl => {
|
|
12
10
|
const $oldPageEl = $(pageEl);
|
|
13
|
-
const $oldNavbarEl = $(app.navbar.getElByPage($oldPageEl));
|
|
14
11
|
// Page remove event
|
|
15
|
-
router.pageCallback('beforeRemove', $oldPageEl,
|
|
12
|
+
router.pageCallback('beforeRemove', $oldPageEl, 'previous', undefined, {});
|
|
16
13
|
router.removePage($oldPageEl);
|
|
17
|
-
if (dynamicNavbar && $oldNavbarEl.length) {
|
|
18
|
-
router.removeNavbar($oldNavbarEl);
|
|
19
|
-
}
|
|
20
14
|
});
|
|
21
15
|
}
|
|
22
16
|
function clearPreviousHistory() {
|
|
@@ -77,10 +77,7 @@ export default {
|
|
|
77
77
|
params.component = component;
|
|
78
78
|
return router.navigate(navigateOptions);
|
|
79
79
|
},
|
|
80
|
-
componentLoader(component, componentUrl, options, resolve, reject) {
|
|
81
|
-
if (options === void 0) {
|
|
82
|
-
options = {};
|
|
83
|
-
}
|
|
80
|
+
componentLoader(component, componentUrl, options = {}, resolve, reject) {
|
|
84
81
|
const router = this;
|
|
85
82
|
const {
|
|
86
83
|
app
|
|
@@ -154,45 +151,39 @@ export default {
|
|
|
154
151
|
compile(component);
|
|
155
152
|
}
|
|
156
153
|
},
|
|
157
|
-
modalComponentLoader(
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
} = _temp === void 0 ? {} : _temp;
|
|
154
|
+
modalComponentLoader({
|
|
155
|
+
component,
|
|
156
|
+
componentUrl,
|
|
157
|
+
options,
|
|
158
|
+
resolve,
|
|
159
|
+
reject
|
|
160
|
+
} = {}) {
|
|
165
161
|
const router = this;
|
|
166
162
|
router.componentLoader(component, componentUrl, options, el => {
|
|
167
163
|
resolve(el);
|
|
168
164
|
}, reject);
|
|
169
165
|
},
|
|
170
|
-
tabComponentLoader(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
} = _temp2 === void 0 ? {} : _temp2;
|
|
166
|
+
tabComponentLoader({
|
|
167
|
+
component,
|
|
168
|
+
componentUrl,
|
|
169
|
+
options,
|
|
170
|
+
resolve,
|
|
171
|
+
reject
|
|
172
|
+
} = {}) {
|
|
178
173
|
const router = this;
|
|
179
174
|
router.componentLoader(component, componentUrl, options, el => {
|
|
180
175
|
resolve(el);
|
|
181
176
|
}, reject);
|
|
182
177
|
},
|
|
183
|
-
pageComponentLoader(
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
} = _temp3 === void 0 ? {} : _temp3;
|
|
178
|
+
pageComponentLoader({
|
|
179
|
+
component,
|
|
180
|
+
componentUrl,
|
|
181
|
+
options,
|
|
182
|
+
resolve,
|
|
183
|
+
reject
|
|
184
|
+
} = {}) {
|
|
191
185
|
const router = this;
|
|
192
|
-
router.componentLoader(component, componentUrl, options,
|
|
193
|
-
if (newOptions === void 0) {
|
|
194
|
-
newOptions = {};
|
|
195
|
-
}
|
|
186
|
+
router.componentLoader(component, componentUrl, options, (el, newOptions = {}) => {
|
|
196
187
|
resolve(el, newOptions);
|
|
197
188
|
}, reject);
|
|
198
189
|
}
|
package/modules/router/modal.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { extend, nextTick } from '../../shared/utils.js';
|
|
2
2
|
import History from '../../shared/history.js';
|
|
3
3
|
import asyncComponent from './async-component.js';
|
|
4
|
-
function modalLoad(modalType, route, loadOptions, direction) {
|
|
5
|
-
if (loadOptions === void 0) {
|
|
6
|
-
loadOptions = {};
|
|
7
|
-
}
|
|
4
|
+
function modalLoad(modalType, route, loadOptions = {}, direction) {
|
|
8
5
|
const router = this;
|
|
9
6
|
const app = router.app;
|
|
10
7
|
const isPanel = modalType === 'panel';
|
|
@@ -6,10 +6,7 @@ import redirect from './redirect.js';
|
|
|
6
6
|
import processRouteQueue from './process-route-queue.js';
|
|
7
7
|
import appRouterCheck from './app-router-check.js';
|
|
8
8
|
import asyncComponent from './async-component.js';
|
|
9
|
-
function refreshPage(props) {
|
|
10
|
-
if (props === void 0) {
|
|
11
|
-
props = {};
|
|
12
|
-
}
|
|
9
|
+
function refreshPage(props = {}) {
|
|
13
10
|
const router = this;
|
|
14
11
|
appRouterCheck(router, 'refreshPage');
|
|
15
12
|
return router.navigate(router.currentRoute.url, {
|
|
@@ -18,10 +15,7 @@ function refreshPage(props) {
|
|
|
18
15
|
props
|
|
19
16
|
});
|
|
20
17
|
}
|
|
21
|
-
function forward(router, el, forwardOptions) {
|
|
22
|
-
if (forwardOptions === void 0) {
|
|
23
|
-
forwardOptions = {};
|
|
24
|
-
}
|
|
18
|
+
function forward(router, el, forwardOptions = {}) {
|
|
25
19
|
const document = getDocument();
|
|
26
20
|
const $el = $(el);
|
|
27
21
|
const app = router.app;
|
|
@@ -70,14 +64,10 @@ function forward(router, el, forwardOptions) {
|
|
|
70
64
|
}
|
|
71
65
|
router.modalRemove(modalToClose);
|
|
72
66
|
}
|
|
73
|
-
const dynamicNavbar = router.dynamicNavbar;
|
|
74
67
|
const $viewEl = router.$el;
|
|
75
68
|
const $newPage = $el;
|
|
76
69
|
const reload = options.reloadPrevious || options.reloadCurrent || options.reloadAll;
|
|
77
70
|
let $oldPage;
|
|
78
|
-
let $navbarsEl;
|
|
79
|
-
let $newNavbarEl;
|
|
80
|
-
let $oldNavbarEl;
|
|
81
71
|
router.allowPageChange = false;
|
|
82
72
|
if ($newPage.length === 0) {
|
|
83
73
|
router.allowPageChange = true;
|
|
@@ -87,14 +77,6 @@ function forward(router, el, forwardOptions) {
|
|
|
87
77
|
// Remove theme elements
|
|
88
78
|
router.removeThemeElements($newPage);
|
|
89
79
|
}
|
|
90
|
-
if (dynamicNavbar) {
|
|
91
|
-
$newNavbarEl = $newPage.children('.navbar');
|
|
92
|
-
$navbarsEl = router.$navbarsEl;
|
|
93
|
-
if ($newNavbarEl.length === 0 && $newPage[0] && $newPage[0].f7Page) {
|
|
94
|
-
// Try from pageData
|
|
95
|
-
$newNavbarEl = $newPage[0].f7Page.$navbarEl;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
80
|
|
|
99
81
|
// Save Keep Alive Cache
|
|
100
82
|
if (options.route && options.route.route && options.route.route.keepAlive && !options.route.route.keepAliveData) {
|
|
@@ -106,12 +88,6 @@ function forward(router, el, forwardOptions) {
|
|
|
106
88
|
// Pages In View
|
|
107
89
|
const $pagesInView = $viewEl.children('.page').filter(pageInView => pageInView !== $newPage[0]);
|
|
108
90
|
|
|
109
|
-
// Navbars In View
|
|
110
|
-
let $navbarsInView;
|
|
111
|
-
if (dynamicNavbar) {
|
|
112
|
-
$navbarsInView = $navbarsEl.children('.navbar').filter(navbarInView => navbarInView !== $newNavbarEl[0]);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
91
|
// Exit when reload previous and only 1 page in view so nothing ro reload
|
|
116
92
|
if (options.reloadPrevious && $pagesInView.length < 2) {
|
|
117
93
|
router.allowPageChange = true;
|
|
@@ -129,7 +105,6 @@ function forward(router, el, forwardOptions) {
|
|
|
129
105
|
continue; // eslint-disable-line
|
|
130
106
|
}
|
|
131
107
|
}
|
|
132
|
-
|
|
133
108
|
isDetail = !isMaster && masterPageEl;
|
|
134
109
|
if (isDetail) {
|
|
135
110
|
// Find Other Detail
|
|
@@ -142,7 +117,6 @@ function forward(router, el, forwardOptions) {
|
|
|
142
117
|
}
|
|
143
118
|
}
|
|
144
119
|
}
|
|
145
|
-
|
|
146
120
|
reloadDetail = isDetail && options.reloadDetail && app.width >= router.params.masterDetailBreakpoint && masterPageEl;
|
|
147
121
|
}
|
|
148
122
|
if (isDetail) {
|
|
@@ -171,56 +145,25 @@ function forward(router, el, forwardOptions) {
|
|
|
171
145
|
detailRoot: !!isDetailRoot
|
|
172
146
|
});
|
|
173
147
|
}
|
|
174
|
-
if (dynamicNavbar && $newNavbarEl.length) {
|
|
175
|
-
$newNavbarEl.removeClass('navbar-previous navbar-current navbar-next').addClass(`navbar-${newPagePosition}${isMaster ? ' navbar-master' : ''}${isDetail ? ' navbar-master-detail' : ''}${isDetailRoot ? ' navbar-master-detail-root' : ''}`);
|
|
176
|
-
$newNavbarEl.trigger('navbar:position', {
|
|
177
|
-
position: newPagePosition
|
|
178
|
-
});
|
|
179
|
-
router.emit('navbarPosition', $newNavbarEl[0], newPagePosition);
|
|
180
|
-
if (isMaster || isDetail) {
|
|
181
|
-
router.emit('navbarRole', $newNavbarEl[0], {
|
|
182
|
-
role: isMaster ? 'master' : 'detail',
|
|
183
|
-
detailRoot: !!isDetailRoot
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
148
|
|
|
188
149
|
// Find Old Page
|
|
189
150
|
if (options.reloadCurrent || reloadDetail) {
|
|
190
151
|
if (reloadDetail) {
|
|
191
152
|
$oldPage = $pagesInView.filter(pageEl => !pageEl.classList.contains('page-master'));
|
|
192
|
-
if (dynamicNavbar) {
|
|
193
|
-
$oldNavbarEl = $($oldPage.map(pageEl => app.navbar.getElByPage(pageEl)));
|
|
194
|
-
}
|
|
195
153
|
if ($oldPage.length > 1 && masterPageEl) {
|
|
196
154
|
detailsInBetweenRemoved = $oldPage.length - 1;
|
|
197
155
|
$(masterPageEl).removeClass('page-master-stacked').trigger('page:masterunstack');
|
|
198
156
|
router.emit('pageMasterUnstack', masterPageEl);
|
|
199
|
-
if (dynamicNavbar) {
|
|
200
|
-
$(app.navbar.getElByPage(masterPageEl)).removeClass('navbar-master-stacked');
|
|
201
|
-
router.emit('navbarMasterUnstack', app.navbar.getElByPage(masterPageEl));
|
|
202
|
-
}
|
|
203
157
|
}
|
|
204
158
|
} else {
|
|
205
159
|
$oldPage = $pagesInView.eq($pagesInView.length - 1);
|
|
206
|
-
if (dynamicNavbar) {
|
|
207
|
-
$oldNavbarEl = $(app.navbar.getElByPage($oldPage));
|
|
208
|
-
}
|
|
209
160
|
}
|
|
210
161
|
} else if (options.reloadPrevious) {
|
|
211
162
|
$oldPage = $pagesInView.eq($pagesInView.length - 2);
|
|
212
|
-
if (dynamicNavbar) {
|
|
213
|
-
// $oldNavbarEl = $navbarsInView.eq($pagesInView.length - 2);
|
|
214
|
-
$oldNavbarEl = $(app.navbar.getElByPage($oldPage));
|
|
215
|
-
}
|
|
216
163
|
} else if (options.reloadAll) {
|
|
217
164
|
$oldPage = $pagesInView.filter(pageEl => pageEl !== $newPage[0]);
|
|
218
|
-
if (dynamicNavbar) {
|
|
219
|
-
$oldNavbarEl = $navbarsInView.filter(navbarEl => navbarEl !== $newNavbarEl[0]);
|
|
220
|
-
}
|
|
221
165
|
} else {
|
|
222
|
-
|
|
223
|
-
let removedNavbarEls = [];
|
|
166
|
+
const removedPageEls = [];
|
|
224
167
|
if ($pagesInView.length > 1) {
|
|
225
168
|
let i = 0;
|
|
226
169
|
for (i = 0; i < $pagesInView.length - 1; i += 1) {
|
|
@@ -228,39 +171,21 @@ function forward(router, el, forwardOptions) {
|
|
|
228
171
|
$pagesInView.eq(i).addClass('page-master-stacked');
|
|
229
172
|
$pagesInView.eq(i).trigger('page:masterstack');
|
|
230
173
|
router.emit('pageMasterStack', $pagesInView[i]);
|
|
231
|
-
if (dynamicNavbar) {
|
|
232
|
-
$(app.navbar.getElByPage(masterPageEl)).addClass('navbar-master-stacked');
|
|
233
|
-
router.emit('navbarMasterStack', app.navbar.getElByPage(masterPageEl));
|
|
234
|
-
}
|
|
235
174
|
continue; // eslint-disable-line
|
|
236
175
|
}
|
|
237
176
|
|
|
238
|
-
const oldNavbarEl = app.navbar.getElByPage($pagesInView.eq(i));
|
|
239
|
-
|
|
240
177
|
// Page remove event
|
|
241
178
|
removedPageEls.push($pagesInView[i]);
|
|
242
|
-
router.pageCallback('beforeRemove', $pagesInView[i],
|
|
179
|
+
router.pageCallback('beforeRemove', $pagesInView[i], 'previous', undefined, options);
|
|
243
180
|
router.removePage($pagesInView[i]);
|
|
244
|
-
if (dynamicNavbar && oldNavbarEl) {
|
|
245
|
-
removedNavbarEls.push(oldNavbarEl);
|
|
246
|
-
router.removeNavbar(oldNavbarEl);
|
|
247
|
-
}
|
|
248
181
|
}
|
|
249
182
|
}
|
|
250
183
|
$oldPage = $viewEl.children('.page').filter(pageEl => pageEl !== $newPage[0] && removedPageEls.indexOf(pageEl) < 0);
|
|
251
|
-
if (dynamicNavbar) {
|
|
252
|
-
$oldNavbarEl = $navbarsEl.children('.navbar').filter(navbarEl => navbarEl !== $newNavbarEl[0] && removedNavbarEls.indexOf(removedNavbarEls) < 0);
|
|
253
|
-
}
|
|
254
|
-
removedPageEls = [];
|
|
255
|
-
removedNavbarEls = [];
|
|
256
184
|
}
|
|
257
185
|
if (isDetail && !options.reloadAll) {
|
|
258
186
|
if ($oldPage.length > 1 || reloadDetail) {
|
|
259
187
|
$oldPage = $oldPage.filter(pageEl => !pageEl.classList.contains('page-master'));
|
|
260
188
|
}
|
|
261
|
-
if ($oldNavbarEl && ($oldNavbarEl.length > 1 || reloadDetail)) {
|
|
262
|
-
$oldNavbarEl = $oldNavbarEl.filter(navbarEl => !navbarEl.classList.contains('navbar-master'));
|
|
263
|
-
}
|
|
264
189
|
}
|
|
265
190
|
|
|
266
191
|
// Push State
|
|
@@ -271,14 +196,8 @@ function forward(router, el, forwardOptions) {
|
|
|
271
196
|
}, browserHistoryRoot + router.params.browserHistorySeparator + options.route.url);
|
|
272
197
|
}
|
|
273
198
|
if (!options.reloadPrevious) {
|
|
274
|
-
// Current Page
|
|
199
|
+
// Current Page
|
|
275
200
|
router.currentPageEl = $newPage[0];
|
|
276
|
-
if (dynamicNavbar && $newNavbarEl.length) {
|
|
277
|
-
router.currentNavbarEl = $newNavbarEl[0];
|
|
278
|
-
} else {
|
|
279
|
-
delete router.currentNavbarEl;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
201
|
// Current Route
|
|
283
202
|
router.currentRoute = options.route;
|
|
284
203
|
}
|
|
@@ -306,7 +225,7 @@ function forward(router, el, forwardOptions) {
|
|
|
306
225
|
}
|
|
307
226
|
router.saveHistory();
|
|
308
227
|
|
|
309
|
-
// Insert new page
|
|
228
|
+
// Insert new page
|
|
310
229
|
const newPageInDom = $newPage.parents(document).length > 0;
|
|
311
230
|
const f7Component = $newPage[0].f7Component;
|
|
312
231
|
if (options.reloadPrevious) {
|
|
@@ -317,19 +236,6 @@ function forward(router, el, forwardOptions) {
|
|
|
317
236
|
} else {
|
|
318
237
|
$newPage.insertBefore($oldPage);
|
|
319
238
|
}
|
|
320
|
-
if (dynamicNavbar && $newNavbarEl.length) {
|
|
321
|
-
if ($newNavbarEl.find('.title-large').length) {
|
|
322
|
-
$newNavbarEl.addClass('navbar-large');
|
|
323
|
-
}
|
|
324
|
-
if ($oldNavbarEl.length) {
|
|
325
|
-
$newNavbarEl.insertBefore($oldNavbarEl);
|
|
326
|
-
} else {
|
|
327
|
-
if (!router.$navbarsEl.parents(document).length) {
|
|
328
|
-
router.$el.prepend(router.$navbarsEl);
|
|
329
|
-
}
|
|
330
|
-
$navbarsEl.append($newNavbarEl);
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
239
|
} else {
|
|
334
240
|
if ($oldPage.next('.page')[0] !== $newPage[0]) {
|
|
335
241
|
if (f7Component && !newPageInDom) {
|
|
@@ -340,56 +246,37 @@ function forward(router, el, forwardOptions) {
|
|
|
340
246
|
$viewEl.append($newPage[0]);
|
|
341
247
|
}
|
|
342
248
|
}
|
|
343
|
-
if (dynamicNavbar && $newNavbarEl.length) {
|
|
344
|
-
if ($newNavbarEl.find('.title-large').length) {
|
|
345
|
-
$newNavbarEl.addClass('navbar-large');
|
|
346
|
-
}
|
|
347
|
-
if (!router.$navbarsEl.parents(document).length) {
|
|
348
|
-
router.$el.prepend(router.$navbarsEl);
|
|
349
|
-
}
|
|
350
|
-
$navbarsEl.append($newNavbarEl[0]);
|
|
351
|
-
}
|
|
352
249
|
}
|
|
353
250
|
if (!newPageInDom) {
|
|
354
|
-
router.pageCallback('mounted', $newPage,
|
|
251
|
+
router.pageCallback('mounted', $newPage, newPagePosition, reload ? newPagePosition : 'current', options, $oldPage);
|
|
355
252
|
} else if (options.route && options.route.route && options.route.route.keepAlive && !$newPage[0].f7PageMounted) {
|
|
356
253
|
$newPage[0].f7PageMounted = true;
|
|
357
|
-
router.pageCallback('mounted', $newPage,
|
|
254
|
+
router.pageCallback('mounted', $newPage, newPagePosition, reload ? newPagePosition : 'current', options, $oldPage);
|
|
358
255
|
}
|
|
359
256
|
|
|
360
257
|
// Remove old page
|
|
361
258
|
if ((options.reloadCurrent || reloadDetail) && $oldPage.length > 0) {
|
|
362
259
|
// Page remove event
|
|
363
|
-
router.pageCallback('beforeOut', $oldPage,
|
|
364
|
-
router.pageCallback('afterOut', $oldPage,
|
|
365
|
-
router.pageCallback('beforeRemove', $oldPage,
|
|
260
|
+
router.pageCallback('beforeOut', $oldPage, 'current', undefined, options);
|
|
261
|
+
router.pageCallback('afterOut', $oldPage, 'current', undefined, options);
|
|
262
|
+
router.pageCallback('beforeRemove', $oldPage, 'current', undefined, options);
|
|
366
263
|
router.removePage($oldPage);
|
|
367
|
-
if (dynamicNavbar && $oldNavbarEl && $oldNavbarEl.length) {
|
|
368
|
-
router.removeNavbar($oldNavbarEl);
|
|
369
|
-
}
|
|
370
264
|
} else if (options.reloadAll) {
|
|
371
|
-
$oldPage.each(
|
|
265
|
+
$oldPage.each(pageEl => {
|
|
372
266
|
const $oldPageEl = $(pageEl);
|
|
373
|
-
const $oldNavbarElEl = $(app.navbar.getElByPage($oldPageEl));
|
|
374
267
|
|
|
375
268
|
// Page remove event
|
|
376
269
|
if ($oldPageEl.hasClass('page-current')) {
|
|
377
|
-
router.pageCallback('beforeOut', $oldPage,
|
|
378
|
-
router.pageCallback('afterOut', $oldPage,
|
|
270
|
+
router.pageCallback('beforeOut', $oldPage, 'current', undefined, options);
|
|
271
|
+
router.pageCallback('afterOut', $oldPage, 'current', undefined, options);
|
|
379
272
|
}
|
|
380
|
-
router.pageCallback('beforeRemove', $oldPageEl,
|
|
273
|
+
router.pageCallback('beforeRemove', $oldPageEl, 'previous', undefined, options);
|
|
381
274
|
router.removePage($oldPageEl);
|
|
382
|
-
if (dynamicNavbar && $oldNavbarElEl.length) {
|
|
383
|
-
router.removeNavbar($oldNavbarElEl);
|
|
384
|
-
}
|
|
385
275
|
});
|
|
386
276
|
} else if (options.reloadPrevious) {
|
|
387
277
|
// Page remove event
|
|
388
|
-
router.pageCallback('beforeRemove', $oldPage,
|
|
278
|
+
router.pageCallback('beforeRemove', $oldPage, 'previous', undefined, options);
|
|
389
279
|
router.removePage($oldPage);
|
|
390
|
-
if (dynamicNavbar && $oldNavbarEl && $oldNavbarEl.length) {
|
|
391
|
-
router.removeNavbar($oldNavbarEl);
|
|
392
|
-
}
|
|
393
280
|
}
|
|
394
281
|
|
|
395
282
|
// Load Tab
|
|
@@ -406,21 +293,15 @@ function forward(router, el, forwardOptions) {
|
|
|
406
293
|
}
|
|
407
294
|
|
|
408
295
|
// Page init and before init events
|
|
409
|
-
router.pageCallback('init', $newPage,
|
|
296
|
+
router.pageCallback('init', $newPage, newPagePosition, reload ? newPagePosition : 'current', options, $oldPage);
|
|
410
297
|
if (options.reloadCurrent || options.reloadAll || reloadDetail) {
|
|
411
298
|
router.allowPageChange = true;
|
|
412
|
-
router.pageCallback('beforeIn', $newPage,
|
|
299
|
+
router.pageCallback('beforeIn', $newPage, newPagePosition, 'current', options);
|
|
413
300
|
$newPage.removeAttr('aria-hidden');
|
|
414
|
-
|
|
415
|
-
$newNavbarEl.removeAttr('aria-hidden');
|
|
416
|
-
}
|
|
417
|
-
router.pageCallback('afterIn', $newPage, $newNavbarEl, newPagePosition, 'current', options);
|
|
301
|
+
router.pageCallback('afterIn', $newPage, newPagePosition, 'current', options);
|
|
418
302
|
if (options.reloadCurrent && options.clearPreviousHistory) router.clearPreviousHistory();
|
|
419
303
|
if (reloadDetail) {
|
|
420
304
|
router.setPagePosition($(masterPageEl), 'previous');
|
|
421
|
-
if (masterPageEl.f7Page && masterPageEl.f7Page.navbarEl) {
|
|
422
|
-
router.setNavbarPosition($(masterPageEl.f7Page.navbarEl), 'previous');
|
|
423
|
-
}
|
|
424
305
|
}
|
|
425
306
|
return router;
|
|
426
307
|
}
|
|
@@ -430,21 +311,17 @@ function forward(router, el, forwardOptions) {
|
|
|
430
311
|
}
|
|
431
312
|
|
|
432
313
|
// Before animation event
|
|
433
|
-
router.pageCallback('beforeOut', $oldPage,
|
|
434
|
-
router.pageCallback('beforeIn', $newPage,
|
|
314
|
+
router.pageCallback('beforeOut', $oldPage, 'current', 'previous', options);
|
|
315
|
+
router.pageCallback('beforeIn', $newPage, 'next', 'current', options);
|
|
435
316
|
|
|
436
317
|
// Animation
|
|
437
318
|
function afterAnimation() {
|
|
438
319
|
router.setPagePosition($newPage, 'current', false);
|
|
439
320
|
router.setPagePosition($oldPage, 'previous', !$oldPage.hasClass('page-master'));
|
|
440
|
-
if (dynamicNavbar) {
|
|
441
|
-
router.setNavbarPosition($newNavbarEl, 'current', false);
|
|
442
|
-
router.setNavbarPosition($oldNavbarEl, 'previous', !$oldNavbarEl.hasClass('navbar-master'));
|
|
443
|
-
}
|
|
444
321
|
// After animation event
|
|
445
322
|
router.allowPageChange = true;
|
|
446
|
-
router.pageCallback('afterOut', $oldPage,
|
|
447
|
-
router.pageCallback('afterIn', $newPage,
|
|
323
|
+
router.pageCallback('afterOut', $oldPage, 'current', 'previous', options);
|
|
324
|
+
router.pageCallback('afterIn', $newPage, 'next', 'current', options);
|
|
448
325
|
let keepOldPage = (router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`]) && !isMaster;
|
|
449
326
|
if (!keepOldPage) {
|
|
450
327
|
if ($newPage.hasClass('smart-select-page') || $newPage.hasClass('photo-browser-page') || $newPage.hasClass('autocomplete-page') || $newPage.hasClass('color-picker-page')) {
|
|
@@ -454,11 +331,8 @@ function forward(router, el, forwardOptions) {
|
|
|
454
331
|
if (!keepOldPage) {
|
|
455
332
|
if (!($newPage.attr('data-name') && $newPage.attr('data-name') === 'smart-select-page')) {
|
|
456
333
|
// Remove event
|
|
457
|
-
router.pageCallback('beforeRemove', $oldPage,
|
|
334
|
+
router.pageCallback('beforeRemove', $oldPage, 'previous', undefined, options);
|
|
458
335
|
router.removePage($oldPage);
|
|
459
|
-
if (dynamicNavbar && $oldNavbarEl.length) {
|
|
460
|
-
router.removeNavbar($oldNavbarEl);
|
|
461
|
-
}
|
|
462
336
|
}
|
|
463
337
|
}
|
|
464
338
|
if (options.clearPreviousHistory) router.clearPreviousHistory();
|
|
@@ -470,10 +344,6 @@ function forward(router, el, forwardOptions) {
|
|
|
470
344
|
function setPositionClasses() {
|
|
471
345
|
router.setPagePosition($oldPage, 'current', false);
|
|
472
346
|
router.setPagePosition($newPage, 'next', false);
|
|
473
|
-
if (dynamicNavbar) {
|
|
474
|
-
router.setNavbarPosition($oldNavbarEl, 'current', false);
|
|
475
|
-
router.setNavbarPosition($newNavbarEl, 'next', false);
|
|
476
|
-
}
|
|
477
347
|
}
|
|
478
348
|
if (options.animate && !(isMaster && app.width >= router.params.masterDetailBreakpoint)) {
|
|
479
349
|
const delay = router.params[`${router.app.theme}PageLoadDelay`];
|
|
@@ -491,13 +361,13 @@ function forward(router, el, forwardOptions) {
|
|
|
491
361
|
if (delay) {
|
|
492
362
|
setTimeout(() => {
|
|
493
363
|
setPositionClasses();
|
|
494
|
-
router.animate($oldPage, $newPage,
|
|
364
|
+
router.animate($oldPage, $newPage, 'forward', transition, () => {
|
|
495
365
|
afterAnimation();
|
|
496
366
|
});
|
|
497
367
|
}, delay);
|
|
498
368
|
} else {
|
|
499
369
|
setPositionClasses();
|
|
500
|
-
router.animate($oldPage, $newPage,
|
|
370
|
+
router.animate($oldPage, $newPage, 'forward', transition, () => {
|
|
501
371
|
afterAnimation();
|
|
502
372
|
});
|
|
503
373
|
}
|
|
@@ -506,13 +376,7 @@ function forward(router, el, forwardOptions) {
|
|
|
506
376
|
}
|
|
507
377
|
return router;
|
|
508
378
|
}
|
|
509
|
-
function load(router, loadParams, loadOptions, ignorePageChange) {
|
|
510
|
-
if (loadParams === void 0) {
|
|
511
|
-
loadParams = {};
|
|
512
|
-
}
|
|
513
|
-
if (loadOptions === void 0) {
|
|
514
|
-
loadOptions = {};
|
|
515
|
-
}
|
|
379
|
+
function load(router, loadParams = {}, loadOptions = {}, ignorePageChange) {
|
|
516
380
|
if (!router.allowPageChange && !ignorePageChange) return router;
|
|
517
381
|
const params = loadParams;
|
|
518
382
|
const options = loadOptions;
|
|
@@ -614,10 +478,7 @@ function load(router, loadParams, loadOptions, ignorePageChange) {
|
|
|
614
478
|
}
|
|
615
479
|
return router;
|
|
616
480
|
}
|
|
617
|
-
function navigate(navigateParams, navigateOptions) {
|
|
618
|
-
if (navigateOptions === void 0) {
|
|
619
|
-
navigateOptions = {};
|
|
620
|
-
}
|
|
481
|
+
function navigate(navigateParams, navigateOptions = {}) {
|
|
621
482
|
const router = this;
|
|
622
483
|
if (router.swipeBackActive) return router;
|
|
623
484
|
let url;
|
|
@@ -7,11 +7,7 @@ export default function redirect(direction, route, options) {
|
|
|
7
7
|
options.replaceState = true; // eslint-disable-line
|
|
8
8
|
options.history = true; // eslint-disable-line
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
function redirectResolve(redirectUrl, redirectOptions) {
|
|
12
|
-
if (redirectOptions === void 0) {
|
|
13
|
-
redirectOptions = {};
|
|
14
|
-
}
|
|
10
|
+
function redirectResolve(redirectUrl, redirectOptions = {}) {
|
|
15
11
|
router.allowPageChange = true;
|
|
16
12
|
router[method](redirectUrl, extend({}, options, redirectOptions));
|
|
17
13
|
}
|