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
|
@@ -61,7 +61,7 @@ export namespace SmartSelect {
|
|
|
61
61
|
searchbarPlaceholder?: string;
|
|
62
62
|
/** Searchbar "cancel" link text. Has effect only in iOS theme (default 'Cancel') */
|
|
63
63
|
searchbarDisableText?: string;
|
|
64
|
-
/** Enables searchbar disable button.
|
|
64
|
+
/** Enables searchbar disable button. (default true) */
|
|
65
65
|
searchbarDisableButton?: boolean;
|
|
66
66
|
/** Value of "spellcheck" attribute on searchbar input (default false) */
|
|
67
67
|
searchbarSpellcheck?: boolean;
|
|
@@ -92,8 +92,6 @@ export namespace SmartSelect {
|
|
|
92
92
|
optionIconIos?: string;
|
|
93
93
|
/** Same as `optionIcon` but will apply only when MD theme is active */
|
|
94
94
|
optionIconMd?: string;
|
|
95
|
-
/** Same as `optionIcon` but will apply only when Aurora theme is active */
|
|
96
|
-
optionIconAurora?: string;
|
|
97
95
|
|
|
98
96
|
/** Function to render smart select page, must return full page HTML string */
|
|
99
97
|
renderPage?: (items: any[]) => string;
|
|
@@ -27,7 +27,7 @@ export default {
|
|
|
27
27
|
searchbar: false,
|
|
28
28
|
searchbarPlaceholder: 'Search',
|
|
29
29
|
searchbarDisableText: 'Cancel',
|
|
30
|
-
searchbarDisableButton:
|
|
30
|
+
searchbarDisableButton: true,
|
|
31
31
|
searchbarSpellcheck: false,
|
|
32
32
|
closeOnSelect: false,
|
|
33
33
|
virtualList: false,
|
|
@@ -38,7 +38,6 @@ export default {
|
|
|
38
38
|
routableModals: false,
|
|
39
39
|
url: 'select/',
|
|
40
40
|
cssClass: '',
|
|
41
|
-
|
|
42
41
|
/*
|
|
43
42
|
Custom render functions
|
|
44
43
|
*/
|
|
@@ -54,7 +53,6 @@ export default {
|
|
|
54
53
|
static: {
|
|
55
54
|
SmartSelect
|
|
56
55
|
},
|
|
57
|
-
|
|
58
56
|
create() {
|
|
59
57
|
const app = this;
|
|
60
58
|
app.smartSelect = extend(ConstructorMethods({
|
|
@@ -68,16 +66,13 @@ export default {
|
|
|
68
66
|
if (ss && ss.open) return ss.open();
|
|
69
67
|
return undefined;
|
|
70
68
|
},
|
|
71
|
-
|
|
72
69
|
close(smartSelectEl) {
|
|
73
70
|
const ss = app.smartSelect.get(smartSelectEl);
|
|
74
71
|
if (ss && ss.close) return ss.close();
|
|
75
72
|
return undefined;
|
|
76
73
|
}
|
|
77
|
-
|
|
78
74
|
});
|
|
79
75
|
},
|
|
80
|
-
|
|
81
76
|
on: {
|
|
82
77
|
tabMounted(tabEl) {
|
|
83
78
|
const app = this;
|
|
@@ -87,7 +82,6 @@ export default {
|
|
|
87
82
|
}, $(smartSelectEl).dataset()));
|
|
88
83
|
});
|
|
89
84
|
},
|
|
90
|
-
|
|
91
85
|
tabBeforeRemove(tabEl) {
|
|
92
86
|
$(tabEl).find('.smart-select-init').each(smartSelectEl => {
|
|
93
87
|
if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {
|
|
@@ -95,7 +89,6 @@ export default {
|
|
|
95
89
|
}
|
|
96
90
|
});
|
|
97
91
|
},
|
|
98
|
-
|
|
99
92
|
pageInit(page) {
|
|
100
93
|
const app = this;
|
|
101
94
|
page.$el.find('.smart-select-init').each(smartSelectEl => {
|
|
@@ -104,7 +97,6 @@ export default {
|
|
|
104
97
|
}, $(smartSelectEl).dataset()));
|
|
105
98
|
});
|
|
106
99
|
},
|
|
107
|
-
|
|
108
100
|
pageBeforeRemove(page) {
|
|
109
101
|
page.$el.find('.smart-select-init').each(smartSelectEl => {
|
|
110
102
|
if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {
|
|
@@ -112,12 +104,10 @@ export default {
|
|
|
112
104
|
}
|
|
113
105
|
});
|
|
114
106
|
}
|
|
115
|
-
|
|
116
107
|
},
|
|
117
108
|
clicks: {
|
|
118
109
|
'.smart-select': function open($clickedEl, data) {
|
|
119
110
|
const app = this;
|
|
120
|
-
|
|
121
111
|
if (!$clickedEl[0].f7SmartSelect) {
|
|
122
112
|
const ss = app.smartSelect.create(extend({
|
|
123
113
|
el: $clickedEl
|
|
@@ -135,15 +125,12 @@ export default {
|
|
|
135
125
|
el: smartSelectEl
|
|
136
126
|
}, $(smartSelectEl).dataset()));
|
|
137
127
|
},
|
|
138
|
-
|
|
139
128
|
destroy(vnode) {
|
|
140
129
|
const smartSelectEl = vnode.elm;
|
|
141
|
-
|
|
142
130
|
if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {
|
|
143
131
|
smartSelectEl.f7SmartSelect.destroy();
|
|
144
132
|
}
|
|
145
133
|
}
|
|
146
|
-
|
|
147
134
|
}
|
|
148
135
|
}
|
|
149
136
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var a=e.$,s=e.utils,r=(e.getDevice,e.getSupport,e.Class),l=(e.Modal,e.ConstructorMethods),o=(e.ModalMethods,e.$jsx),n=s.extend,i=s.id,c=s.nextTick,p=s.deleteProps;class d extends r{constructor(e,t){void 0===t&&(t={}),super(t,[e]);const s=this,r=n({on:{}},e.params.smartSelect);void 0===r.searchbarDisableButton&&(r.searchbarDisableButton="aurora"!==e.theme),s.useModulesParams(r),s.params=n({},r,t),s.app=e;const l=a(s.params.el).eq(0);if(0===l.length)return s;if(l[0].f7SmartSelect)return l[0].f7SmartSelect;const o=l.find("select").eq(0);if(0===o.length)return s;let c;s.params.setValueText&&(c=a(s.params.valueEl),0===c.length&&(c=l.find(".item-after")),0===c.length&&(c=a('<div class="item-after"></div>'),c.insertAfter(l.find(".item-title"))));let p=t.url;p||(l.attr("href")&&"#"!==l.attr("href")?p=l.attr("href"):o.attr("name")&&(p=`${o.attr("name").toLowerCase()}-select/`)),p||(p=s.params.url);const d=o[0].multiple,m=d?"checkbox":"radio",u=i();function h(){s.open()}function v(){const e=s.$selectEl.val();s.$el.trigger("smartselect:change",e),s.emit("local::change smartSelectChange",s,e),s.vl&&s.vl.clearCache(),s.setValueText()}function f(){let e,t;const r=this,l=r.value;let o,n=[];if("checkbox"===r.type){for(let i=0;i<s.selectEl.options.length;i+=1)e=s.selectEl.options[i],e.value===l&&(e.selected=r.checked),e.selected&&(o=e.dataset?e.dataset.displayAs:a(e).data("display-value-as"),t=o&&void 0!==o?o:e.textContent,n.push(t.trim()));s.maxLength&&s.checkMaxLength()}else e=s.$selectEl.find(`option[value="${l}"]`)[0],e||(e=s.$selectEl.find("option").filter((e=>e.value===l))[0]),o=e.dataset?e.dataset.displayAs:a(e).data("display-as"),t=o&&void 0!==o?o:e.textContent,n=[t],s.selectEl.value=l;s.$selectEl.trigger("change"),s.params.setValueText&&s.$valueEl.text(s.formatValueText(n)),s.params.closeOnSelect&&"radio"===s.inputType&&s.close()}return n(s,{$el:l,el:l[0],$selectEl:o,selectEl:o[0],$valueEl:c,valueEl:c&&c[0],url:p,multiple:d,inputType:m,id:u,inputName:`${m}-${u}`,selectName:o.attr("name"),maxLength:o.attr("maxlength")||t.maxLength}),l[0].f7SmartSelect=s,s.attachEvents=function(){l.on("click",h),l.on("change","select",v)},s.detachEvents=function(){l.off("click",h),l.off("change","select",v)},s.attachInputsEvents=function(){s.$containerEl.on("change",'input[type="checkbox"], input[type="radio"]',f)},s.detachInputsEvents=function(){s.$containerEl.off("change",'input[type="checkbox"], input[type="radio"]',f)},s.useModules(),s.init(),s}setValue(e){const t=this;let s,r,l,o=e,n=[];if(t.multiple){Array.isArray(o)||(o=[o]);for(let e=0;e<t.selectEl.options.length;e+=1)s=t.selectEl.options[e],o.indexOf(s.value)>=0?s.selected=!0:s.selected=!1,s.selected&&(r=s.dataset?s.dataset.displayAs:a(s).data("display-value-as"),l=r&&void 0!==r?r:s.textContent,n.push(l.trim()))}else s=t.$selectEl.find(`option[value="${o}"]`)[0],s&&(r=s.dataset?s.dataset.displayAs:a(s).data("display-as"),l=r&&void 0!==r?r:s.textContent,n=[l]),t.selectEl.value=o;return t.params.setValueText&&t.$valueEl.text(t.formatValueText(n)),t.$selectEl.trigger("change"),t}unsetValue(){const e=this;e.params.setValueText&&e.$valueEl.text(e.formatValueText([])),e.$selectEl.find("option").each((e=>{e.selected=!1,e.checked=!1})),e.$selectEl[0].value=null,e.$containerEl&&e.$containerEl.find(`input[name="${e.inputName}"][type="checkbox"], input[name="${e.inputName}"][type="radio"]`).prop("checked",!1),e.$selectEl.trigger("change")}getValue(){return this.$selectEl.val()}get view(){const{params:e,$el:t}=this;let a;if(e.view&&(a=e.view),a||(a=t.parents(".view").length&&t.parents(".view")[0].f7View),!a&&"page"===e.openIn)throw Error("Smart Select requires initialized View");return a}checkMaxLength(){const e=this,t=e.$containerEl;e.selectEl.selectedOptions.length>=e.maxLength?t.find('input[type="checkbox"]').each((e=>{e.checked?a(e).parents("li").removeClass("disabled"):a(e).parents("li").addClass("disabled")})):t.find(".disabled").removeClass("disabled")}formatValueText(e){const t=this;let a;return a=t.params.formatValueText?t.params.formatValueText.call(t,e,t):e.join(", "),a}setValueText(e){const t=this;let s=[];void 0!==e?s=Array.isArray(e)?e:[e]:t.$selectEl.find("option").each((e=>{const t=a(e);if(e.selected){const a=e.dataset?e.dataset.displayAs:t.data("display-value-as");a&&void 0!==a?s.push(a):s.push(e.textContent.trim())}})),t.params.setValueText&&t.$valueEl.text(t.formatValueText(s))}getItemsData(){const e=this,t=e.app.theme,s=[];let r;return e.$selectEl.find("option").each((l=>{const o=a(l),n=o.dataset(),i=n.optionImage||e.params.optionImage,c=n.optionIcon||e.params.optionIcon,p="ios"===t&&(n.optionIconIos||e.params.optionIconIos),d="md"===t&&(n.optionIconMd||e.params.optionIconMd),m="aurora"===t&&(n.optionIconAurora||e.params.optionIconAurora),u=i||c||p||d||m,h=n.optionColor;let v=n.optionClass||"";o[0].disabled&&(v+=" disabled");const f=o.parent("optgroup")[0],b=f&&f.label;let g=!1;f&&f!==r&&(g=!0,r=f,s.push({groupLabel:b,isLabel:g})),s.push({value:o[0].value,text:o[0].textContent.trim(),selected:o[0].selected,groupEl:f,groupLabel:b,image:i,icon:c,iconIos:p,iconMd:d,iconAurora:m,color:h,className:v,disabled:o[0].disabled,id:e.id,hasMedia:u,checkbox:"checkbox"===e.inputType,radio:"radio"===e.inputType,inputName:e.inputName,inputType:e.inputType})})),e.items=s,s}renderSearchbar(){const e=this;return e.params.renderSearchbar?e.params.renderSearchbar.call(e):o("form",{class:"searchbar"},o("div",{class:"searchbar-inner"},o("div",{class:"searchbar-input-wrap"},o("input",{type:"search",spellcheck:e.params.searchbarSpellcheck||"false",placeholder:e.params.searchbarPlaceholder}),o("i",{class:"searchbar-icon"}),o("span",{class:"input-clear-button"})),e.params.searchbarDisableButton&&o("span",{class:"searchbar-disable-button"},e.params.searchbarDisableText)))}renderItem(e,t){const a=this;if(a.params.renderItem)return a.params.renderItem.call(a,e,t);let s;if(e.isLabel)s=`<li class="item-divider">${e.groupLabel}</li>`;else{let t,l=e.selected;if(a.params.virtualList){const s=a.getValue();l=a.multiple?s.indexOf(e.value)>=0:s===e.value,a.multiple&&(t=a.multiple&&!l&&s.length===parseInt(a.maxLength,10))}const{icon:n,iconIos:i,iconMd:c,iconAurora:p}=e,d=n||i||c||p,m=(void 0===(r=n||i||c||p||"")&&(r=""),r.indexOf(":")>=0?r.split(":")[1]:""),u=function(e){if(void 0===e&&(e=""),e.indexOf(":")>=0){let t=e.split(":")[0];return"f7"===t&&(t="f7-icons"),"material"===t&&(t="material-icons"),t}return e}(n||i||c||p||"");s=o("li",{class:`${e.className||""}${t?" disabled":""}`},o("label",{class:`item-${e.inputType} item-content`},o("input",{type:e.inputType,name:e.inputName,value:e.value,_checked:l}),o("i",{class:`icon icon-${e.inputType}`}),e.hasMedia&&o("div",{class:"item-media"},d&&o("i",{class:`icon ${u}`},m),e.image&&o("img",{src:e.image})),o("div",{class:"item-inner"},o("div",{class:"item-title"+(e.color?` text-color-${e.color}`:"")},e.text))))}var r;return s}renderItems(){const e=this;if(e.params.renderItems)return e.params.renderItems.call(e,e.items);return`\n ${e.items.map(((t,a)=>`${e.renderItem(t,a)}`)).join("")}\n `}renderPage(){const e=this;if(e.params.renderPage)return e.params.renderPage.call(e,e.items);let t=e.params.pageTitle;if(void 0===t){const a=e.$el.find(".item-title");t=a.length?a.text().trim():""}const a=e.params.cssClass;return o("div",{class:`page smart-select-page ${a}`,"data-name":"smart-select-page","data-select-name":e.selectName},o("div",{class:"navbar "+(e.params.navbarColorTheme?`color-${e.params.navbarColorTheme}`:"")},o("div",{class:"navbar-bg"}),o("div",{class:"navbar-inner sliding "+(e.params.navbarColorTheme?`color-${e.params.navbarColorTheme}`:"")},o("div",{class:"left"},o("a",{class:"link back"},o("i",{class:"icon icon-back"}),o("span",{class:"if-not-md"},e.params.pageBackLinkText))),t&&o("div",{class:"title"},t),e.params.searchbar&&o("div",{class:"subnavbar"},e.renderSearchbar()))),e.params.searchbar&&o("div",{class:"searchbar-backdrop"}),o("div",{class:"page-content"},o("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},o("ul",null,!e.params.virtualList&&e.renderItems(e.items)))))}renderPopup(){const e=this;if(e.params.renderPopup)return e.params.renderPopup.call(e,e.items);let t=e.params.pageTitle;if(void 0===t){const a=e.$el.find(".item-title");t=a.length?a.text().trim():""}const a=e.params.cssClass||"";return o("div",{class:`popup smart-select-popup ${a} ${e.params.popupTabletFullscreen?"popup-tablet-fullscreen":""}`,"data-select-name":e.selectName},o("div",{class:"view"},o("div",{class:"page smart-select-page "+(e.params.searchbar?"page-with-subnavbar":""),"data-name":"smart-select-page"},o("div",{class:"navbar "+(e.params.navbarColorTheme?`color-${e.params.navbarColorTheme}`:"")},o("div",{class:"navbar-bg"}),o("div",{class:"navbar-inner sliding"},t&&o("div",{class:"title"},t),o("div",{class:"right"},o("a",{class:"link popup-close","data-popup":`.smart-select-popup[data-select-name='${e.selectName}']`},e.params.popupCloseLinkText)),e.params.searchbar&&o("div",{class:"subnavbar"},e.renderSearchbar()))),e.params.searchbar&&o("div",{class:"searchbar-backdrop"}),o("div",{class:"page-content"},o("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},o("ul",null,!e.params.virtualList&&e.renderItems(e.items)))))))}renderSheet(){const e=this;if(e.params.renderSheet)return e.params.renderSheet.call(e,e.items);const t=e.params.cssClass;return o("div",{class:`sheet-modal smart-select-sheet ${t}`,"data-select-name":e.selectName},o("div",{class:"toolbar toolbar-top "+(e.params.toolbarColorTheme?`color-${e.params.toolbarColorTheme}`:"")},o("div",{class:"toolbar-inner"},o("div",{class:"left"}),o("div",{class:"right"},o("a",{class:"link sheet-close"},e.params.sheetCloseLinkText)))),o("div",{class:"sheet-modal-inner"},o("div",{class:"page-content"},o("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},o("ul",null,!e.params.virtualList&&e.renderItems(e.items))))))}renderPopover(){const e=this;if(e.params.renderPopover)return e.params.renderPopover.call(e,e.items);const t=e.params.cssClass;return o("div",{class:`popover smart-select-popover ${t}`,"data-select-name":e.selectName},o("div",{class:"popover-inner"},o("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},o("ul",null,!e.params.virtualList&&e.renderItems(e.items)))))}scrollToSelectedItem(){const e=this,{params:t,$containerEl:a}=e;if(!e.opened)return e;if(t.virtualList){let t;e.vl.items.forEach(((e,a)=>{void 0===t&&e.selected&&(t=a)})),void 0!==t&&e.vl.scrollToItem(t)}else{const t=a.find("input:checked").parents("li");if(!t.length)return e;const s=a.find(".page-content, .popover-inner");if(!s.length)return e;s.scrollTop(t.offset().top-s.offset().top-parseInt(s.css("padding-top"),10))}return e}onOpen(e,t){const s=this,r=s.app,l=a(t);if(s.$containerEl=l,s.openedIn=e,s.opened=!0,s.params.virtualList&&(s.vl=r.virtualList.create({el:l.find(".virtual-list"),items:s.items,renderItem:s.renderItem.bind(s),height:s.params.virtualListHeight,searchByItem:(e,t)=>!!(t.text&&removeDiacritics(t.text).toLowerCase().indexOf(e.trim().toLowerCase())>=0)})),s.params.scrollToSelectedItem&&s.scrollToSelectedItem(),s.params.searchbar){let t=l.find(".searchbar");if("page"===e&&"ios"===r.theme&&(t=a(r.navbar.getElByPage(l)).find(".searchbar")),s.params.appendSearchbarNotFound&&("page"===e||"popup"===e)){let e=null;e="string"==typeof s.params.appendSearchbarNotFound?a(`<div class="block searchbar-not-found">${s.params.appendSearchbarNotFound}</div>`):"boolean"==typeof s.params.appendSearchbarNotFound?a('<div class="block searchbar-not-found">Nothing found</div>'):s.params.appendSearchbarNotFound,e&&l.find(".page-content").append(e[0])}const o=n({el:t,backdropEl:l.find(".searchbar-backdrop"),searchContainer:`.smart-select-list-${s.id}`,searchIn:".item-title"},"object"==typeof s.params.searchbar?s.params.searchbar:{});s.searchbar=r.searchbar.create(o)}s.maxLength&&s.checkMaxLength(),s.params.closeOnSelect&&s.$containerEl.find(`input[type="radio"][name="${s.inputName}"]:checked`).parents("label").once("click",(()=>{s.close()})),s.attachInputsEvents(),s.$el.trigger("smartselect:open"),s.emit("local::open smartSelectOpen",s)}onOpened(){const e=this;e.$el.trigger("smartselect:opened"),e.emit("local::opened smartSelectOpened",e)}onClose(){const e=this;e.destroyed||(e.vl&&e.vl.destroy&&(e.vl.destroy(),e.vl=null,delete e.vl),e.searchbar&&e.searchbar.destroy&&(e.searchbar.destroy(),e.searchbar=null,delete e.searchbar),e.detachInputsEvents(),e.$el.trigger("smartselect:close"),e.emit("local::close smartSelectClose",e))}onClosed(){const e=this;e.destroyed||(e.opened=!1,e.$containerEl=null,delete e.$containerEl,e.$el.trigger("smartselect:closed"),e.emit("local::closed smartSelectClosed",e))}openPage(){const e=this;if(e.opened)return e;e.getItemsData();const t=e.renderPage(e.items);return e.view.router.navigate({url:e.url,route:{content:t,path:e.url,on:{pageBeforeIn(t,a){e.onOpen("page",a.el)},pageAfterIn(t,a){e.onOpened("page",a.el)},pageBeforeOut(t,a){e.onClose("page",a.el)},pageAfterOut(t,a){e.onClosed("page",a.el)}}}}),e}openPopup(){const e=this;if(e.opened)return e;e.getItemsData();const t={content:e.renderPopup(e.items),push:e.params.popupPush,swipeToClose:e.params.popupSwipeToClose,on:{popupOpen(t){e.onOpen("popup",t.el)},popupOpened(t){e.onOpened("popup",t.el)},popupClose(t){e.onClose("popup",t.el)},popupClosed(t){e.onClosed("popup",t.el)}}};return e.params.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,popup:t}}):e.modal=e.app.popup.create(t).open(),e}openSheet(){const e=this;if(e.opened)return e;e.getItemsData();const t={content:e.renderSheet(e.items),backdrop:e.params.sheetBackdrop,scrollToEl:e.$el,closeByOutsideClick:!0,push:e.params.sheetPush,swipeToClose:e.params.sheetSwipeToClose,on:{sheetOpen(t){e.onOpen("sheet",t.el)},sheetOpened(t){e.onOpened("sheet",t.el)},sheetClose(t){e.onClose("sheet",t.el)},sheetClosed(t){e.onClosed("sheet",t.el)}}};return e.params.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,sheet:t}}):e.modal=e.app.sheet.create(t).open(),e}openPopover(){const e=this;if(e.opened)return e;e.getItemsData();const t={content:e.renderPopover(e.items),targetEl:e.$el,on:{popoverOpen(t){e.onOpen("popover",t.el)},popoverOpened(t){e.onOpened("popover",t.el)},popoverClose(t){e.onClose("popover",t.el)},popoverClosed(t){e.onClosed("popover",t.el)}}};return e.params.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,popover:t}}):e.modal=e.app.popover.create(t).open(),e}open(e){const t=this;if(t.opened)return t;let a=!1;function s(){a=!0}if(t.$el&&t.$el.trigger("smartselect:beforeopen",{prevent:s}),t.emit("local::beforeOpen smartSelectBeforeOpen",t,s),a)return t;return t[`open${(e||t.params.openIn).split("").map(((e,t)=>0===t?e.toUpperCase():e)).join("")}`](),t}close(){const e=this;return e.opened?(e.params.routableModals&&e.view||"page"===e.openedIn?e.view.router.back():(e.modal.once("modalClosed",(()=>{c((()=>{e.destroyed||(e.modal.destroy(),delete e.modal)}))})),e.modal.close()),e):e}init(){this.attachEvents(),this.setValueText()}destroy(){const e=this;e.emit("local::beforeDestroy smartSelectBeforeDestroy",e),e.$el.trigger("smartselect:beforedestroy"),e.detachEvents(),delete e.$el[0].f7SmartSelect,p(e),e.destroyed=!0}}var m={name:"smartSelect",params:{smartSelect:{el:void 0,valueEl:void 0,setValueText:!0,formatValueText:null,openIn:"page",popupPush:!1,popupSwipeToClose:void 0,sheetPush:!1,sheetSwipeToClose:void 0,sheetBackdrop:!1,pageTitle:void 0,pageBackLinkText:"Back",popupCloseLinkText:"Close",popupTabletFullscreen:!1,sheetCloseLinkText:"Done",searchbar:!1,searchbarPlaceholder:"Search",searchbarDisableText:"Cancel",searchbarDisableButton:void 0,searchbarSpellcheck:!1,closeOnSelect:!1,virtualList:!1,virtualListHeight:void 0,scrollToSelectedItem:!1,formColorTheme:void 0,navbarColorTheme:void 0,routableModals:!1,url:"select/",cssClass:"",renderPage:void 0,renderPopup:void 0,renderSheet:void 0,renderPopover:void 0,renderItems:void 0,renderItem:void 0,renderSearchbar:void 0}},static:{SmartSelect:d},create(){const e=this;e.smartSelect=n(l({defaultSelector:".smart-select",constructor:d,app:e,domProp:"f7SmartSelect"}),{open(t){const a=e.smartSelect.get(t);if(a&&a.open)return a.open()},close(t){const a=e.smartSelect.get(t);if(a&&a.close)return a.close()}})},on:{tabMounted(e){const t=this;a(e).find(".smart-select-init").each((e=>{t.smartSelect.create(n({el:e},a(e).dataset()))}))},tabBeforeRemove(e){a(e).find(".smart-select-init").each((e=>{e.f7SmartSelect&&e.f7SmartSelect.destroy&&e.f7SmartSelect.destroy()}))},pageInit(e){const t=this;e.$el.find(".smart-select-init").each((e=>{t.smartSelect.create(n({el:e},a(e).dataset()))}))},pageBeforeRemove(e){e.$el.find(".smart-select-init").each((e=>{e.f7SmartSelect&&e.f7SmartSelect.destroy&&e.f7SmartSelect.destroy()}))}},clicks:{".smart-select":function(e,t){const a=this;if(!e[0].f7SmartSelect){a.smartSelect.create(n({el:e},t)).open()}}},vnode:{"smart-select-init":{insert(e){const t=e.elm;this.smartSelect.create(n({el:t},a(t).dataset()))},destroy(e){const t=e.elm;t.f7SmartSelect&&t.f7SmartSelect.destroy&&t.f7SmartSelect.destroy()}}}};if(t){if(e.prototype.modules&&e.prototype.modules[m.name])return;e.use(m),e.instance&&(e.instance.useModuleParams(m,e.instance.params),e.instance.useModule(m))}return m}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
1
|
+
(function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var a=e.$,s=e.utils,r=(e.getDevice,e.getSupport,e.Class),l=(e.Modal,e.ConstructorMethods),o=(e.ModalMethods,e.$jsx),n=s.extend,i=s.id,c=s.nextTick,p=s.deleteProps;class d extends r{constructor(e,t){void 0===t&&(t={}),super(t,[e]);const s=this,r=n({on:{}},e.params.smartSelect);s.useModulesParams(r),s.params=n({},r,t),s.app=e;const l=a(s.params.el).eq(0);if(0===l.length)return s;if(l[0].f7SmartSelect)return l[0].f7SmartSelect;const o=l.find("select").eq(0);if(0===o.length)return s;let c;s.params.setValueText&&(c=a(s.params.valueEl),0===c.length&&(c=l.find(".item-after")),0===c.length&&(c=a('<div class="item-after"></div>'),c.insertAfter(l.find(".item-title"))));let p=t.url;p||(l.attr("href")&&"#"!==l.attr("href")?p=l.attr("href"):o.attr("name")&&(p=`${o.attr("name").toLowerCase()}-select/`)),p||(p=s.params.url);const d=o[0].multiple,m=d?"checkbox":"radio",u=i();function h(){s.open()}function v(){const e=s.$selectEl.val();s.$el.trigger("smartselect:change",e),s.emit("local::change smartSelectChange",s,e),s.vl&&s.vl.clearCache(),s.setValueText()}function f(){let e,t;const r=this,l=r.value;let o,n=[];if("checkbox"===r.type){for(let i=0;i<s.selectEl.options.length;i+=1)e=s.selectEl.options[i],e.value===l&&(e.selected=r.checked),e.selected&&(o=e.dataset?e.dataset.displayAs:a(e).data("display-value-as"),t=o&&void 0!==o?o:e.textContent,n.push(t.trim()));s.maxLength&&s.checkMaxLength()}else e=s.$selectEl.find(`option[value="${l}"]`)[0],e||(e=s.$selectEl.find("option").filter((e=>e.value===l))[0]),o=e.dataset?e.dataset.displayAs:a(e).data("display-as"),t=o&&void 0!==o?o:e.textContent,n=[t],s.selectEl.value=l;s.$selectEl.trigger("change"),s.params.setValueText&&s.$valueEl.text(s.formatValueText(n)),s.params.closeOnSelect&&"radio"===s.inputType&&s.close()}return n(s,{$el:l,el:l[0],$selectEl:o,selectEl:o[0],$valueEl:c,valueEl:c&&c[0],url:p,multiple:d,inputType:m,id:u,inputName:`${m}-${u}`,selectName:o.attr("name"),maxLength:o.attr("maxlength")||t.maxLength}),l[0].f7SmartSelect=s,s.attachEvents=function(){l.on("click",h),l.on("change","select",v)},s.detachEvents=function(){l.off("click",h),l.off("change","select",v)},s.attachInputsEvents=function(){s.$containerEl.on("change",'input[type="checkbox"], input[type="radio"]',f)},s.detachInputsEvents=function(){s.$containerEl.off("change",'input[type="checkbox"], input[type="radio"]',f)},s.useModules(),s.init(),s}setValue(e){const t=this;let s,r,l,o=e,n=[];if(t.multiple){Array.isArray(o)||(o=[o]);for(let e=0;e<t.selectEl.options.length;e+=1)s=t.selectEl.options[e],o.indexOf(s.value)>=0?s.selected=!0:s.selected=!1,s.selected&&(r=s.dataset?s.dataset.displayAs:a(s).data("display-value-as"),l=r&&void 0!==r?r:s.textContent,n.push(l.trim()))}else s=t.$selectEl.find(`option[value="${o}"]`)[0],s&&(r=s.dataset?s.dataset.displayAs:a(s).data("display-as"),l=r&&void 0!==r?r:s.textContent,n=[l]),t.selectEl.value=o;return t.params.setValueText&&t.$valueEl.text(t.formatValueText(n)),t.$selectEl.trigger("change"),t}unsetValue(){const e=this;e.params.setValueText&&e.$valueEl.text(e.formatValueText([])),e.$selectEl.find("option").each((e=>{e.selected=!1,e.checked=!1})),e.$selectEl[0].value=null,e.$containerEl&&e.$containerEl.find(`input[name="${e.inputName}"][type="checkbox"], input[name="${e.inputName}"][type="radio"]`).prop("checked",!1),e.$selectEl.trigger("change")}getValue(){return this.$selectEl.val()}get view(){const{params:e,$el:t}=this;let a;if(e.view&&(a=e.view),a||(a=t.parents(".view").length&&t.parents(".view")[0].f7View),!a&&"page"===e.openIn)throw Error("Smart Select requires initialized View");return a}checkMaxLength(){const e=this,t=e.$containerEl;e.selectEl.selectedOptions.length>=e.maxLength?t.find('input[type="checkbox"]').each((e=>{e.checked?a(e).parents("li").removeClass("disabled"):a(e).parents("li").addClass("disabled")})):t.find(".disabled").removeClass("disabled")}formatValueText(e){const t=this;let a;return a=t.params.formatValueText?t.params.formatValueText.call(t,e,t):e.join(", "),a}setValueText(e){const t=this;let s=[];void 0!==e?s=Array.isArray(e)?e:[e]:t.$selectEl.find("option").each((e=>{const t=a(e);if(e.selected){const a=e.dataset?e.dataset.displayAs:t.data("display-value-as");a&&void 0!==a?s.push(a):s.push(e.textContent.trim())}})),t.params.setValueText&&t.$valueEl.text(t.formatValueText(s))}getItemsData(){const e=this,t=e.app.theme,s=[];let r;return e.$selectEl.find("option").each((l=>{const o=a(l),n=o.dataset(),i=n.optionImage||e.params.optionImage,c=n.optionIcon||e.params.optionIcon,p="ios"===t&&(n.optionIconIos||e.params.optionIconIos),d="md"===t&&(n.optionIconMd||e.params.optionIconMd),m=i||c||p||d,u=n.optionColor;let h=n.optionClass||"";o[0].disabled&&(h+=" disabled");const v=o.parent("optgroup")[0],f=v&&v.label;let g=!1;v&&v!==r&&(g=!0,r=v,s.push({groupLabel:f,isLabel:g})),s.push({value:o[0].value,text:o[0].textContent.trim(),selected:o[0].selected,groupEl:v,groupLabel:f,image:i,icon:c,iconIos:p,iconMd:d,color:u,className:h,disabled:o[0].disabled,id:e.id,hasMedia:m,checkbox:"checkbox"===e.inputType,radio:"radio"===e.inputType,inputName:e.inputName,inputType:e.inputType})})),e.items=s,s}renderSearchbar(){const e=this;return e.params.renderSearchbar?e.params.renderSearchbar.call(e):o("form",{class:"searchbar"},o("div",{class:"searchbar-inner"},o("div",{class:"searchbar-input-wrap"},o("input",{type:"search",spellcheck:e.params.searchbarSpellcheck||"false",placeholder:e.params.searchbarPlaceholder}),o("i",{class:"searchbar-icon"}),o("span",{class:"input-clear-button"})),e.params.searchbarDisableButton&&o("span",{class:"searchbar-disable-button"},e.params.searchbarDisableText)))}renderItem(e,t){const a=this;if(a.params.renderItem)return a.params.renderItem.call(a,e,t);let s;if(e.isLabel)s=`<li class="list-group-title">${e.groupLabel}</li>`;else{let t,l=e.selected;if(a.params.virtualList){const s=a.getValue();l=a.multiple?s.indexOf(e.value)>=0:s===e.value,a.multiple&&(t=a.multiple&&!l&&s.length===parseInt(a.maxLength,10))}const{icon:n,iconIos:i,iconMd:c}=e,p=n||i||c,d=(void 0===(r=n||i||c||"")&&(r=""),r.indexOf(":")>=0?r.split(":")[1]:""),m=function(e){if(void 0===e&&(e=""),e.indexOf(":")>=0){let t=e.split(":")[0];return"f7"===t&&(t="f7-icons"),"material"===t&&(t="material-icons"),t}return e}(n||i||c||"");s=o("li",{class:`${e.className||""}${t?" disabled":""}`},o("label",{class:`item-${e.inputType} item-content`},o("input",{type:e.inputType,name:e.inputName,value:e.value,_checked:l}),o("i",{class:`icon icon-${e.inputType}`}),e.hasMedia&&o("div",{class:"item-media"},p&&o("i",{class:`icon ${m}`},d),e.image&&o("img",{src:e.image})),o("div",{class:"item-inner"},o("div",{class:"item-title"+(e.color?` text-color-${e.color}`:"")},e.text))))}var r;return s}renderItems(){const e=this;if(e.params.renderItems)return e.params.renderItems.call(e,e.items);return`\n ${e.items.map(((t,a)=>`${e.renderItem(t,a)}`)).join("")}\n `}renderPage(){const e=this;if(e.params.renderPage)return e.params.renderPage.call(e,e.items);let t=e.params.pageTitle;if(void 0===t){const a=e.$el.find(".item-title");t=a.length?a.text().trim():""}const a=e.params.cssClass;return o("div",{class:`page smart-select-page ${a}`,"data-name":"smart-select-page","data-select-name":e.selectName},o("div",{class:"navbar "+(e.params.navbarColorTheme?`color-${e.params.navbarColorTheme}`:"")},o("div",{class:"navbar-bg"}),o("div",{class:"navbar-inner sliding "+(e.params.navbarColorTheme?`color-${e.params.navbarColorTheme}`:"")},o("div",{class:"left"},o("a",{class:"link back"},o("i",{class:"icon icon-back"}),o("span",{class:"if-not-md"},e.params.pageBackLinkText))),t&&o("div",{class:"title"},t),e.params.searchbar&&o("div",{class:"subnavbar"},e.renderSearchbar()))),e.params.searchbar&&o("div",{class:"searchbar-backdrop"}),o("div",{class:"page-content"},o("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},o("ul",null,!e.params.virtualList&&e.renderItems(e.items)))))}renderPopup(){const e=this;if(e.params.renderPopup)return e.params.renderPopup.call(e,e.items);let t=e.params.pageTitle;if(void 0===t){const a=e.$el.find(".item-title");t=a.length?a.text().trim():""}const a=e.params.cssClass||"";return o("div",{class:`popup smart-select-popup ${a} ${e.params.popupTabletFullscreen?"popup-tablet-fullscreen":""}`,"data-select-name":e.selectName},o("div",{class:"view"},o("div",{class:"page smart-select-page "+(e.params.searchbar?"page-with-subnavbar":""),"data-name":"smart-select-page"},o("div",{class:"navbar "+(e.params.navbarColorTheme?`color-${e.params.navbarColorTheme}`:"")},o("div",{class:"navbar-bg"}),o("div",{class:"navbar-inner sliding"},t&&o("div",{class:"title"},t),o("div",{class:"right"},o("a",{class:"link popup-close","data-popup":`.smart-select-popup[data-select-name='${e.selectName}']`},e.params.popupCloseLinkText)),e.params.searchbar&&o("div",{class:"subnavbar"},e.renderSearchbar()))),e.params.searchbar&&o("div",{class:"searchbar-backdrop"}),o("div",{class:"page-content"},o("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},o("ul",null,!e.params.virtualList&&e.renderItems(e.items)))))))}renderSheet(){const e=this;if(e.params.renderSheet)return e.params.renderSheet.call(e,e.items);const t=e.params.cssClass;return o("div",{class:`sheet-modal smart-select-sheet ${t}`,"data-select-name":e.selectName},o("div",{class:"toolbar toolbar-top "+(e.params.toolbarColorTheme?`color-${e.params.toolbarColorTheme}`:"")},o("div",{class:"toolbar-inner"},o("div",{class:"left"}),o("div",{class:"right"},o("a",{class:"link sheet-close"},e.params.sheetCloseLinkText)))),o("div",{class:"sheet-modal-inner"},o("div",{class:"page-content"},o("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},o("ul",null,!e.params.virtualList&&e.renderItems(e.items))))))}renderPopover(){const e=this;if(e.params.renderPopover)return e.params.renderPopover.call(e,e.items);const t=e.params.cssClass;return o("div",{class:`popover smart-select-popover ${t}`,"data-select-name":e.selectName},o("div",{class:"popover-inner"},o("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},o("ul",null,!e.params.virtualList&&e.renderItems(e.items)))))}scrollToSelectedItem(){const e=this,{params:t,$containerEl:a}=e;if(!e.opened)return e;if(t.virtualList){let t;e.vl.items.forEach(((e,a)=>{void 0===t&&e.selected&&(t=a)})),void 0!==t&&e.vl.scrollToItem(t)}else{const t=a.find("input:checked").parents("li");if(!t.length)return e;const s=a.find(".page-content, .popover-inner");if(!s.length)return e;s.scrollTop(t.offset().top-s.offset().top-parseInt(s.css("padding-top"),10))}return e}onOpen(e,t){const s=this,r=s.app,l=a(t);if(s.$containerEl=l,s.openedIn=e,s.opened=!0,s.params.virtualList&&(s.vl=r.virtualList.create({el:l.find(".virtual-list"),items:s.items,renderItem:s.renderItem.bind(s),height:s.params.virtualListHeight,searchByItem:(e,t)=>!!(t.text&&removeDiacritics(t.text).toLowerCase().indexOf(e.trim().toLowerCase())>=0)})),s.params.scrollToSelectedItem&&s.scrollToSelectedItem(),s.params.searchbar){let t=l.find(".searchbar");if("page"===e&&"ios"===r.theme&&(t=a(r.navbar.getElByPage(l)).find(".searchbar")),s.params.appendSearchbarNotFound&&("page"===e||"popup"===e)){let e=null;e="string"==typeof s.params.appendSearchbarNotFound?a(`<div class="block searchbar-not-found">${s.params.appendSearchbarNotFound}</div>`):"boolean"==typeof s.params.appendSearchbarNotFound?a('<div class="block searchbar-not-found">Nothing found</div>'):s.params.appendSearchbarNotFound,e&&l.find(".page-content").append(e[0])}const o=n({el:t,backdropEl:l.find(".searchbar-backdrop"),searchContainer:`.smart-select-list-${s.id}`,searchIn:".item-title"},"object"==typeof s.params.searchbar?s.params.searchbar:{});s.searchbar=r.searchbar.create(o)}s.maxLength&&s.checkMaxLength(),s.params.closeOnSelect&&s.$containerEl.find(`input[type="radio"][name="${s.inputName}"]:checked`).parents("label").once("click",(()=>{s.close()})),s.attachInputsEvents(),s.$el.trigger("smartselect:open"),s.emit("local::open smartSelectOpen",s)}onOpened(){const e=this;e.$el.trigger("smartselect:opened"),e.emit("local::opened smartSelectOpened",e)}onClose(){const e=this;e.destroyed||(e.vl&&e.vl.destroy&&(e.vl.destroy(),e.vl=null,delete e.vl),e.searchbar&&e.searchbar.destroy&&(e.searchbar.destroy(),e.searchbar=null,delete e.searchbar),e.detachInputsEvents(),e.$el.trigger("smartselect:close"),e.emit("local::close smartSelectClose",e))}onClosed(){const e=this;e.destroyed||(e.opened=!1,e.$containerEl=null,delete e.$containerEl,e.$el.trigger("smartselect:closed"),e.emit("local::closed smartSelectClosed",e))}openPage(){const e=this;if(e.opened)return e;e.getItemsData();const t=e.renderPage(e.items);return e.view.router.navigate({url:e.url,route:{content:t,path:e.url,on:{pageBeforeIn(t,a){e.onOpen("page",a.el)},pageAfterIn(t,a){e.onOpened("page",a.el)},pageBeforeOut(t,a){e.onClose("page",a.el)},pageAfterOut(t,a){e.onClosed("page",a.el)}}}}),e}openPopup(){const e=this;if(e.opened)return e;e.getItemsData();const t={content:e.renderPopup(e.items),push:e.params.popupPush,swipeToClose:e.params.popupSwipeToClose,on:{popupOpen(t){e.onOpen("popup",t.el)},popupOpened(t){e.onOpened("popup",t.el)},popupClose(t){e.onClose("popup",t.el)},popupClosed(t){e.onClosed("popup",t.el)}}};return e.params.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,popup:t}}):e.modal=e.app.popup.create(t).open(),e}openSheet(){const e=this;if(e.opened)return e;e.getItemsData();const t={content:e.renderSheet(e.items),backdrop:e.params.sheetBackdrop,scrollToEl:e.$el,closeByOutsideClick:!0,push:e.params.sheetPush,swipeToClose:e.params.sheetSwipeToClose,on:{sheetOpen(t){e.onOpen("sheet",t.el)},sheetOpened(t){e.onOpened("sheet",t.el)},sheetClose(t){e.onClose("sheet",t.el)},sheetClosed(t){e.onClosed("sheet",t.el)}}};return e.params.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,sheet:t}}):e.modal=e.app.sheet.create(t).open(),e}openPopover(){const e=this;if(e.opened)return e;e.getItemsData();const t={content:e.renderPopover(e.items),targetEl:e.$el,on:{popoverOpen(t){e.onOpen("popover",t.el)},popoverOpened(t){e.onOpened("popover",t.el)},popoverClose(t){e.onClose("popover",t.el)},popoverClosed(t){e.onClosed("popover",t.el)}}};return e.params.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,popover:t}}):e.modal=e.app.popover.create(t).open(),e}open(e){const t=this;if(t.opened)return t;let a=!1;function s(){a=!0}if(t.$el&&t.$el.trigger("smartselect:beforeopen",{prevent:s}),t.emit("local::beforeOpen smartSelectBeforeOpen",t,s),a)return t;return t[`open${(e||t.params.openIn).split("").map(((e,t)=>0===t?e.toUpperCase():e)).join("")}`](),t}close(){const e=this;return e.opened?(e.params.routableModals&&e.view||"page"===e.openedIn?e.view.router.back():(e.modal.once("modalClosed",(()=>{c((()=>{e.destroyed||(e.modal.destroy(),delete e.modal)}))})),e.modal.close()),e):e}init(){this.attachEvents(),this.setValueText()}destroy(){const e=this;e.emit("local::beforeDestroy smartSelectBeforeDestroy",e),e.$el.trigger("smartselect:beforedestroy"),e.detachEvents(),delete e.$el[0].f7SmartSelect,p(e),e.destroyed=!0}}var m={name:"smartSelect",params:{smartSelect:{el:void 0,valueEl:void 0,setValueText:!0,formatValueText:null,openIn:"page",popupPush:!1,popupSwipeToClose:void 0,sheetPush:!1,sheetSwipeToClose:void 0,sheetBackdrop:!1,pageTitle:void 0,pageBackLinkText:"Back",popupCloseLinkText:"Close",popupTabletFullscreen:!1,sheetCloseLinkText:"Done",searchbar:!1,searchbarPlaceholder:"Search",searchbarDisableText:"Cancel",searchbarDisableButton:!0,searchbarSpellcheck:!1,closeOnSelect:!1,virtualList:!1,virtualListHeight:void 0,scrollToSelectedItem:!1,formColorTheme:void 0,navbarColorTheme:void 0,routableModals:!1,url:"select/",cssClass:"",renderPage:void 0,renderPopup:void 0,renderSheet:void 0,renderPopover:void 0,renderItems:void 0,renderItem:void 0,renderSearchbar:void 0}},static:{SmartSelect:d},create(){const e=this;e.smartSelect=n(l({defaultSelector:".smart-select",constructor:d,app:e,domProp:"f7SmartSelect"}),{open(t){const a=e.smartSelect.get(t);if(a&&a.open)return a.open()},close(t){const a=e.smartSelect.get(t);if(a&&a.close)return a.close()}})},on:{tabMounted(e){const t=this;a(e).find(".smart-select-init").each((e=>{t.smartSelect.create(n({el:e},a(e).dataset()))}))},tabBeforeRemove(e){a(e).find(".smart-select-init").each((e=>{e.f7SmartSelect&&e.f7SmartSelect.destroy&&e.f7SmartSelect.destroy()}))},pageInit(e){const t=this;e.$el.find(".smart-select-init").each((e=>{t.smartSelect.create(n({el:e},a(e).dataset()))}))},pageBeforeRemove(e){e.$el.find(".smart-select-init").each((e=>{e.f7SmartSelect&&e.f7SmartSelect.destroy&&e.f7SmartSelect.destroy()}))}},clicks:{".smart-select":function(e,t){const a=this;if(!e[0].f7SmartSelect){a.smartSelect.create(n({el:e},t)).open()}}},vnode:{"smart-select-init":{insert(e){const t=e.elm;this.smartSelect.create(n({el:t},a(t).dataset()))},destroy(e){const t=e.elm;t.f7SmartSelect&&t.f7SmartSelect.destroy&&t.f7SmartSelect.destroy()}}}};if(t){if(e.prototype.modules&&e.prototype.modules[m.name])return;e.use(m),e.instance&&(e.instance.useModuleParams(m,e.instance.params),e.instance.useModule(m))}return m}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
.ios{--f7-sortable-handler-width:36px;--f7-sortable-sorting-item-box-shadow:0px 2px 8px rgba(0, 0, 0, 0.6);--f7-sortable-handler-color:rgba(0, 0, 0, 0.22);--f7-sortable-sorting-item-bg-color:rgba(255, 255, 255, 0.8)}.ios .dark,.ios.dark{--f7-sortable-sorting-item-bg-color:rgba(50, 50, 50, 0.8);--f7-sortable-handler-color:rgba(255, 255, 255, 0.55)}.md{--f7-sortable-handler-width:42px;--f7-sortable-sorting-item-box-shadow:none}.md,.md .dark,.md [class*=color-]{--f7-sortable-handler-color:var(--f7-md-on-surface-variant);--f7-sortable-sorting-item-bg-color:var(--f7-md-surface-3)}.sortable .sortable-handler{width:var(--f7-sortable-handler-width);height:100%;position:absolute;top:0;z-index:10;opacity:0;pointer-events:none;cursor:move;transition-duration:.3s;display:flex;align-items:center;justify-content:center;overflow:hidden;left:var(--f7-safe-area-left)}.sortable .sortable-handler:after{font-family:framework7-core-icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga';text-align:center;display:block;width:100%;height:100%;font-size:20px;transition-duration:.3s;transform:translateX(10px);color:var(--f7-sortable-handler-color);overflow:hidden;height:20px;width:18px}.sortable li.sorting{z-index:50;background:var(--f7-sortable-sorting-item-bg-color);transition-duration:0s;box-shadow:var(--f7-sortable-sorting-item-box-shadow)}.sortable li.sorting .item-inner:after{display:none!important}.sortable-opposite .sortable-handler{right:var(--f7-safe-area-left);left:auto}.sortable-opposite .sortable-handler:after{transform:translateX(-10px)}.sortable-opposite .item-content,.sortable-opposite.links-list li a,.sortable.simple-list li,.sortable:not(.sortable-opposite) .item-inner{transition-duration:.3s;transition-property:all}.sortable-sorting li{transition-duration:.3s}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler{pointer-events:auto;opacity:1}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler:after{transform:translateX(0px)}.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner:before,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-title-row:before,.sortable-enabled:not(.sortable-opposite).links-list li:not(.no-sorting):not(.disallow-sorting)>a:before{display:none}.links-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) a,.no-chevron .sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.simple-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting),.sortable-enabled :not(.sortable-opposite).no-chevron .item-link .item-inner,.sortable-enabled.no-chevron:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link.no-chevron .item-inner{padding-left:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.links-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) a,.simple-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting),.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .item-content{padding-right:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.ios .sortable-handler:after{content:'sort_ios'}.md .sortable-handler:after{content:'sort_md'}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
:root {
|
|
2
|
+
}
|
|
3
|
+
.ios-vars({
|
|
4
|
+
--f7-sortable-handler-width: 36px;
|
|
5
|
+
--f7-sortable-sorting-item-box-shadow: 0px 2px 8px rgba(0,0,0,0.6);
|
|
2
6
|
.light-vars({
|
|
3
7
|
--f7-sortable-handler-color: rgba(0,0,0,0.22);
|
|
4
8
|
--f7-sortable-sorting-item-bg-color: rgba(255,255,255,0.8);
|
|
@@ -7,16 +11,12 @@
|
|
|
7
11
|
--f7-sortable-sorting-item-bg-color: rgba(50, 50, 50, 0.8);
|
|
8
12
|
--f7-sortable-handler-color: rgba(255,255,255,0.55);
|
|
9
13
|
});
|
|
10
|
-
}
|
|
11
|
-
.ios-vars({
|
|
12
|
-
--f7-sortable-handler-width: 36px;
|
|
13
|
-
--f7-sortable-sorting-item-box-shadow: 0px 2px 8px rgba(0,0,0,0.6);
|
|
14
14
|
});
|
|
15
15
|
.md-vars({
|
|
16
16
|
--f7-sortable-handler-width: 42px;
|
|
17
|
-
--f7-sortable-sorting-item-box-shadow:
|
|
17
|
+
--f7-sortable-sorting-item-box-shadow: none;
|
|
18
18
|
});
|
|
19
|
-
.
|
|
20
|
-
--f7-sortable-handler-
|
|
21
|
-
--f7-sortable-sorting-item-
|
|
19
|
+
.md-color-vars({
|
|
20
|
+
--f7-sortable-handler-color: var(--f7-md-on-surface-variant);
|
|
21
|
+
--f7-sortable-sorting-item-bg-color: var(--f7-md-surface-3);
|
|
22
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
.ios{--f7-sortable-handler-width:36px;--f7-sortable-sorting-item-box-shadow:0px 2px 8px rgba(0, 0, 0, 0.6);--f7-sortable-handler-color:rgba(0, 0, 0, 0.22);--f7-sortable-sorting-item-bg-color:rgba(255, 255, 255, 0.8)}.ios .dark,.ios.dark{--f7-sortable-sorting-item-bg-color:rgba(50, 50, 50, 0.8);--f7-sortable-handler-color:rgba(255, 255, 255, 0.55)}.md{--f7-sortable-handler-width:42px;--f7-sortable-sorting-item-box-shadow:none}.md,.md .dark,.md [class*=color-]{--f7-sortable-handler-color:var(--f7-md-on-surface-variant);--f7-sortable-sorting-item-bg-color:var(--f7-md-surface-3)}.sortable .sortable-handler{width:var(--f7-sortable-handler-width);height:100%;position:absolute;top:0;z-index:10;opacity:0;pointer-events:none;cursor:move;transition-duration:.3s;display:flex;align-items:center;justify-content:center;overflow:hidden;right:var(--f7-safe-area-right)}.sortable .sortable-handler:after{font-family:framework7-core-icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga';text-align:center;display:block;width:100%;height:100%;font-size:20px;transition-duration:.3s;transform:translateX(10px);color:var(--f7-sortable-handler-color);overflow:hidden;height:20px;width:18px}.sortable li.sorting{z-index:50;background:var(--f7-sortable-sorting-item-bg-color);transition-duration:0s;box-shadow:var(--f7-sortable-sorting-item-box-shadow)}.sortable li.sorting .item-inner:after{display:none!important}.sortable-opposite .sortable-handler{left:var(--f7-safe-area-right);right:auto}.sortable-opposite .sortable-handler:after{transform:translateX(-10px)}.sortable-opposite .item-content,.sortable-opposite.links-list li a,.sortable.simple-list li,.sortable:not(.sortable-opposite) .item-inner{transition-duration:.3s;transition-property:all}.sortable-sorting li{transition-duration:.3s}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler{pointer-events:auto;opacity:1}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler:after{transform:translateX(0px)}.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner:before,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-title-row:before,.sortable-enabled:not(.sortable-opposite).links-list li:not(.no-sorting):not(.disallow-sorting)>a:before{display:none}.links-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) a,.no-chevron .sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.simple-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting),.sortable-enabled :not(.sortable-opposite).no-chevron .item-link .item-inner,.sortable-enabled.no-chevron:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link.no-chevron .item-inner{padding-right:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.links-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) a,.simple-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting),.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .item-content{padding-left:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.ios .sortable-handler:after{content:'sort_ios'}.md .sortable-handler:after{content:'sort_md'}
|
|
@@ -27,7 +27,6 @@ const Sortable = {
|
|
|
27
27
|
let sortingElOffsetTop;
|
|
28
28
|
let initialScrollTop;
|
|
29
29
|
let wasTapHold;
|
|
30
|
-
|
|
31
30
|
function handleTouchStart(e, isTapHold) {
|
|
32
31
|
isMoved = false;
|
|
33
32
|
isTouched = true;
|
|
@@ -37,26 +36,21 @@ const Sortable = {
|
|
|
37
36
|
indexFrom = $sortingEl.index();
|
|
38
37
|
$sortableContainer = $sortingEl.parents('.sortable');
|
|
39
38
|
const $listGroup = $sortingEl.parents('.list-group');
|
|
40
|
-
|
|
41
39
|
if ($listGroup.length && $listGroup.parents($sortableContainer).length) {
|
|
42
40
|
$sortableContainer = $listGroup;
|
|
43
41
|
}
|
|
44
|
-
|
|
45
42
|
$sortingItems = $sortableContainer.children('ul').children('li:not(.disallow-sorting):not(.no-sorting)');
|
|
46
43
|
if (app.panel) app.panel.allowOpen = false;
|
|
47
44
|
if (app.swipeout) app.swipeout.allow = false;
|
|
48
|
-
|
|
49
45
|
if (isTapHold) {
|
|
50
46
|
$sortingEl.addClass('sorting');
|
|
51
47
|
$sortableContainer.addClass('sortable-sorting');
|
|
52
48
|
wasTapHold = true;
|
|
53
49
|
}
|
|
54
50
|
}
|
|
55
|
-
|
|
56
51
|
function handleTouchMove(e) {
|
|
57
52
|
if (!isTouched || !$sortingEl) return;
|
|
58
53
|
const pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;
|
|
59
|
-
|
|
60
54
|
if (!isMoved) {
|
|
61
55
|
$pageEl = $sortingEl.parents('.page');
|
|
62
56
|
$pageContentEl = $sortingEl.parents('.page-content');
|
|
@@ -73,7 +67,6 @@ const Sortable = {
|
|
|
73
67
|
sortingElHeight = $sortingEl[0].offsetHeight;
|
|
74
68
|
sortingElOffsetTop = $sortingEl.offset().top;
|
|
75
69
|
}
|
|
76
|
-
|
|
77
70
|
isMoved = true;
|
|
78
71
|
e.preventDefault();
|
|
79
72
|
e.f7PreventSwipePanel = true;
|
|
@@ -83,35 +76,28 @@ const Sortable = {
|
|
|
83
76
|
$sortingEl.transform(`translate3d(0,${translate}px,0)`);
|
|
84
77
|
const scrollAddition = 44;
|
|
85
78
|
let allowScroll = true;
|
|
86
|
-
|
|
87
79
|
if (touchesDiff + translateScrollOffset + scrollAddition < -minTop) {
|
|
88
80
|
allowScroll = false;
|
|
89
81
|
}
|
|
90
|
-
|
|
91
82
|
if (touchesDiff + translateScrollOffset - scrollAddition > maxTop) {
|
|
92
83
|
allowScroll = false;
|
|
93
84
|
}
|
|
94
|
-
|
|
95
85
|
$insertBeforeEl = undefined;
|
|
96
86
|
$insertAfterEl = undefined;
|
|
97
87
|
let scrollDiff;
|
|
98
|
-
|
|
99
88
|
if (allowScroll) {
|
|
100
89
|
if (sortingElOffsetTop + touchesDiff + sortingElHeight + scrollAddition > pageOffset + pageHeight) {
|
|
101
90
|
// To Bottom
|
|
102
91
|
scrollDiff = sortingElOffsetTop + touchesDiff + sortingElHeight + scrollAddition - (pageOffset + pageHeight);
|
|
103
92
|
}
|
|
104
|
-
|
|
105
93
|
if (sortingElOffsetTop + touchesDiff < pageOffset + scrollAddition) {
|
|
106
94
|
// To Top
|
|
107
95
|
scrollDiff = sortingElOffsetTop + touchesDiff - pageOffset - scrollAddition;
|
|
108
96
|
}
|
|
109
|
-
|
|
110
97
|
if (scrollDiff) {
|
|
111
98
|
$pageContentEl[0].scrollTop += scrollDiff;
|
|
112
99
|
}
|
|
113
100
|
}
|
|
114
|
-
|
|
115
101
|
$sortingItems.each(el => {
|
|
116
102
|
const $currentEl = $(el);
|
|
117
103
|
if ($currentEl[0] === $sortingEl[0]) return;
|
|
@@ -120,7 +106,6 @@ const Sortable = {
|
|
|
120
106
|
const sortingElOffset = sortingElOffsetLocal + translate;
|
|
121
107
|
let currentTranslate;
|
|
122
108
|
const prevTranslate = $currentEl[0].f7Translate;
|
|
123
|
-
|
|
124
109
|
if (sortingElOffset >= currentElOffset - currentElHeight / 2 && $sortingEl.index() < $currentEl.index()) {
|
|
125
110
|
currentTranslate = -sortingElHeight;
|
|
126
111
|
$currentEl.transform(`translate3d(0, ${currentTranslate}px,0)`);
|
|
@@ -136,33 +121,27 @@ const Sortable = {
|
|
|
136
121
|
currentTranslate = undefined;
|
|
137
122
|
$currentEl.transform('translate3d(0, 0%,0)');
|
|
138
123
|
}
|
|
139
|
-
|
|
140
124
|
if (prevTranslate !== currentTranslate) {
|
|
141
125
|
$currentEl.trigger('sortable:move');
|
|
142
126
|
app.emit('sortableMove', $currentEl[0], $sortableContainer[0]);
|
|
143
127
|
}
|
|
144
|
-
|
|
145
128
|
$currentEl[0].f7Translate = currentTranslate;
|
|
146
129
|
});
|
|
147
130
|
}
|
|
148
|
-
|
|
149
131
|
function handleTouchEnd() {
|
|
150
132
|
if (!isTouched || !isMoved) {
|
|
151
133
|
if (isTouched && !isMoved) {
|
|
152
134
|
if (app.panel) app.panel.allowOpen = true;
|
|
153
135
|
if (app.swipeout) app.swipeout.allow = true;
|
|
154
|
-
|
|
155
136
|
if (wasTapHold) {
|
|
156
137
|
$sortingEl.removeClass('sorting');
|
|
157
138
|
$sortableContainer.removeClass('sortable-sorting');
|
|
158
139
|
}
|
|
159
140
|
}
|
|
160
|
-
|
|
161
141
|
isTouched = false;
|
|
162
142
|
isMoved = false;
|
|
163
143
|
return;
|
|
164
144
|
}
|
|
165
|
-
|
|
166
145
|
if (app.panel) app.panel.allowOpen = true;
|
|
167
146
|
if (app.swipeout) app.swipeout.allow = true;
|
|
168
147
|
$sortingItems.transform('');
|
|
@@ -171,25 +150,20 @@ const Sortable = {
|
|
|
171
150
|
let indexTo;
|
|
172
151
|
if ($insertAfterEl) indexTo = $insertAfterEl.index();else if ($insertBeforeEl) indexTo = $insertBeforeEl.index();
|
|
173
152
|
let moveElements = $sortableContainer.dataset().sortableMoveElements;
|
|
174
|
-
|
|
175
153
|
if (typeof moveElements === 'undefined') {
|
|
176
154
|
moveElements = app.params.sortable.moveElements;
|
|
177
155
|
}
|
|
178
|
-
|
|
179
156
|
if (moveElements) {
|
|
180
157
|
if ($insertAfterEl) {
|
|
181
158
|
$sortingEl.insertAfter($insertAfterEl);
|
|
182
159
|
}
|
|
183
|
-
|
|
184
160
|
if ($insertBeforeEl) {
|
|
185
161
|
$sortingEl.insertBefore($insertBeforeEl);
|
|
186
162
|
}
|
|
187
163
|
}
|
|
188
|
-
|
|
189
164
|
if (($insertAfterEl || $insertBeforeEl) && $sortableContainer.hasClass('virtual-list')) {
|
|
190
165
|
indexFrom = $sortingEl[0].f7VirtualListIndex;
|
|
191
166
|
if (typeof indexFrom === 'undefined') indexFrom = $sortingEl.attr('data-virtual-list-index');
|
|
192
|
-
|
|
193
167
|
if ($insertBeforeEl) {
|
|
194
168
|
indexTo = $insertBeforeEl[0].f7VirtualListIndex;
|
|
195
169
|
if (typeof indexTo === 'undefined') indexTo = $insertBeforeEl.attr('data-virtual-list-index');
|
|
@@ -197,14 +171,12 @@ const Sortable = {
|
|
|
197
171
|
indexTo = $insertAfterEl[0].f7VirtualListIndex;
|
|
198
172
|
if (typeof indexTo === 'undefined') indexTo = $insertAfterEl.attr('data-virtual-list-index');
|
|
199
173
|
}
|
|
200
|
-
|
|
201
174
|
if (indexTo !== null) indexTo = parseInt(indexTo, 10);else indexTo = undefined;
|
|
202
175
|
const virtualList = $sortableContainer[0].f7VirtualList;
|
|
203
176
|
if (indexFrom) indexFrom = parseInt(indexFrom, 10);
|
|
204
177
|
if (indexTo) indexTo = parseInt(indexTo, 10);
|
|
205
178
|
if (virtualList) virtualList.moveItem(indexFrom, indexTo);
|
|
206
179
|
}
|
|
207
|
-
|
|
208
180
|
if (typeof indexTo !== 'undefined' && !Number.isNaN(indexTo) && indexTo !== indexFrom) {
|
|
209
181
|
$sortingEl.trigger('sortable:sort', {
|
|
210
182
|
from: indexFrom,
|
|
@@ -216,13 +188,11 @@ const Sortable = {
|
|
|
216
188
|
el: $sortingEl[0]
|
|
217
189
|
}, $sortableContainer[0]);
|
|
218
190
|
}
|
|
219
|
-
|
|
220
191
|
$insertBeforeEl = undefined;
|
|
221
192
|
$insertAfterEl = undefined;
|
|
222
193
|
isTouched = false;
|
|
223
194
|
isMoved = false;
|
|
224
195
|
}
|
|
225
|
-
|
|
226
196
|
const activeListener = getSupport().passiveListener ? {
|
|
227
197
|
passive: false,
|
|
228
198
|
capture: false
|
|
@@ -234,12 +204,10 @@ const Sortable = {
|
|
|
234
204
|
handleTouchStart(pointerEvent, true);
|
|
235
205
|
});
|
|
236
206
|
},
|
|
237
|
-
|
|
238
207
|
enable(el) {
|
|
239
208
|
if (el === void 0) {
|
|
240
209
|
el = '.list.sortable';
|
|
241
210
|
}
|
|
242
|
-
|
|
243
211
|
const app = this;
|
|
244
212
|
const $el = $(el);
|
|
245
213
|
if ($el.length === 0) return;
|
|
@@ -247,12 +215,10 @@ const Sortable = {
|
|
|
247
215
|
$el.trigger('sortable:enable');
|
|
248
216
|
app.emit('sortableEnable', $el[0]);
|
|
249
217
|
},
|
|
250
|
-
|
|
251
218
|
disable(el) {
|
|
252
219
|
if (el === void 0) {
|
|
253
220
|
el = '.list.sortable';
|
|
254
221
|
}
|
|
255
|
-
|
|
256
222
|
const app = this;
|
|
257
223
|
const $el = $(el);
|
|
258
224
|
if ($el.length === 0) return;
|
|
@@ -260,23 +226,19 @@ const Sortable = {
|
|
|
260
226
|
$el.trigger('sortable:disable');
|
|
261
227
|
app.emit('sortableDisable', $el[0]);
|
|
262
228
|
},
|
|
263
|
-
|
|
264
229
|
toggle(el) {
|
|
265
230
|
if (el === void 0) {
|
|
266
231
|
el = '.list.sortable';
|
|
267
232
|
}
|
|
268
|
-
|
|
269
233
|
const app = this;
|
|
270
234
|
const $el = $(el);
|
|
271
235
|
if ($el.length === 0) return;
|
|
272
|
-
|
|
273
236
|
if ($el.hasClass('sortable-enabled')) {
|
|
274
237
|
app.sortable.disable($el);
|
|
275
238
|
} else {
|
|
276
239
|
app.sortable.enable($el);
|
|
277
240
|
}
|
|
278
241
|
}
|
|
279
|
-
|
|
280
242
|
};
|
|
281
243
|
export default {
|
|
282
244
|
name: 'sortable',
|
|
@@ -285,28 +247,24 @@ export default {
|
|
|
285
247
|
moveElements: true
|
|
286
248
|
}
|
|
287
249
|
},
|
|
288
|
-
|
|
289
250
|
create() {
|
|
290
251
|
const app = this;
|
|
291
252
|
bindMethods(app, {
|
|
292
253
|
sortable: Sortable
|
|
293
254
|
});
|
|
294
255
|
},
|
|
295
|
-
|
|
296
256
|
on: {
|
|
297
257
|
init() {
|
|
298
258
|
const app = this;
|
|
299
259
|
if (!app.params.sortable) return;
|
|
300
260
|
app.sortable.init();
|
|
301
261
|
}
|
|
302
|
-
|
|
303
262
|
},
|
|
304
263
|
clicks: {
|
|
305
264
|
'.sortable-enable': function enable($clickedEl, data) {
|
|
306
265
|
if (data === void 0) {
|
|
307
266
|
data = {};
|
|
308
267
|
}
|
|
309
|
-
|
|
310
268
|
const app = this;
|
|
311
269
|
app.sortable.enable(data.sortable);
|
|
312
270
|
},
|
|
@@ -314,7 +272,6 @@ export default {
|
|
|
314
272
|
if (data === void 0) {
|
|
315
273
|
data = {};
|
|
316
274
|
}
|
|
317
|
-
|
|
318
275
|
const app = this;
|
|
319
276
|
app.sortable.disable(data.sortable);
|
|
320
277
|
},
|
|
@@ -322,7 +279,6 @@ export default {
|
|
|
322
279
|
if (data === void 0) {
|
|
323
280
|
data = {};
|
|
324
281
|
}
|
|
325
|
-
|
|
326
282
|
const app = this;
|
|
327
283
|
app.sortable.toggle(data.sortable);
|
|
328
284
|
}
|