framework7 7.1.5 → 8.0.0-beta.2
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/accordion/accordion.js +2 -16
- package/components/accordion/accordion.less +0 -3
- package/components/actions/actions-class.js +13 -58
- package/components/actions/actions-ios.less +42 -0
- package/components/actions/actions-md.less +12 -0
- package/components/actions/actions-rtl.css +1 -1
- package/components/actions/actions-vars.less +17 -42
- package/components/actions/actions.css +1 -1
- package/components/actions/actions.d.ts +2 -2
- package/components/actions/actions.js +0 -4
- package/components/actions/actions.less +5 -35
- package/components/app/app-class.d.ts +14 -12
- package/components/app/app-class.js +93 -75
- package/components/app/app-ios.less +0 -2
- package/components/app/app-md.less +0 -2
- package/components/app/app-vars.less +13 -96
- package/components/app/app.less +1 -4
- package/components/app/load-module.js +17 -36
- package/components/area-chart/area-chart-class.js +8 -64
- package/components/area-chart/area-chart.js +0 -3
- package/components/area-chart/area-chart.less +0 -3
- package/components/autocomplete/autocomplete-class.js +30 -175
- package/components/autocomplete/autocomplete-ios.less +0 -8
- package/components/autocomplete/autocomplete-rtl.css +1 -1
- package/components/autocomplete/autocomplete-vars.less +8 -22
- package/components/autocomplete/autocomplete.css +1 -1
- package/components/autocomplete/autocomplete.d.ts +1 -3
- package/components/autocomplete/autocomplete.js +1 -6
- package/components/autocomplete/autocomplete.less +6 -18
- package/components/badge/badge-vars.less +3 -6
- package/components/badge/badge.less +1 -3
- package/components/block/block-vars.less +25 -52
- package/components/block/block.less +37 -12
- package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
- package/components/breadcrumbs/breadcrumbs-vars.less +31 -15
- package/components/breadcrumbs/breadcrumbs.css +1 -1
- package/components/breadcrumbs/breadcrumbs.js +0 -2
- package/components/breadcrumbs/breadcrumbs.less +4 -10
- package/components/button/button-vars.less +42 -43
- package/components/button/button.less +24 -26
- package/components/calendar/calendar-class.js +81 -401
- package/components/calendar/calendar-rtl.css +1 -1
- package/components/calendar/calendar-vars.less +32 -46
- package/components/calendar/calendar.css +1 -1
- package/components/calendar/calendar.js +6 -4
- package/components/calendar/calendar.less +10 -21
- package/components/card/card-rtl.css +1 -1
- package/components/card/card-vars.less +41 -44
- package/components/card/card.css +1 -1
- package/components/card/card.js +0 -108
- package/components/card/card.less +18 -24
- package/components/checkbox/checkbox-rtl.css +1 -1
- package/components/checkbox/checkbox-vars.less +0 -8
- package/components/checkbox/checkbox.css +1 -1
- package/components/checkbox/checkbox.less +32 -3
- package/components/chip/chip-ios.less +3 -0
- package/components/chip/chip-md.less +4 -3
- package/components/chip/chip-rtl.css +1 -1
- package/components/chip/chip-vars.less +17 -20
- package/components/chip/chip.css +1 -1
- package/components/chip/chip.less +16 -21
- package/components/color-picker/color-picker-class.js +27 -158
- package/components/color-picker/color-picker-rtl.css +1 -1
- package/components/color-picker/color-picker.css +1 -1
- package/components/color-picker/color-picker.js +0 -4
- package/components/color-picker/color-picker.less +18 -8
- package/components/color-picker/modules/alpha-slider.js +0 -12
- package/components/color-picker/modules/brightness-slider.js +0 -8
- package/components/color-picker/modules/current-color.js +0 -2
- package/components/color-picker/modules/hex.js +0 -12
- package/components/color-picker/modules/hs-spectrum.js +0 -20
- package/components/color-picker/modules/hsb-sliders.js +0 -18
- package/components/color-picker/modules/hue-slider.js +0 -7
- package/components/color-picker/modules/initial-current-colors.js +0 -7
- package/components/color-picker/modules/palette.js +2 -10
- package/components/color-picker/modules/rgb-bars.js +0 -17
- package/components/color-picker/modules/rgb-sliders.js +0 -17
- package/components/color-picker/modules/sb-spectrum.js +0 -20
- package/components/color-picker/modules/wheel.js +0 -28
- package/components/contacts-list/contacts-list-md.less +4 -3
- package/components/contacts-list/contacts-list-rtl.css +1 -1
- package/components/contacts-list/contacts-list-vars.less +3 -15
- package/components/contacts-list/contacts-list.css +1 -1
- package/components/contacts-list/contacts-list.less +0 -3
- package/components/data-table/data-table-class.js +10 -32
- package/components/data-table/data-table-rtl.css +1 -1
- package/components/data-table/data-table-vars.less +6 -39
- package/components/data-table/data-table.css +1 -1
- package/components/data-table/data-table.js +0 -8
- package/components/data-table/data-table.less +0 -3
- package/components/dialog/dialog-class.js +7 -41
- package/components/dialog/dialog-ios.less +0 -3
- package/components/dialog/dialog-md.less +9 -9
- package/components/dialog/dialog-rtl.css +1 -1
- package/components/dialog/dialog-vars.less +25 -70
- package/components/dialog/dialog.css +1 -1
- package/components/dialog/dialog.d.ts +2 -2
- package/components/dialog/dialog.js +12 -48
- package/components/dialog/dialog.less +8 -4
- package/components/fab/fab-rtl.css +1 -1
- package/components/fab/fab-vars.less +20 -14
- package/components/fab/fab.css +1 -1
- package/components/fab/fab.js +0 -21
- package/components/fab/fab.less +50 -53
- package/components/form/form.d.ts +4 -4
- package/components/form/form.js +58 -94
- package/components/form/form.less +0 -3
- package/components/gauge/gauge-class.js +4 -20
- package/components/gauge/gauge.js +0 -9
- package/components/gauge/gauge.less +0 -3
- package/components/grid/grid-rtl.css +1 -1
- package/components/grid/grid-vars.less +0 -7
- package/components/grid/grid.css +1 -1
- package/components/grid/grid.d.ts +2 -8
- package/components/grid/grid.js +1 -225
- package/components/grid/grid.less +54 -184
- package/components/icon/icon.less +0 -3
- package/components/infinite-scroll/infinite-scroll-rtl.css +1 -1
- package/components/infinite-scroll/infinite-scroll.css +1 -1
- package/components/infinite-scroll/infinite-scroll.js +0 -16
- package/components/infinite-scroll/infinite-scroll.less +0 -3
- package/components/input/input-ios.less +49 -41
- package/components/input/input-md.less +87 -19
- package/components/input/input-rtl.css +1 -1
- package/components/input/input-vars.less +26 -60
- package/components/input/input.css +1 -1
- package/components/input/input.js +8 -67
- package/components/input/input.less +67 -153
- package/components/link/link-vars.less +0 -5
- package/components/link/link.less +3 -3
- package/components/list/list-md.less +0 -7
- package/components/list/list-vars.less +59 -108
- package/components/list/list.less +122 -90
- package/components/list-index/list-index-class.js +12 -69
- package/components/list-index/list-index-rtl.css +1 -1
- package/components/list-index/list-index-vars.less +0 -7
- package/components/list-index/list-index.css +1 -1
- package/components/list-index/list-index.d.ts +1 -3
- package/components/list-index/list-index.js +0 -8
- package/components/list-index/list-index.less +4 -7
- package/components/login-screen/login-screen-class.js +4 -9
- package/components/login-screen/login-screen-rtl.css +1 -1
- package/components/login-screen/login-screen-vars.less +13 -12
- package/components/login-screen/login-screen.css +1 -1
- package/components/login-screen/login-screen.js +0 -4
- package/components/login-screen/login-screen.less +2 -8
- package/components/messagebar/messagebar-class.js +18 -79
- package/components/messagebar/messagebar-ios.less +36 -0
- package/components/messagebar/messagebar-md.less +96 -16
- package/components/messagebar/messagebar-rtl.css +1 -1
- package/components/messagebar/messagebar-vars.less +27 -50
- package/components/messagebar/messagebar.css +1 -1
- package/components/messagebar/messagebar.js +0 -8
- package/components/messagebar/messagebar.less +11 -42
- package/components/messages/messages-class.js +17 -110
- package/components/messages/messages-ios.less +9 -0
- package/components/messages/messages-md.less +63 -28
- package/components/messages/messages-rtl.css +1 -1
- package/components/messages/messages-vars.less +43 -50
- package/components/messages/messages.css +1 -1
- package/components/messages/messages.js +0 -8
- package/components/messages/messages.less +0 -11
- package/components/modal/custom-modal-class.js +4 -14
- package/components/modal/modal-class.js +19 -55
- package/components/modal/modal.js +0 -3
- package/components/navbar/navbar-ios.less +3 -39
- package/components/navbar/navbar-md.less +12 -0
- package/components/navbar/navbar-vars.less +20 -49
- package/components/navbar/navbar.d.ts +0 -2
- package/components/navbar/navbar.js +37 -166
- package/components/navbar/navbar.less +4 -26
- package/components/notification/notification-class.js +4 -39
- package/components/notification/notification-md.less +18 -8
- package/components/notification/notification-rtl.css +1 -1
- package/components/notification/notification-vars.less +15 -54
- package/components/notification/notification.css +1 -1
- package/components/notification/notification.js +0 -2
- package/components/notification/notification.less +0 -3
- package/components/page/page-md.less +40 -10
- package/components/page/page-transitions/circle.less +15 -9
- package/components/page/page-transitions/fade.less +17 -11
- package/components/page/page-transitions/flip.less +9 -4
- package/components/page/page-vars.less +3 -19
- package/components/page/page.less +2 -10
- package/components/panel/panel-class.js +27 -132
- package/components/panel/panel-md.less +9 -0
- package/components/panel/panel-rtl.css +1 -1
- package/components/panel/panel-vars.less +7 -21
- package/components/panel/panel.css +1 -1
- package/components/panel/panel.d.ts +2 -2
- package/components/panel/panel.js +0 -34
- package/components/panel/panel.less +56 -48
- package/components/panel/resizable-panel.js +2 -32
- package/components/panel/swipe-panel.js +16 -71
- package/components/photo-browser/photo-browser-class.js +41 -171
- package/components/photo-browser/photo-browser-rtl.css +1 -1
- package/components/photo-browser/photo-browser-vars.less +0 -3
- 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 -6
- package/components/photo-browser/photo-browser.less +0 -4
- package/components/picker/picker-class.js +26 -133
- package/components/picker/picker-column.js +11 -31
- package/components/picker/picker-ios.less +10 -0
- package/components/picker/picker-md.less +6 -0
- package/components/picker/picker-rtl.css +1 -1
- package/components/picker/picker-vars.less +9 -25
- package/components/picker/picker.css +1 -1
- package/components/picker/picker.js +0 -4
- package/components/picker/picker.less +0 -11
- package/components/pie-chart/pie-chart-class.js +8 -31
- package/components/pie-chart/pie-chart.js +0 -3
- package/components/pie-chart/pie-chart.less +0 -3
- package/components/popover/popover-class.js +72 -126
- package/components/popover/popover-ios.less +0 -50
- package/components/popover/popover-rtl.css +1 -1
- package/components/popover/popover-vars.less +6 -23
- package/components/popover/popover.css +1 -1
- package/components/popover/popover.d.ts +2 -0
- package/components/popover/popover.js +1 -12
- package/components/popover/popover.less +62 -5
- package/components/popup/popup-class.js +12 -78
- package/components/popup/popup-rtl.css +1 -1
- package/components/popup/popup-vars.less +7 -9
- package/components/popup/popup.css +1 -1
- package/components/popup/popup.js +0 -4
- package/components/popup/popup.less +4 -4
- package/components/preloader/preloader-ios.less +3 -1
- package/components/preloader/preloader-md.less +5 -1
- package/components/preloader/preloader-rtl.css +1 -1
- package/components/preloader/preloader-vars.less +0 -6
- package/components/preloader/preloader.css +1 -1
- package/components/preloader/preloader.js +8 -25
- package/components/preloader/preloader.less +6 -3
- package/components/progressbar/progressbar-rtl.css +1 -1
- package/components/progressbar/progressbar-vars.less +2 -12
- package/components/progressbar/progressbar.css +1 -1
- package/components/progressbar/progressbar.js +2 -31
- package/components/progressbar/progressbar.less +0 -3
- package/components/pull-to-refresh/pull-to-refresh-class.js +15 -107
- package/components/pull-to-refresh/pull-to-refresh-md.less +2 -1
- package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -1
- package/components/pull-to-refresh/pull-to-refresh-vars.less +0 -4
- package/components/pull-to-refresh/pull-to-refresh.css +1 -1
- package/components/pull-to-refresh/pull-to-refresh.js +0 -8
- package/components/pull-to-refresh/pull-to-refresh.less +0 -3
- package/components/radio/radio-rtl.css +1 -1
- package/components/radio/radio-vars.less +0 -7
- package/components/radio/radio.css +1 -1
- package/components/radio/radio.less +12 -5
- package/components/range/range-class.js +27 -112
- package/components/range/range-rtl.css +1 -1
- package/components/range/range-vars.less +10 -32
- package/components/range/range.css +1 -1
- package/components/range/range.js +0 -12
- package/components/range/range.less +0 -3
- package/components/searchbar/remove-diacritics.js +0 -4
- package/components/searchbar/searchbar-class.js +17 -138
- package/components/searchbar/searchbar-md.less +41 -16
- package/components/searchbar/searchbar-rtl.css +1 -1
- package/components/searchbar/searchbar-vars.less +25 -76
- package/components/searchbar/searchbar.css +1 -1
- package/components/searchbar/searchbar.d.ts +2 -2
- package/components/searchbar/searchbar.js +0 -15
- package/components/searchbar/searchbar.less +14 -28
- package/components/sheet/sheet-class.js +15 -110
- package/components/sheet/sheet-rtl.css +1 -1
- package/components/sheet/sheet-vars.less +17 -6
- package/components/sheet/sheet.css +1 -1
- package/components/sheet/sheet.js +0 -9
- package/components/sheet/sheet.less +10 -3
- package/components/skeleton/skeleton.less +0 -3
- package/components/smart-select/smart-select-class.js +39 -176
- package/components/smart-select/smart-select.d.ts +3 -3
- package/components/smart-select/smart-select.js +2 -14
- package/components/smart-select/smart-select.less +0 -3
- package/components/sortable/sortable-rtl.css +1 -1
- package/components/sortable/sortable-vars.less +8 -8
- package/components/sortable/sortable.css +1 -1
- package/components/sortable/sortable.js +0 -44
- package/components/sortable/sortable.less +0 -3
- package/components/statusbar/statusbar.js +0 -36
- package/components/statusbar/statusbar.less +0 -3
- package/components/stepper/stepper-class.js +10 -83
- package/components/stepper/stepper-rtl.css +1 -1
- package/components/stepper/stepper-vars.less +12 -24
- package/components/stepper/stepper.css +1 -1
- package/components/stepper/stepper.js +0 -12
- package/components/stepper/stepper.less +12 -23
- package/components/subnavbar/subnavbar-vars.less +3 -18
- package/components/subnavbar/subnavbar.js +0 -3
- package/components/subnavbar/subnavbar.less +1 -11
- package/components/swipeout/swipeout-rtl.css +1 -1
- package/components/swipeout/swipeout-vars.less +7 -6
- package/components/swipeout/swipeout.css +1 -1
- package/components/swipeout/swipeout.js +2 -99
- package/components/swipeout/swipeout.less +2 -7
- package/components/swiper/swiper-rtl.css +1 -1
- package/components/swiper/swiper.css +1 -1
- package/components/swiper/swiper.js +15 -48
- package/components/swiper/swiper.less +0 -15
- package/components/tabs/tabs-rtl.css +1 -1
- package/components/tabs/tabs.css +1 -1
- package/components/tabs/tabs.js +23 -60
- package/components/tabs/tabs.less +1 -3
- package/components/text-editor/text-editor-class.js +16 -102
- package/components/text-editor/text-editor-rtl.css +1 -1
- package/components/text-editor/text-editor-vars.less +12 -16
- package/components/text-editor/text-editor.css +1 -1
- package/components/text-editor/text-editor.js +0 -8
- package/components/text-editor/text-editor.less +0 -6
- package/components/timeline/timeline-rtl.css +1 -1
- package/components/timeline/timeline-vars.less +13 -47
- package/components/timeline/timeline.css +1 -1
- package/components/timeline/timeline.less +2 -9
- package/components/toast/toast-class.js +2 -16
- package/components/toast/toast-rtl.css +1 -1
- package/components/toast/toast-vars.less +5 -9
- package/components/toast/toast.css +1 -1
- package/components/toast/toast.js +0 -3
- package/components/toast/toast.less +0 -3
- package/components/toggle/toggle-class.js +6 -30
- package/components/toggle/toggle-ios.less +5 -1
- package/components/toggle/toggle-md.less +27 -11
- package/components/toggle/toggle-rtl.css +1 -1
- package/components/toggle/toggle-vars.less +19 -21
- package/components/toggle/toggle.css +1 -1
- package/components/toggle/toggle.js +0 -8
- package/components/toggle/toggle.less +0 -4
- package/components/toolbar/toolbar-ios.less +2 -2
- package/components/toolbar/toolbar-md.less +28 -4
- package/components/toolbar/toolbar-vars.less +17 -52
- package/components/toolbar/toolbar.js +5 -43
- package/components/toolbar/toolbar.less +27 -45
- package/components/tooltip/tooltip-class.js +10 -64
- package/components/tooltip/tooltip-rtl.css +1 -1
- package/components/tooltip/tooltip-vars.less +12 -3
- package/components/tooltip/tooltip.css +1 -1
- package/components/tooltip/tooltip.js +0 -15
- package/components/tooltip/tooltip.less +0 -3
- package/components/touch-ripple/touch-ripple-class.js +0 -13
- package/components/touch-ripple/touch-ripple.js +0 -4
- package/components/touch-ripple/touch-ripple.less +1 -5
- package/components/treeview/treeview-rtl.css +1 -1
- package/components/treeview/treeview-vars.less +0 -3
- package/components/treeview/treeview.css +1 -1
- package/components/treeview/treeview.js +2 -11
- package/components/treeview/treeview.less +0 -3
- package/components/typography/typography-rtl.css +1 -1
- package/components/typography/typography.css +1 -1
- package/components/typography/typography.less +25 -3
- package/components/view/resizable-view.js +2 -24
- package/components/view/view-class.js +28 -53
- package/components/view/view.d.ts +0 -14
- package/components/view/view.js +8 -32
- package/components/view/view.less +1 -4
- package/components/virtual-list/virtual-list-class.js +58 -146
- package/components/virtual-list/virtual-list.d.ts +1 -1
- package/components/virtual-list/virtual-list.js +0 -2
- package/components/virtual-list/virtual-list.less +0 -3
- package/framework7-bundle-rtl.css +3064 -6057
- package/framework7-bundle-rtl.min.css +3 -3
- package/framework7-bundle.css +3063 -6059
- package/framework7-bundle.esm.js +4 -10
- package/framework7-bundle.js +6442 -12377
- package/framework7-bundle.js.map +1 -1
- package/framework7-bundle.less +2 -27
- package/framework7-bundle.min.css +3 -3
- package/framework7-bundle.min.js +3 -3
- package/framework7-bundle.min.js.map +1 -1
- package/framework7-lite-bundle.esm.js +4 -10
- package/framework7-lite.esm.js +4 -6
- package/framework7-rtl.css +803 -1591
- package/framework7-rtl.min.css +3 -3
- package/framework7-types.d.ts +1 -32
- package/framework7.css +803 -1594
- package/framework7.d.ts +1 -32
- package/framework7.esm.js +4 -6
- package/framework7.less +2 -23
- package/framework7.min.css +3 -3
- package/less/mixins.less +7 -88
- package/modules/clicks/clicks.js +10 -22
- package/modules/component/$h.js +0 -3
- package/modules/component/$jsx.js +0 -5
- package/modules/component/component-class.js +13 -66
- package/modules/component/component.d.ts +1 -2
- package/modules/component/component.js +0 -8
- package/modules/component/eventslisteners.js +12 -20
- package/modules/component/parse-component.js +18 -20
- package/modules/component/snabbdom/h.js +3 -12
- package/modules/component/snabbdom/helpers/attachto.js +9 -14
- package/modules/component/snabbdom/htmldomapi.js +0 -16
- package/modules/component/snabbdom/modules/attributes.js +7 -11
- package/modules/component/snabbdom/modules/class.js +4 -8
- package/modules/component/snabbdom/modules/dataset.js +3 -7
- package/modules/component/snabbdom/modules/eventlisteners.js +16 -22
- package/modules/component/snabbdom/modules/hero.js +4 -44
- package/modules/component/snabbdom/modules/props.js +5 -9
- package/modules/component/snabbdom/modules/style.js +13 -30
- package/modules/component/snabbdom/snabbdom.bundle.js +0 -6
- package/modules/component/snabbdom/snabbdom.js +13 -72
- package/modules/component/snabbdom/thunk.js +3 -11
- package/modules/component/snabbdom/tovnode.js +1 -6
- package/modules/component/vdom.js +4 -62
- package/modules/demo-module.js +0 -8
- package/modules/device/device.js +6 -11
- package/modules/history/history.js +0 -1
- package/modules/resize/resize.js +8 -11
- package/modules/router/async-component.js +0 -3
- package/modules/router/back.js +86 -275
- package/modules/router/clear-previous-history.js +5 -18
- package/modules/router/component-loader.js +4 -25
- package/modules/router/modal.js +16 -43
- package/modules/router/navigate.js +80 -250
- package/modules/router/process-route-queue.js +0 -12
- package/modules/router/redirect.js +0 -8
- package/modules/router/router-class.js +92 -315
- package/modules/router/router.d.ts +3 -5
- package/modules/router/router.js +0 -3
- package/modules/router/swipe-back.js +35 -139
- package/modules/router/tab.js +14 -43
- package/modules/service-worker/service-worker.js +0 -11
- package/modules/store/create-store.js +10 -29
- package/modules/touch/touch.d.ts +2 -4
- package/modules/touch/touch.js +13 -108
- package/package.json +3 -14
- package/shared/$jsx.js +0 -6
- package/shared/class.js +18 -43
- package/shared/constructor-methods.js +0 -11
- package/shared/events-class.js +0 -17
- package/shared/get-device.js +18 -34
- package/shared/get-support.js +2 -8
- package/shared/history.js +2 -30
- package/shared/material-color-utils.js +728 -0
- package/shared/material-colors.js +75 -0
- package/shared/modal-methods.js +0 -18
- package/shared/utils.d.ts +0 -4
- package/shared/utils.js +191 -71
- package/components/accordion/accordion-aurora.less +0 -2
- package/components/accordion/accordion.lazy.js +0 -1
- package/components/actions/actions-aurora.less +0 -9
- package/components/actions/actions.lazy.js +0 -1
- package/components/app/app-aurora.less +0 -10
- package/components/appbar/appbar-aurora.less +0 -2
- package/components/appbar/appbar-ios.less +0 -2
- package/components/appbar/appbar-md.less +0 -2
- package/components/appbar/appbar-rtl.css +0 -1
- package/components/appbar/appbar-vars.less +0 -28
- package/components/appbar/appbar.css +0 -1
- package/components/appbar/appbar.d.ts +0 -14
- package/components/appbar/appbar.js +0 -3
- package/components/appbar/appbar.lazy.js +0 -1
- package/components/appbar/appbar.less +0 -106
- package/components/area-chart/area-chart-aurora.less +0 -2
- package/components/area-chart/area-chart.lazy.js +0 -1
- package/components/autocomplete/autocomplete-aurora.less +0 -17
- package/components/autocomplete/autocomplete.lazy.js +0 -1
- package/components/badge/badge-aurora.less +0 -2
- package/components/block/block-aurora.less +0 -2
- package/components/breadcrumbs/breadcrumbs-aurora.less +0 -2
- package/components/breadcrumbs/breadcrumbs.lazy.js +0 -1
- package/components/button/button-aurora.less +0 -25
- package/components/calendar/calendar-aurora.less +0 -2
- package/components/calendar/calendar.lazy.js +0 -1
- package/components/card/card-aurora.less +0 -2
- package/components/card/card.lazy.js +0 -1
- package/components/checkbox/checkbox-aurora.less +0 -39
- package/components/checkbox/checkbox.lazy.js +0 -1
- package/components/chip/chip-aurora.less +0 -14
- package/components/chip/chip.lazy.js +0 -1
- package/components/color-picker/color-picker-aurora.less +0 -2
- package/components/color-picker/color-picker.lazy.js +0 -1
- package/components/contacts-list/contacts-list-aurora.less +0 -2
- package/components/contacts-list/contacts-list.lazy.js +0 -1
- package/components/data-table/data-table-aurora.less +0 -64
- package/components/data-table/data-table.lazy.js +0 -1
- package/components/dialog/dialog-aurora.less +0 -112
- package/components/dialog/dialog.lazy.js +0 -1
- package/components/elevation/elevation-aurora.less +0 -2
- package/components/elevation/elevation-ios.less +0 -2
- package/components/elevation/elevation-md.less +0 -2
- package/components/elevation/elevation-rtl.css +0 -1
- package/components/elevation/elevation-vars.less +0 -51
- package/components/elevation/elevation.css +0 -1
- package/components/elevation/elevation.d.ts +0 -14
- package/components/elevation/elevation.js +0 -3
- package/components/elevation/elevation.lazy.js +0 -1
- package/components/elevation/elevation.less +0 -54
- package/components/fab/fab-aurora.less +0 -2
- package/components/fab/fab.lazy.js +0 -1
- package/components/form/form-aurora.less +0 -0
- package/components/form/form.lazy.js +0 -1
- package/components/gauge/gauge-aurora.less +0 -2
- package/components/gauge/gauge.lazy.js +0 -1
- package/components/grid/grid-aurora.less +0 -2
- package/components/grid/grid.lazy.js +0 -1
- package/components/icon/icon-aurora.less +0 -49
- package/components/infinite-scroll/infinite-scroll-aurora.less +0 -6
- package/components/infinite-scroll/infinite-scroll.lazy.js +0 -1
- package/components/input/input-aurora.less +0 -120
- package/components/input/input.lazy.js +0 -1
- package/components/lazy/lazy-aurora.less +0 -2
- package/components/lazy/lazy-ios.less +0 -2
- package/components/lazy/lazy-md.less +0 -2
- package/components/lazy/lazy-rtl.css +0 -1
- package/components/lazy/lazy.css +0 -1
- package/components/lazy/lazy.d.ts +0 -57
- package/components/lazy/lazy.js +0 -283
- package/components/lazy/lazy.lazy.js +0 -1
- package/components/lazy/lazy.less +0 -23
- package/components/link/link-aurora.less +0 -15
- package/components/list/list-aurora.less +0 -25
- package/components/list-index/list-index-aurora.less +0 -21
- package/components/list-index/list-index.lazy.js +0 -1
- package/components/login-screen/login-screen-aurora.less +0 -2
- package/components/login-screen/login-screen.lazy.js +0 -1
- package/components/menu/menu-aurora.less +0 -8
- package/components/menu/menu-ios.less +0 -2
- package/components/menu/menu-md.less +0 -2
- package/components/menu/menu-rtl.css +0 -1
- package/components/menu/menu-vars.less +0 -27
- package/components/menu/menu.css +0 -1
- package/components/menu/menu.d.ts +0 -32
- package/components/menu/menu.js +0 -87
- package/components/menu/menu.lazy.js +0 -1
- package/components/menu/menu.less +0 -232
- package/components/messagebar/messagebar-aurora.less +0 -53
- package/components/messagebar/messagebar.lazy.js +0 -1
- package/components/messages/messages-aurora.less +0 -137
- package/components/messages/messages.lazy.js +0 -1
- package/components/navbar/navbar-aurora.less +0 -70
- package/components/notification/notification-aurora.less +0 -59
- package/components/notification/notification.lazy.js +0 -1
- package/components/page/page-aurora.less +0 -49
- package/components/panel/panel-aurora.less +0 -2
- package/components/panel/panel.lazy.js +0 -1
- package/components/photo-browser/photo-browser-aurora.less +0 -2
- package/components/photo-browser/photo-browser.lazy.js +0 -1
- package/components/picker/picker-aurora.less +0 -2
- package/components/picker/picker.lazy.js +0 -1
- package/components/pie-chart/pie-chart-aurora.less +0 -2
- package/components/pie-chart/pie-chart.lazy.js +0 -1
- package/components/popover/popover-aurora.less +0 -56
- package/components/popover/popover.lazy.js +0 -1
- package/components/popup/popup-aurora.less +0 -2
- package/components/popup/popup.lazy.js +0 -1
- package/components/preloader/preloader-aurora.less +0 -53
- package/components/preloader/preloader.lazy.js +0 -1
- package/components/progressbar/progressbar-aurora.less +0 -72
- package/components/progressbar/progressbar.lazy.js +0 -1
- package/components/pull-to-refresh/pull-to-refresh-aurora.less +0 -122
- package/components/pull-to-refresh/pull-to-refresh.lazy.js +0 -1
- package/components/radio/radio-aurora.less +0 -86
- package/components/radio/radio.lazy.js +0 -1
- package/components/range/range-aurora.less +0 -9
- package/components/range/range.lazy.js +0 -1
- package/components/searchbar/searchbar-aurora.less +0 -86
- package/components/searchbar/searchbar.lazy.js +0 -1
- package/components/sheet/sheet-aurora.less +0 -2
- package/components/sheet/sheet.lazy.js +0 -1
- package/components/skeleton/skeleton-aurora.less +0 -2
- package/components/skeleton/skeleton.lazy.js +0 -1
- package/components/smart-select/smart-select-aurora.less +0 -2
- package/components/smart-select/smart-select.lazy.js +0 -1
- package/components/sortable/sortable-aurora.less +0 -7
- package/components/sortable/sortable.lazy.js +0 -1
- package/components/statusbar/statusbar-aurora.less +0 -2
- package/components/stepper/stepper-aurora.less +0 -32
- package/components/stepper/stepper.lazy.js +0 -1
- package/components/subnavbar/subnavbar-aurora.less +0 -51
- package/components/swipeout/swipeout-aurora.less +0 -2
- package/components/swipeout/swipeout.lazy.js +0 -1
- package/components/swiper/swiper-aurora.less +0 -2
- package/components/swiper/swiper.lazy.js +0 -1
- package/components/tabs/tabs-aurora.less +0 -2
- package/components/tabs/tabs.lazy.js +0 -1
- package/components/text-editor/text-editor-aurora.less +0 -9
- package/components/text-editor/text-editor.lazy.js +0 -1
- package/components/timeline/timeline-aurora.less +0 -7
- package/components/timeline/timeline.lazy.js +0 -1
- package/components/toast/toast-aurora.less +0 -64
- package/components/toast/toast.lazy.js +0 -1
- package/components/toggle/toggle-aurora.less +0 -26
- package/components/toggle/toggle.lazy.js +0 -1
- package/components/toolbar/toolbar-aurora.less +0 -43
- package/components/tooltip/tooltip-aurora.less +0 -2
- package/components/tooltip/tooltip.lazy.js +0 -1
- package/components/touch-ripple/touch-ripple-aurora.less +0 -2
- package/components/treeview/treeview-aurora.less +0 -31
- package/components/treeview/treeview.lazy.js +0 -1
- package/components/typography/typography-aurora.less +0 -2
- package/components/typography/typography.lazy.js +0 -1
- package/components/view/view-aurora.less +0 -2
- package/components/virtual-list/virtual-list-aurora.less +0 -2
- package/components/virtual-list/virtual-list.lazy.js +0 -1
- package/framework7.js +0 -14715
- package/framework7.js.map +0 -1
- package/framework7.min.js +0 -14
- package/framework7.min.js.map +0 -1
- package/modules/request/request.d.ts +0 -15
- package/modules/request/request.js +0 -11
- package/shared/request.d.ts +0 -115
- package/shared/request.js +0 -512
|
@@ -6,12 +6,10 @@ 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
|
-
|
|
10
9
|
function refreshPage(props) {
|
|
11
10
|
if (props === void 0) {
|
|
12
11
|
props = {};
|
|
13
12
|
}
|
|
14
|
-
|
|
15
13
|
const router = this;
|
|
16
14
|
appRouterCheck(router, 'refreshPage');
|
|
17
15
|
return router.navigate(router.currentRoute.url, {
|
|
@@ -20,12 +18,10 @@ function refreshPage(props) {
|
|
|
20
18
|
props
|
|
21
19
|
});
|
|
22
20
|
}
|
|
23
|
-
|
|
24
21
|
function forward(router, el, forwardOptions) {
|
|
25
22
|
if (forwardOptions === void 0) {
|
|
26
23
|
forwardOptions = {};
|
|
27
24
|
}
|
|
28
|
-
|
|
29
25
|
const document = getDocument();
|
|
30
26
|
const $el = $(el);
|
|
31
27
|
const app = router.app;
|
|
@@ -49,7 +45,6 @@ function forward(router, el, forwardOptions) {
|
|
|
49
45
|
let detailsInBetweenRemoved = 0;
|
|
50
46
|
let currentRouteIsModal = router.currentRoute.modal;
|
|
51
47
|
let modalType;
|
|
52
|
-
|
|
53
48
|
if (!currentRouteIsModal) {
|
|
54
49
|
'popup popover sheet loginScreen actions customModal panel'.split(' ').forEach(modalLoadProp => {
|
|
55
50
|
if (router.currentRoute && router.currentRoute.route && router.currentRoute.route[modalLoadProp]) {
|
|
@@ -58,12 +53,10 @@ function forward(router, el, forwardOptions) {
|
|
|
58
53
|
}
|
|
59
54
|
});
|
|
60
55
|
}
|
|
61
|
-
|
|
62
56
|
if (currentRouteIsModal) {
|
|
63
57
|
const modalToClose = router.currentRoute.modal || router.currentRoute.route.modalInstance || app[modalType].get();
|
|
64
58
|
const previousUrl = router.history[router.history.length - 2];
|
|
65
59
|
let previousRoute = router.findMatchingRoute(previousUrl);
|
|
66
|
-
|
|
67
60
|
if (!previousRoute && previousUrl) {
|
|
68
61
|
previousRoute = {
|
|
69
62
|
url: previousUrl,
|
|
@@ -75,10 +68,8 @@ function forward(router, el, forwardOptions) {
|
|
|
75
68
|
}
|
|
76
69
|
};
|
|
77
70
|
}
|
|
78
|
-
|
|
79
71
|
router.modalRemove(modalToClose);
|
|
80
72
|
}
|
|
81
|
-
|
|
82
73
|
const dynamicNavbar = router.dynamicNavbar;
|
|
83
74
|
const $viewEl = router.$el;
|
|
84
75
|
const $newPage = $el;
|
|
@@ -88,54 +79,49 @@ function forward(router, el, forwardOptions) {
|
|
|
88
79
|
let $newNavbarEl;
|
|
89
80
|
let $oldNavbarEl;
|
|
90
81
|
router.allowPageChange = false;
|
|
91
|
-
|
|
92
82
|
if ($newPage.length === 0) {
|
|
93
83
|
router.allowPageChange = true;
|
|
94
84
|
return router;
|
|
95
85
|
}
|
|
96
|
-
|
|
97
86
|
if ($newPage.length) {
|
|
98
87
|
// Remove theme elements
|
|
99
88
|
router.removeThemeElements($newPage);
|
|
100
89
|
}
|
|
101
|
-
|
|
102
90
|
if (dynamicNavbar) {
|
|
103
91
|
$newNavbarEl = $newPage.children('.navbar');
|
|
104
92
|
$navbarsEl = router.$navbarsEl;
|
|
105
|
-
|
|
106
93
|
if ($newNavbarEl.length === 0 && $newPage[0] && $newPage[0].f7Page) {
|
|
107
94
|
// Try from pageData
|
|
108
95
|
$newNavbarEl = $newPage[0].f7Page.$navbarEl;
|
|
109
96
|
}
|
|
110
|
-
}
|
|
111
|
-
|
|
97
|
+
}
|
|
112
98
|
|
|
99
|
+
// Save Keep Alive Cache
|
|
113
100
|
if (options.route && options.route.route && options.route.route.keepAlive && !options.route.route.keepAliveData) {
|
|
114
101
|
options.route.route.keepAliveData = {
|
|
115
102
|
pageEl: $el[0]
|
|
116
103
|
};
|
|
117
|
-
}
|
|
118
|
-
|
|
104
|
+
}
|
|
119
105
|
|
|
120
|
-
|
|
106
|
+
// Pages In View
|
|
107
|
+
const $pagesInView = $viewEl.children('.page').filter(pageInView => pageInView !== $newPage[0]);
|
|
121
108
|
|
|
109
|
+
// Navbars In View
|
|
122
110
|
let $navbarsInView;
|
|
123
|
-
|
|
124
111
|
if (dynamicNavbar) {
|
|
125
|
-
$navbarsInView = $navbarsEl.children('.navbar
|
|
126
|
-
}
|
|
127
|
-
|
|
112
|
+
$navbarsInView = $navbarsEl.children('.navbar').filter(navbarInView => navbarInView !== $newNavbarEl[0]);
|
|
113
|
+
}
|
|
128
114
|
|
|
115
|
+
// Exit when reload previous and only 1 page in view so nothing ro reload
|
|
129
116
|
if (options.reloadPrevious && $pagesInView.length < 2) {
|
|
130
117
|
router.allowPageChange = true;
|
|
131
118
|
return router;
|
|
132
|
-
}
|
|
133
|
-
|
|
119
|
+
}
|
|
134
120
|
|
|
121
|
+
// Find Detail' master page
|
|
135
122
|
let isDetail;
|
|
136
123
|
let reloadDetail;
|
|
137
124
|
let isDetailRoot;
|
|
138
|
-
|
|
139
125
|
if (masterDetailEnabled && !options.reloadAll) {
|
|
140
126
|
for (let i = 0; i < $pagesInView.length; i += 1) {
|
|
141
127
|
if (!masterPageEl && $pagesInView[i].classList.contains('page-master')) {
|
|
@@ -145,7 +131,6 @@ function forward(router, el, forwardOptions) {
|
|
|
145
131
|
}
|
|
146
132
|
|
|
147
133
|
isDetail = !isMaster && masterPageEl;
|
|
148
|
-
|
|
149
134
|
if (isDetail) {
|
|
150
135
|
// Find Other Detail
|
|
151
136
|
if (masterPageEl) {
|
|
@@ -160,26 +145,22 @@ function forward(router, el, forwardOptions) {
|
|
|
160
145
|
|
|
161
146
|
reloadDetail = isDetail && options.reloadDetail && app.width >= router.params.masterDetailBreakpoint && masterPageEl;
|
|
162
147
|
}
|
|
163
|
-
|
|
164
148
|
if (isDetail) {
|
|
165
149
|
isDetailRoot = !otherDetailPageEl || reloadDetail || options.reloadAll || options.reloadCurrent;
|
|
166
|
-
}
|
|
167
|
-
|
|
150
|
+
}
|
|
168
151
|
|
|
152
|
+
// New Page
|
|
169
153
|
let newPagePosition = 'next';
|
|
170
|
-
|
|
171
154
|
if (options.reloadCurrent || options.reloadAll || reloadDetail) {
|
|
172
155
|
newPagePosition = 'current';
|
|
173
156
|
} else if (options.reloadPrevious) {
|
|
174
157
|
newPagePosition = 'previous';
|
|
175
158
|
}
|
|
176
|
-
|
|
177
|
-
$newPage.removeClass('page-previous page-current page-next').addClass(`page-${newPagePosition}${isMaster ? ' page-master' : ''}${isDetail ? ' page-master-detail' : ''}${isDetailRoot ? ' page-master-detail-root' : ''}`).removeClass('stacked').trigger('page:unstack').trigger('page:position', {
|
|
159
|
+
$newPage.removeClass('page-previous page-current page-next').addClass(`page-${newPagePosition}${isMaster ? ' page-master' : ''}${isDetail ? ' page-master-detail' : ''}${isDetailRoot ? ' page-master-detail-root' : ''}`).trigger('page:unstack').trigger('page:position', {
|
|
178
160
|
position: newPagePosition
|
|
179
161
|
});
|
|
180
162
|
router.emit('pageUnstack', $newPage[0]);
|
|
181
163
|
router.emit('pagePosition', $newPage[0], newPagePosition);
|
|
182
|
-
|
|
183
164
|
if (isMaster || isDetail) {
|
|
184
165
|
$newPage.trigger('page:role', {
|
|
185
166
|
role: isMaster ? 'master' : 'detail',
|
|
@@ -190,36 +171,31 @@ function forward(router, el, forwardOptions) {
|
|
|
190
171
|
detailRoot: !!isDetailRoot
|
|
191
172
|
});
|
|
192
173
|
}
|
|
193
|
-
|
|
194
174
|
if (dynamicNavbar && $newNavbarEl.length) {
|
|
195
|
-
$newNavbarEl.removeClass('navbar-previous navbar-current navbar-next').addClass(`navbar-${newPagePosition}${isMaster ? ' navbar-master' : ''}${isDetail ? ' navbar-master-detail' : ''}${isDetailRoot ? ' navbar-master-detail-root' : ''}`)
|
|
175
|
+
$newNavbarEl.removeClass('navbar-previous navbar-current navbar-next').addClass(`navbar-${newPagePosition}${isMaster ? ' navbar-master' : ''}${isDetail ? ' navbar-master-detail' : ''}${isDetailRoot ? ' navbar-master-detail-root' : ''}`);
|
|
196
176
|
$newNavbarEl.trigger('navbar:position', {
|
|
197
177
|
position: newPagePosition
|
|
198
178
|
});
|
|
199
179
|
router.emit('navbarPosition', $newNavbarEl[0], newPagePosition);
|
|
200
|
-
|
|
201
180
|
if (isMaster || isDetail) {
|
|
202
181
|
router.emit('navbarRole', $newNavbarEl[0], {
|
|
203
182
|
role: isMaster ? 'master' : 'detail',
|
|
204
183
|
detailRoot: !!isDetailRoot
|
|
205
184
|
});
|
|
206
185
|
}
|
|
207
|
-
}
|
|
208
|
-
|
|
186
|
+
}
|
|
209
187
|
|
|
188
|
+
// Find Old Page
|
|
210
189
|
if (options.reloadCurrent || reloadDetail) {
|
|
211
190
|
if (reloadDetail) {
|
|
212
191
|
$oldPage = $pagesInView.filter(pageEl => !pageEl.classList.contains('page-master'));
|
|
213
|
-
|
|
214
192
|
if (dynamicNavbar) {
|
|
215
193
|
$oldNavbarEl = $($oldPage.map(pageEl => app.navbar.getElByPage(pageEl)));
|
|
216
194
|
}
|
|
217
|
-
|
|
218
195
|
if ($oldPage.length > 1 && masterPageEl) {
|
|
219
196
|
detailsInBetweenRemoved = $oldPage.length - 1;
|
|
220
197
|
$(masterPageEl).removeClass('page-master-stacked').trigger('page:masterunstack');
|
|
221
198
|
router.emit('pageMasterUnstack', masterPageEl);
|
|
222
|
-
|
|
223
199
|
if (dynamicNavbar) {
|
|
224
200
|
$(app.navbar.getElByPage(masterPageEl)).removeClass('navbar-master-stacked');
|
|
225
201
|
router.emit('navbarMasterUnstack', app.navbar.getElByPage(masterPageEl));
|
|
@@ -227,121 +203,94 @@ function forward(router, el, forwardOptions) {
|
|
|
227
203
|
}
|
|
228
204
|
} else {
|
|
229
205
|
$oldPage = $pagesInView.eq($pagesInView.length - 1);
|
|
230
|
-
|
|
231
206
|
if (dynamicNavbar) {
|
|
232
207
|
$oldNavbarEl = $(app.navbar.getElByPage($oldPage));
|
|
233
208
|
}
|
|
234
209
|
}
|
|
235
210
|
} else if (options.reloadPrevious) {
|
|
236
211
|
$oldPage = $pagesInView.eq($pagesInView.length - 2);
|
|
237
|
-
|
|
238
212
|
if (dynamicNavbar) {
|
|
239
213
|
// $oldNavbarEl = $navbarsInView.eq($pagesInView.length - 2);
|
|
240
214
|
$oldNavbarEl = $(app.navbar.getElByPage($oldPage));
|
|
241
215
|
}
|
|
242
216
|
} else if (options.reloadAll) {
|
|
243
217
|
$oldPage = $pagesInView.filter(pageEl => pageEl !== $newPage[0]);
|
|
244
|
-
|
|
245
218
|
if (dynamicNavbar) {
|
|
246
219
|
$oldNavbarEl = $navbarsInView.filter(navbarEl => navbarEl !== $newNavbarEl[0]);
|
|
247
220
|
}
|
|
248
221
|
} else {
|
|
249
222
|
let removedPageEls = [];
|
|
250
223
|
let removedNavbarEls = [];
|
|
251
|
-
|
|
252
224
|
if ($pagesInView.length > 1) {
|
|
253
225
|
let i = 0;
|
|
254
|
-
|
|
255
226
|
for (i = 0; i < $pagesInView.length - 1; i += 1) {
|
|
256
227
|
if (masterPageEl && $pagesInView[i] === masterPageEl) {
|
|
257
228
|
$pagesInView.eq(i).addClass('page-master-stacked');
|
|
258
229
|
$pagesInView.eq(i).trigger('page:masterstack');
|
|
259
230
|
router.emit('pageMasterStack', $pagesInView[i]);
|
|
260
|
-
|
|
261
231
|
if (dynamicNavbar) {
|
|
262
232
|
$(app.navbar.getElByPage(masterPageEl)).addClass('navbar-master-stacked');
|
|
263
233
|
router.emit('navbarMasterStack', app.navbar.getElByPage(masterPageEl));
|
|
264
234
|
}
|
|
265
|
-
|
|
266
235
|
continue; // eslint-disable-line
|
|
267
236
|
}
|
|
268
237
|
|
|
269
238
|
const oldNavbarEl = app.navbar.getElByPage($pagesInView.eq(i));
|
|
270
239
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
}
|
|
279
|
-
} else {
|
|
280
|
-
// Page remove event
|
|
281
|
-
removedPageEls.push($pagesInView[i]);
|
|
282
|
-
router.pageCallback('beforeRemove', $pagesInView[i], $navbarsInView && $navbarsInView[i], 'previous', undefined, options);
|
|
283
|
-
router.removePage($pagesInView[i]);
|
|
284
|
-
|
|
285
|
-
if (dynamicNavbar && oldNavbarEl) {
|
|
286
|
-
removedNavbarEls.push(oldNavbarEl);
|
|
287
|
-
router.removeNavbar(oldNavbarEl);
|
|
288
|
-
}
|
|
240
|
+
// Page remove event
|
|
241
|
+
removedPageEls.push($pagesInView[i]);
|
|
242
|
+
router.pageCallback('beforeRemove', $pagesInView[i], $navbarsInView && $navbarsInView[i], 'previous', undefined, options);
|
|
243
|
+
router.removePage($pagesInView[i]);
|
|
244
|
+
if (dynamicNavbar && oldNavbarEl) {
|
|
245
|
+
removedNavbarEls.push(oldNavbarEl);
|
|
246
|
+
router.removeNavbar(oldNavbarEl);
|
|
289
247
|
}
|
|
290
248
|
}
|
|
291
249
|
}
|
|
292
|
-
|
|
293
|
-
$oldPage = $viewEl.children('.page:not(.stacked)').filter(pageEl => pageEl !== $newPage[0] && removedPageEls.indexOf(pageEl) < 0);
|
|
294
|
-
|
|
250
|
+
$oldPage = $viewEl.children('.page').filter(pageEl => pageEl !== $newPage[0] && removedPageEls.indexOf(pageEl) < 0);
|
|
295
251
|
if (dynamicNavbar) {
|
|
296
|
-
$oldNavbarEl = $navbarsEl.children('.navbar
|
|
252
|
+
$oldNavbarEl = $navbarsEl.children('.navbar').filter(navbarEl => navbarEl !== $newNavbarEl[0] && removedNavbarEls.indexOf(removedNavbarEls) < 0);
|
|
297
253
|
}
|
|
298
|
-
|
|
299
254
|
removedPageEls = [];
|
|
300
255
|
removedNavbarEls = [];
|
|
301
256
|
}
|
|
302
|
-
|
|
303
257
|
if (isDetail && !options.reloadAll) {
|
|
304
258
|
if ($oldPage.length > 1 || reloadDetail) {
|
|
305
259
|
$oldPage = $oldPage.filter(pageEl => !pageEl.classList.contains('page-master'));
|
|
306
260
|
}
|
|
307
|
-
|
|
308
261
|
if ($oldNavbarEl && ($oldNavbarEl.length > 1 || reloadDetail)) {
|
|
309
262
|
$oldNavbarEl = $oldNavbarEl.filter(navbarEl => !navbarEl.classList.contains('navbar-master'));
|
|
310
263
|
}
|
|
311
|
-
}
|
|
312
|
-
|
|
264
|
+
}
|
|
313
265
|
|
|
266
|
+
// Push State
|
|
314
267
|
if (router.params.browserHistory && (options.browserHistory || options.replaceState) && !options.reloadPrevious) {
|
|
315
268
|
const browserHistoryRoot = router.params.browserHistoryRoot || '';
|
|
316
269
|
History[options.reloadCurrent || reloadDetail && otherDetailPageEl || options.reloadAll || options.replaceState ? 'replace' : 'push'](view.id, {
|
|
317
270
|
url: options.route.url
|
|
318
271
|
}, browserHistoryRoot + router.params.browserHistorySeparator + options.route.url);
|
|
319
272
|
}
|
|
320
|
-
|
|
321
273
|
if (!options.reloadPrevious) {
|
|
322
274
|
// Current Page & Navbar
|
|
323
275
|
router.currentPageEl = $newPage[0];
|
|
324
|
-
|
|
325
276
|
if (dynamicNavbar && $newNavbarEl.length) {
|
|
326
277
|
router.currentNavbarEl = $newNavbarEl[0];
|
|
327
278
|
} else {
|
|
328
279
|
delete router.currentNavbarEl;
|
|
329
|
-
}
|
|
330
|
-
|
|
280
|
+
}
|
|
331
281
|
|
|
282
|
+
// Current Route
|
|
332
283
|
router.currentRoute = options.route;
|
|
333
|
-
}
|
|
334
|
-
|
|
284
|
+
}
|
|
335
285
|
|
|
286
|
+
// Update router history
|
|
336
287
|
const url = options.route.url;
|
|
337
|
-
|
|
338
288
|
if (options.history) {
|
|
339
289
|
if (((options.reloadCurrent || reloadDetail && otherDetailPageEl) && router.history.length) > 0 || options.replaceState) {
|
|
340
290
|
if (reloadDetail && detailsInBetweenRemoved > 0) {
|
|
341
291
|
router.history = router.history.slice(0, router.history.length - detailsInBetweenRemoved);
|
|
342
292
|
router.propsHistory = router.propsHistory.slice(0, router.propsHistory.length - detailsInBetweenRemoved);
|
|
343
293
|
}
|
|
344
|
-
|
|
345
294
|
router.history[router.history.length - (options.reloadPrevious ? 2 : 1)] = url;
|
|
346
295
|
router.propsHistory[router.propsHistory.length - (options.reloadPrevious ? 2 : 1)] = options.props || {};
|
|
347
296
|
} else if (options.reloadPrevious) {
|
|
@@ -355,12 +304,11 @@ function forward(router, el, forwardOptions) {
|
|
|
355
304
|
router.propsHistory.push(options.props || {});
|
|
356
305
|
}
|
|
357
306
|
}
|
|
307
|
+
router.saveHistory();
|
|
358
308
|
|
|
359
|
-
|
|
360
|
-
|
|
309
|
+
// Insert new page and navbar
|
|
361
310
|
const newPageInDom = $newPage.parents(document).length > 0;
|
|
362
311
|
const f7Component = $newPage[0].f7Component;
|
|
363
|
-
|
|
364
312
|
if (options.reloadPrevious) {
|
|
365
313
|
if (f7Component && !newPageInDom) {
|
|
366
314
|
f7Component.mount(componentEl => {
|
|
@@ -369,19 +317,16 @@ function forward(router, el, forwardOptions) {
|
|
|
369
317
|
} else {
|
|
370
318
|
$newPage.insertBefore($oldPage);
|
|
371
319
|
}
|
|
372
|
-
|
|
373
320
|
if (dynamicNavbar && $newNavbarEl.length) {
|
|
374
321
|
if ($newNavbarEl.find('.title-large').length) {
|
|
375
322
|
$newNavbarEl.addClass('navbar-large');
|
|
376
323
|
}
|
|
377
|
-
|
|
378
324
|
if ($oldNavbarEl.length) {
|
|
379
325
|
$newNavbarEl.insertBefore($oldNavbarEl);
|
|
380
326
|
} else {
|
|
381
327
|
if (!router.$navbarsEl.parents(document).length) {
|
|
382
328
|
router.$el.prepend(router.$navbarsEl);
|
|
383
329
|
}
|
|
384
|
-
|
|
385
330
|
$navbarsEl.append($newNavbarEl);
|
|
386
331
|
}
|
|
387
332
|
}
|
|
@@ -395,220 +340,154 @@ function forward(router, el, forwardOptions) {
|
|
|
395
340
|
$viewEl.append($newPage[0]);
|
|
396
341
|
}
|
|
397
342
|
}
|
|
398
|
-
|
|
399
343
|
if (dynamicNavbar && $newNavbarEl.length) {
|
|
400
344
|
if ($newNavbarEl.find('.title-large').length) {
|
|
401
345
|
$newNavbarEl.addClass('navbar-large');
|
|
402
346
|
}
|
|
403
|
-
|
|
404
347
|
if (!router.$navbarsEl.parents(document).length) {
|
|
405
348
|
router.$el.prepend(router.$navbarsEl);
|
|
406
349
|
}
|
|
407
|
-
|
|
408
350
|
$navbarsEl.append($newNavbarEl[0]);
|
|
409
351
|
}
|
|
410
352
|
}
|
|
411
|
-
|
|
412
353
|
if (!newPageInDom) {
|
|
413
354
|
router.pageCallback('mounted', $newPage, $newNavbarEl, newPagePosition, reload ? newPagePosition : 'current', options, $oldPage);
|
|
414
355
|
} else if (options.route && options.route.route && options.route.route.keepAlive && !$newPage[0].f7PageMounted) {
|
|
415
356
|
$newPage[0].f7PageMounted = true;
|
|
416
357
|
router.pageCallback('mounted', $newPage, $newNavbarEl, newPagePosition, reload ? newPagePosition : 'current', options, $oldPage);
|
|
417
|
-
}
|
|
418
|
-
|
|
358
|
+
}
|
|
419
359
|
|
|
360
|
+
// Remove old page
|
|
420
361
|
if ((options.reloadCurrent || reloadDetail) && $oldPage.length > 0) {
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
}
|
|
429
|
-
} else {
|
|
430
|
-
// Page remove event
|
|
431
|
-
router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', undefined, options);
|
|
432
|
-
router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', undefined, options);
|
|
433
|
-
router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'current', undefined, options);
|
|
434
|
-
router.removePage($oldPage);
|
|
435
|
-
|
|
436
|
-
if (dynamicNavbar && $oldNavbarEl && $oldNavbarEl.length) {
|
|
437
|
-
router.removeNavbar($oldNavbarEl);
|
|
438
|
-
}
|
|
362
|
+
// Page remove event
|
|
363
|
+
router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', undefined, options);
|
|
364
|
+
router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', undefined, options);
|
|
365
|
+
router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'current', undefined, options);
|
|
366
|
+
router.removePage($oldPage);
|
|
367
|
+
if (dynamicNavbar && $oldNavbarEl && $oldNavbarEl.length) {
|
|
368
|
+
router.removeNavbar($oldNavbarEl);
|
|
439
369
|
}
|
|
440
370
|
} else if (options.reloadAll) {
|
|
441
371
|
$oldPage.each((pageEl, index) => {
|
|
442
372
|
const $oldPageEl = $(pageEl);
|
|
443
373
|
const $oldNavbarElEl = $(app.navbar.getElByPage($oldPageEl));
|
|
444
374
|
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
router.
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
// Page remove event
|
|
455
|
-
if ($oldPageEl.hasClass('page-current')) {
|
|
456
|
-
router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', undefined, options);
|
|
457
|
-
router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', undefined, options);
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
router.pageCallback('beforeRemove', $oldPageEl, $oldNavbarEl && $oldNavbarEl.eq(index), 'previous', undefined, options);
|
|
461
|
-
router.removePage($oldPageEl);
|
|
462
|
-
|
|
463
|
-
if (dynamicNavbar && $oldNavbarElEl.length) {
|
|
464
|
-
router.removeNavbar($oldNavbarElEl);
|
|
465
|
-
}
|
|
375
|
+
// Page remove event
|
|
376
|
+
if ($oldPageEl.hasClass('page-current')) {
|
|
377
|
+
router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', undefined, options);
|
|
378
|
+
router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', undefined, options);
|
|
379
|
+
}
|
|
380
|
+
router.pageCallback('beforeRemove', $oldPageEl, $oldNavbarEl && $oldNavbarEl.eq(index), 'previous', undefined, options);
|
|
381
|
+
router.removePage($oldPageEl);
|
|
382
|
+
if (dynamicNavbar && $oldNavbarElEl.length) {
|
|
383
|
+
router.removeNavbar($oldNavbarElEl);
|
|
466
384
|
}
|
|
467
385
|
});
|
|
468
386
|
} else if (options.reloadPrevious) {
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
if (dynamicNavbar) {
|
|
475
|
-
$oldNavbarEl.addClass('stacked');
|
|
476
|
-
}
|
|
477
|
-
} else {
|
|
478
|
-
// Page remove event
|
|
479
|
-
router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'previous', undefined, options);
|
|
480
|
-
router.removePage($oldPage);
|
|
481
|
-
|
|
482
|
-
if (dynamicNavbar && $oldNavbarEl && $oldNavbarEl.length) {
|
|
483
|
-
router.removeNavbar($oldNavbarEl);
|
|
484
|
-
}
|
|
387
|
+
// Page remove event
|
|
388
|
+
router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'previous', undefined, options);
|
|
389
|
+
router.removePage($oldPage);
|
|
390
|
+
if (dynamicNavbar && $oldNavbarEl && $oldNavbarEl.length) {
|
|
391
|
+
router.removeNavbar($oldNavbarEl);
|
|
485
392
|
}
|
|
486
|
-
}
|
|
487
|
-
|
|
393
|
+
}
|
|
488
394
|
|
|
395
|
+
// Load Tab
|
|
489
396
|
if (options.route.route.tab) {
|
|
490
397
|
router.tabLoad(options.route.route.tab, extend({}, options, {
|
|
491
398
|
history: false,
|
|
492
399
|
browserHistory: false
|
|
493
400
|
}));
|
|
494
|
-
}
|
|
495
|
-
|
|
401
|
+
}
|
|
496
402
|
|
|
403
|
+
// Check master detail
|
|
497
404
|
if (masterDetailEnabled) {
|
|
498
405
|
view.checkMasterDetailBreakpoint();
|
|
499
|
-
}
|
|
500
|
-
|
|
406
|
+
}
|
|
501
407
|
|
|
408
|
+
// Page init and before init events
|
|
502
409
|
router.pageCallback('init', $newPage, $newNavbarEl, newPagePosition, reload ? newPagePosition : 'current', options, $oldPage);
|
|
503
|
-
|
|
504
410
|
if (options.reloadCurrent || options.reloadAll || reloadDetail) {
|
|
505
411
|
router.allowPageChange = true;
|
|
506
412
|
router.pageCallback('beforeIn', $newPage, $newNavbarEl, newPagePosition, 'current', options);
|
|
507
413
|
$newPage.removeAttr('aria-hidden');
|
|
508
|
-
|
|
509
414
|
if (dynamicNavbar && $newNavbarEl) {
|
|
510
415
|
$newNavbarEl.removeAttr('aria-hidden');
|
|
511
416
|
}
|
|
512
|
-
|
|
513
417
|
router.pageCallback('afterIn', $newPage, $newNavbarEl, newPagePosition, 'current', options);
|
|
514
418
|
if (options.reloadCurrent && options.clearPreviousHistory) router.clearPreviousHistory();
|
|
515
|
-
|
|
516
419
|
if (reloadDetail) {
|
|
517
420
|
router.setPagePosition($(masterPageEl), 'previous');
|
|
518
|
-
|
|
519
421
|
if (masterPageEl.f7Page && masterPageEl.f7Page.navbarEl) {
|
|
520
422
|
router.setNavbarPosition($(masterPageEl.f7Page.navbarEl), 'previous');
|
|
521
423
|
}
|
|
522
424
|
}
|
|
523
|
-
|
|
524
425
|
return router;
|
|
525
426
|
}
|
|
526
|
-
|
|
527
427
|
if (options.reloadPrevious) {
|
|
528
428
|
router.allowPageChange = true;
|
|
529
429
|
return router;
|
|
530
|
-
}
|
|
531
|
-
|
|
430
|
+
}
|
|
532
431
|
|
|
432
|
+
// Before animation event
|
|
533
433
|
router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', 'previous', options);
|
|
534
|
-
router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'next', 'current', options);
|
|
434
|
+
router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'next', 'current', options);
|
|
535
435
|
|
|
436
|
+
// Animation
|
|
536
437
|
function afterAnimation() {
|
|
537
438
|
router.setPagePosition($newPage, 'current', false);
|
|
538
439
|
router.setPagePosition($oldPage, 'previous', !$oldPage.hasClass('page-master'));
|
|
539
|
-
|
|
540
440
|
if (dynamicNavbar) {
|
|
541
441
|
router.setNavbarPosition($newNavbarEl, 'current', false);
|
|
542
442
|
router.setNavbarPosition($oldNavbarEl, 'previous', !$oldNavbarEl.hasClass('navbar-master'));
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
|
|
443
|
+
}
|
|
444
|
+
// After animation event
|
|
546
445
|
router.allowPageChange = true;
|
|
547
446
|
router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', 'previous', options);
|
|
548
447
|
router.pageCallback('afterIn', $newPage, $newNavbarEl, 'next', 'current', options);
|
|
549
448
|
let keepOldPage = (router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`]) && !isMaster;
|
|
550
|
-
|
|
551
449
|
if (!keepOldPage) {
|
|
552
450
|
if ($newPage.hasClass('smart-select-page') || $newPage.hasClass('photo-browser-page') || $newPage.hasClass('autocomplete-page') || $newPage.hasClass('color-picker-page')) {
|
|
553
451
|
keepOldPage = true;
|
|
554
452
|
}
|
|
555
453
|
}
|
|
556
|
-
|
|
557
454
|
if (!keepOldPage) {
|
|
558
|
-
if (
|
|
559
|
-
$oldPage.addClass('stacked');
|
|
560
|
-
$oldPage.trigger('page:stack');
|
|
561
|
-
router.emit('pageStack', $oldPage[0]);
|
|
562
|
-
|
|
563
|
-
if (dynamicNavbar) {
|
|
564
|
-
$oldNavbarEl.addClass('stacked');
|
|
565
|
-
}
|
|
566
|
-
} else if (!($newPage.attr('data-name') && $newPage.attr('data-name') === 'smart-select-page')) {
|
|
455
|
+
if (!($newPage.attr('data-name') && $newPage.attr('data-name') === 'smart-select-page')) {
|
|
567
456
|
// Remove event
|
|
568
457
|
router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'previous', undefined, options);
|
|
569
458
|
router.removePage($oldPage);
|
|
570
|
-
|
|
571
459
|
if (dynamicNavbar && $oldNavbarEl.length) {
|
|
572
460
|
router.removeNavbar($oldNavbarEl);
|
|
573
461
|
}
|
|
574
462
|
}
|
|
575
463
|
}
|
|
576
|
-
|
|
577
464
|
if (options.clearPreviousHistory) router.clearPreviousHistory();
|
|
578
465
|
router.emit('routeChanged', router.currentRoute, router.previousRoute, router);
|
|
579
|
-
|
|
580
466
|
if (router.params.browserHistory) {
|
|
581
467
|
History.clearRouterQueue();
|
|
582
468
|
}
|
|
583
469
|
}
|
|
584
|
-
|
|
585
470
|
function setPositionClasses() {
|
|
586
471
|
router.setPagePosition($oldPage, 'current', false);
|
|
587
472
|
router.setPagePosition($newPage, 'next', false);
|
|
588
|
-
|
|
589
473
|
if (dynamicNavbar) {
|
|
590
474
|
router.setNavbarPosition($oldNavbarEl, 'current', false);
|
|
591
475
|
router.setNavbarPosition($newNavbarEl, 'next', false);
|
|
592
476
|
}
|
|
593
477
|
}
|
|
594
|
-
|
|
595
478
|
if (options.animate && !(isMaster && app.width >= router.params.masterDetailBreakpoint)) {
|
|
596
479
|
const delay = router.params[`${router.app.theme}PageLoadDelay`];
|
|
597
480
|
let transition = router.params.transition;
|
|
598
481
|
if (options.transition) transition = options.transition;
|
|
599
|
-
|
|
600
482
|
if (!transition && router.currentRoute && router.currentRoute.route) {
|
|
601
483
|
transition = router.currentRoute.route.transition;
|
|
602
484
|
}
|
|
603
|
-
|
|
604
485
|
if (!transition && router.currentRoute && router.currentRoute.route.options) {
|
|
605
486
|
transition = router.currentRoute.route.options.transition;
|
|
606
487
|
}
|
|
607
|
-
|
|
608
488
|
if (transition) {
|
|
609
489
|
$newPage[0].f7PageTransition = transition;
|
|
610
490
|
}
|
|
611
|
-
|
|
612
491
|
if (delay) {
|
|
613
492
|
setTimeout(() => {
|
|
614
493
|
setPositionClasses();
|
|
@@ -625,19 +504,15 @@ function forward(router, el, forwardOptions) {
|
|
|
625
504
|
} else {
|
|
626
505
|
afterAnimation();
|
|
627
506
|
}
|
|
628
|
-
|
|
629
507
|
return router;
|
|
630
508
|
}
|
|
631
|
-
|
|
632
509
|
function load(router, loadParams, loadOptions, ignorePageChange) {
|
|
633
510
|
if (loadParams === void 0) {
|
|
634
511
|
loadParams = {};
|
|
635
512
|
}
|
|
636
|
-
|
|
637
513
|
if (loadOptions === void 0) {
|
|
638
514
|
loadOptions = {};
|
|
639
515
|
}
|
|
640
|
-
|
|
641
516
|
if (!router.allowPageChange && !ignorePageChange) return router;
|
|
642
517
|
const params = loadParams;
|
|
643
518
|
const options = loadOptions;
|
|
@@ -649,17 +524,14 @@ function load(router, loadParams, loadOptions, ignorePageChange) {
|
|
|
649
524
|
component,
|
|
650
525
|
componentUrl
|
|
651
526
|
} = params;
|
|
652
|
-
|
|
653
527
|
if (!options.reloadCurrent && options.route && options.route.route && options.route.route.parentPath && router.currentRoute.route && router.currentRoute.route.parentPath === options.route.route.parentPath) {
|
|
654
528
|
// Do something nested
|
|
655
529
|
if (options.route.url === router.url) {
|
|
656
530
|
router.allowPageChange = true;
|
|
657
531
|
return false;
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
|
|
532
|
+
}
|
|
533
|
+
// Check for same params
|
|
661
534
|
let sameParams = Object.keys(options.route.params).length === Object.keys(router.currentRoute.params).length;
|
|
662
|
-
|
|
663
535
|
if (sameParams) {
|
|
664
536
|
// Check for equal params name
|
|
665
537
|
Object.keys(options.route.params).forEach(paramName => {
|
|
@@ -668,25 +540,20 @@ function load(router, loadParams, loadOptions, ignorePageChange) {
|
|
|
668
540
|
}
|
|
669
541
|
});
|
|
670
542
|
}
|
|
671
|
-
|
|
672
543
|
if (sameParams) {
|
|
673
544
|
if (options.route.route.tab) {
|
|
674
545
|
return router.tabLoad(options.route.route.tab, options);
|
|
675
546
|
}
|
|
676
|
-
|
|
677
547
|
return false;
|
|
678
548
|
}
|
|
679
|
-
|
|
680
549
|
if (!sameParams && options.route.route.tab && router.currentRoute.route.tab && router.currentRoute.parentPath === options.route.parentPath) {
|
|
681
550
|
return router.tabLoad(options.route.route.tab, options);
|
|
682
551
|
}
|
|
683
552
|
}
|
|
684
|
-
|
|
685
553
|
if (options.route && options.route.url && router.url === options.route.url && !(options.reloadCurrent || options.reloadPrevious) && !router.params.allowDuplicateUrls) {
|
|
686
554
|
router.allowPageChange = true;
|
|
687
555
|
return false;
|
|
688
556
|
}
|
|
689
|
-
|
|
690
557
|
if (!options.route && url) {
|
|
691
558
|
options.route = router.parseRouteUrl(url);
|
|
692
559
|
extend(options.route, {
|
|
@@ -695,23 +562,21 @@ function load(router, loadParams, loadOptions, ignorePageChange) {
|
|
|
695
562
|
path: url
|
|
696
563
|
}
|
|
697
564
|
});
|
|
698
|
-
}
|
|
699
|
-
|
|
565
|
+
}
|
|
700
566
|
|
|
567
|
+
// Component Callbacks
|
|
701
568
|
function resolve(pageEl, newOptions) {
|
|
702
569
|
return forward(router, pageEl, extend(options, newOptions));
|
|
703
570
|
}
|
|
704
|
-
|
|
705
571
|
function reject() {
|
|
706
572
|
router.allowPageChange = true;
|
|
707
573
|
return router;
|
|
708
574
|
}
|
|
709
|
-
|
|
710
575
|
if (url || componentUrl || component) {
|
|
711
576
|
router.allowPageChange = false;
|
|
712
|
-
}
|
|
713
|
-
|
|
577
|
+
}
|
|
714
578
|
|
|
579
|
+
// Proceed
|
|
715
580
|
if (content) {
|
|
716
581
|
forward(router, router.getPageEl(content), options);
|
|
717
582
|
} else if (el) {
|
|
@@ -741,22 +606,18 @@ function load(router, loadParams, loadOptions, ignorePageChange) {
|
|
|
741
606
|
router.xhrAbortController.abort();
|
|
742
607
|
router.xhrAbortController = false;
|
|
743
608
|
}
|
|
744
|
-
|
|
745
609
|
router.xhrRequest(url, options).then(pageContent => {
|
|
746
610
|
forward(router, router.getPageEl(pageContent), options);
|
|
747
611
|
}).catch(() => {
|
|
748
612
|
router.allowPageChange = true;
|
|
749
613
|
});
|
|
750
614
|
}
|
|
751
|
-
|
|
752
615
|
return router;
|
|
753
616
|
}
|
|
754
|
-
|
|
755
617
|
function navigate(navigateParams, navigateOptions) {
|
|
756
618
|
if (navigateOptions === void 0) {
|
|
757
619
|
navigateOptions = {};
|
|
758
620
|
}
|
|
759
|
-
|
|
760
621
|
const router = this;
|
|
761
622
|
if (router.swipeBackActive) return router;
|
|
762
623
|
let url;
|
|
@@ -766,7 +627,6 @@ function navigate(navigateParams, navigateOptions) {
|
|
|
766
627
|
let query;
|
|
767
628
|
let params;
|
|
768
629
|
let route;
|
|
769
|
-
|
|
770
630
|
if (typeof navigateParams === 'string') {
|
|
771
631
|
url = navigateParams;
|
|
772
632
|
} else {
|
|
@@ -777,7 +637,6 @@ function navigate(navigateParams, navigateOptions) {
|
|
|
777
637
|
query = navigateParams.query;
|
|
778
638
|
params = navigateParams.params;
|
|
779
639
|
}
|
|
780
|
-
|
|
781
640
|
if (name || path) {
|
|
782
641
|
url = router.generateUrl({
|
|
783
642
|
path,
|
|
@@ -785,28 +644,21 @@ function navigate(navigateParams, navigateOptions) {
|
|
|
785
644
|
params,
|
|
786
645
|
query
|
|
787
646
|
});
|
|
788
|
-
|
|
789
647
|
if (url) {
|
|
790
648
|
return router.navigate(url, navigateOptions);
|
|
791
649
|
}
|
|
792
|
-
|
|
793
650
|
return router;
|
|
794
651
|
}
|
|
795
|
-
|
|
796
652
|
const app = router.app;
|
|
797
653
|
appRouterCheck(router, 'navigate');
|
|
798
|
-
|
|
799
654
|
if (url === '#' || url === '') {
|
|
800
655
|
return router;
|
|
801
656
|
}
|
|
802
|
-
|
|
803
657
|
let navigateUrl = url.replace('./', '');
|
|
804
|
-
|
|
805
658
|
if (navigateUrl[0] !== '/' && navigateUrl.indexOf('#') !== 0) {
|
|
806
659
|
const currentPath = router.currentRoute.parentPath || router.currentRoute.path;
|
|
807
660
|
navigateUrl = ((currentPath ? `${currentPath}/` : '/') + navigateUrl).replace('///', '/').replace('//', '/');
|
|
808
661
|
}
|
|
809
|
-
|
|
810
662
|
if (createRoute) {
|
|
811
663
|
route = extend(router.parseRouteUrl(navigateUrl), {
|
|
812
664
|
route: extend({}, createRoute)
|
|
@@ -814,42 +666,32 @@ function navigate(navigateParams, navigateOptions) {
|
|
|
814
666
|
} else {
|
|
815
667
|
route = router.findMatchingRoute(navigateUrl);
|
|
816
668
|
}
|
|
817
|
-
|
|
818
669
|
if (!route) {
|
|
819
670
|
return router;
|
|
820
671
|
}
|
|
821
|
-
|
|
822
672
|
if (route.route && route.route.viewName) {
|
|
823
673
|
const anotherViewName = route.route.viewName;
|
|
824
674
|
const anotherView = app.views[anotherViewName];
|
|
825
|
-
|
|
826
675
|
if (!anotherView) {
|
|
827
676
|
throw new Error(`Framework7: There is no View with "${anotherViewName}" name that was specified in this route`);
|
|
828
677
|
}
|
|
829
|
-
|
|
830
678
|
if (anotherView !== router.view) {
|
|
831
679
|
return anotherView.router.navigate(navigateParams, navigateOptions);
|
|
832
680
|
}
|
|
833
681
|
}
|
|
834
|
-
|
|
835
682
|
if (route.route.redirect) {
|
|
836
683
|
return redirect.call(router, 'forward', route, navigateOptions);
|
|
837
684
|
}
|
|
838
|
-
|
|
839
685
|
const options = {};
|
|
840
|
-
|
|
841
686
|
if (route.route.options) {
|
|
842
687
|
extend(options, route.route.options, navigateOptions);
|
|
843
688
|
} else {
|
|
844
689
|
extend(options, navigateOptions);
|
|
845
690
|
}
|
|
846
|
-
|
|
847
691
|
if (options.openIn && (!router.params.ignoreOpenIn || router.params.ignoreOpenIn && router.history.length > 0)) {
|
|
848
692
|
return router.openIn(router, navigateUrl, options);
|
|
849
693
|
}
|
|
850
|
-
|
|
851
694
|
options.route = route;
|
|
852
|
-
|
|
853
695
|
function resolve() {
|
|
854
696
|
let routerLoaded = false;
|
|
855
697
|
'popup popover sheet loginScreen actions customModal panel'.split(' ').forEach(modalLoadProp => {
|
|
@@ -858,14 +700,12 @@ function navigate(navigateParams, navigateOptions) {
|
|
|
858
700
|
router.modalLoad(modalLoadProp, route, options, 'forward');
|
|
859
701
|
}
|
|
860
702
|
});
|
|
861
|
-
|
|
862
703
|
if (route.route.keepAlive && route.route.keepAliveData) {
|
|
863
704
|
load(router, {
|
|
864
705
|
el: route.route.keepAliveData.pageEl
|
|
865
706
|
}, options, false);
|
|
866
707
|
routerLoaded = true;
|
|
867
708
|
}
|
|
868
|
-
|
|
869
709
|
'url content component pageName el componentUrl'.split(' ').forEach(pageLoadProp => {
|
|
870
710
|
if (route.route[pageLoadProp] && !routerLoaded) {
|
|
871
711
|
routerLoaded = true;
|
|
@@ -874,8 +714,8 @@ function navigate(navigateParams, navigateOptions) {
|
|
|
874
714
|
}, options, false);
|
|
875
715
|
}
|
|
876
716
|
});
|
|
877
|
-
if (routerLoaded) return;
|
|
878
|
-
|
|
717
|
+
if (routerLoaded) return;
|
|
718
|
+
// Async
|
|
879
719
|
function asyncResolve(resolveParams, resolveOptions) {
|
|
880
720
|
router.allowPageChange = false;
|
|
881
721
|
let resolvedAsModal = false;
|
|
@@ -892,11 +732,9 @@ function navigate(navigateParams, navigateOptions) {
|
|
|
892
732
|
if (resolvedAsModal) return;
|
|
893
733
|
load(router, resolveParams, extend(options, resolveOptions), true);
|
|
894
734
|
}
|
|
895
|
-
|
|
896
735
|
function asyncReject() {
|
|
897
736
|
router.allowPageChange = true;
|
|
898
737
|
}
|
|
899
|
-
|
|
900
738
|
if (route.route.async) {
|
|
901
739
|
router.allowPageChange = false;
|
|
902
740
|
route.route.async.call(router, {
|
|
@@ -909,32 +747,26 @@ function navigate(navigateParams, navigateOptions) {
|
|
|
909
747
|
app
|
|
910
748
|
});
|
|
911
749
|
}
|
|
912
|
-
|
|
913
750
|
if (route.route.asyncComponent) {
|
|
914
751
|
asyncComponent(router, route.route.asyncComponent, asyncResolve, asyncReject);
|
|
915
752
|
}
|
|
916
753
|
}
|
|
917
|
-
|
|
918
754
|
function reject() {
|
|
919
755
|
router.allowPageChange = true;
|
|
920
756
|
}
|
|
921
|
-
|
|
922
757
|
if (router.params.masterDetailBreakpoint > 0 && route.route.masterRoute) {
|
|
923
758
|
// load detail route
|
|
924
759
|
let preloadMaster = true;
|
|
925
760
|
let masterLoaded = false;
|
|
926
|
-
|
|
927
761
|
if (router.currentRoute && router.currentRoute.route) {
|
|
928
762
|
if ((router.currentRoute.route.master === true || typeof router.currentRoute.route.master === 'function' && router.currentRoute.route.master(app, router)) && (router.currentRoute.route === route.route.masterRoute || router.currentRoute.route.path === route.route.masterRoute.path)) {
|
|
929
763
|
preloadMaster = false;
|
|
930
764
|
}
|
|
931
|
-
|
|
932
765
|
if (router.currentRoute.route.masterRoute && (router.currentRoute.route.masterRoute === route.route.masterRoute || router.currentRoute.route.masterRoute.path === route.route.masterRoute.path)) {
|
|
933
766
|
preloadMaster = false;
|
|
934
767
|
masterLoaded = true;
|
|
935
768
|
}
|
|
936
769
|
}
|
|
937
|
-
|
|
938
770
|
if (preloadMaster || masterLoaded && navigateOptions.reloadAll) {
|
|
939
771
|
router.navigate({
|
|
940
772
|
path: route.route.masterRoute.path,
|
|
@@ -957,13 +789,11 @@ function navigate(navigateParams, navigateOptions) {
|
|
|
957
789
|
browserHistory: !navigateOptions.initial
|
|
958
790
|
}));
|
|
959
791
|
}
|
|
960
|
-
|
|
961
792
|
}
|
|
962
793
|
});
|
|
963
794
|
return router;
|
|
964
795
|
}
|
|
965
796
|
}
|
|
966
|
-
|
|
967
797
|
processRouteQueue.call(router, route, router.currentRoute, () => {
|
|
968
798
|
if (route.route.modules) {
|
|
969
799
|
app.loadModules(Array.isArray(route.route.modules) ? route.route.modules : [route.route.modules]).then(() => {
|
|
@@ -976,9 +806,9 @@ function navigate(navigateParams, navigateOptions) {
|
|
|
976
806
|
}
|
|
977
807
|
}, () => {
|
|
978
808
|
reject();
|
|
979
|
-
}, 'forward');
|
|
809
|
+
}, 'forward');
|
|
980
810
|
|
|
811
|
+
// Return Router
|
|
981
812
|
return router;
|
|
982
813
|
}
|
|
983
|
-
|
|
984
814
|
export { refreshPage, navigate };
|