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