framework7 6.3.15 → 7.0.0-beta.11
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 +132 -1
- package/components/accordion/accordion.lazy.js +1 -0
- package/components/actions/actions-class.js +370 -0
- package/components/actions/actions-rtl.css +1 -1
- package/components/actions/actions.css +1 -1
- package/components/actions/actions.d.ts +2 -0
- package/components/actions/actions.js +43 -1
- package/components/actions/actions.lazy.js +1 -0
- package/components/actions/actions.less +3 -0
- package/components/app/app-class.d.ts +10 -10
- package/{esm/components → components}/app/app-class.js +119 -152
- package/components/app/app.less +3 -3
- package/{esm/components → components}/app/load-module.js +34 -34
- package/components/appbar/appbar.js +3 -1
- package/components/appbar/appbar.lazy.js +1 -0
- package/components/area-chart/area-chart-class.js +507 -0
- package/components/area-chart/area-chart-rtl.css +1 -1
- package/components/area-chart/area-chart.css +1 -1
- package/components/area-chart/area-chart.js +47 -1
- package/components/area-chart/area-chart.lazy.js +1 -0
- package/{esm/components → components}/autocomplete/autocomplete-class.js +246 -258
- package/components/autocomplete/autocomplete-rtl.css +1 -1
- package/components/autocomplete/autocomplete.css +1 -1
- package/components/autocomplete/autocomplete.js +86 -1
- package/components/autocomplete/autocomplete.lazy.js +1 -0
- package/{esm/components → components}/badge/badge.js +0 -0
- package/{esm/components → components}/block/block.js +0 -0
- package/components/breadcrumbs/breadcrumbs-aurora.less +2 -0
- package/components/breadcrumbs/breadcrumbs-ios.less +2 -0
- package/components/breadcrumbs/breadcrumbs-md.less +2 -0
- package/components/breadcrumbs/breadcrumbs-rtl.css +1 -0
- package/components/breadcrumbs/breadcrumbs-vars.less +36 -0
- package/components/breadcrumbs/breadcrumbs.css +1 -0
- package/components/breadcrumbs/breadcrumbs.d.ts +15 -0
- package/components/breadcrumbs/breadcrumbs.js +13 -0
- package/components/breadcrumbs/breadcrumbs.lazy.js +1 -0
- package/components/breadcrumbs/breadcrumbs.less +100 -0
- package/{esm/components → components}/button/button.js +0 -0
- package/{esm/components → components}/calendar/calendar-class.js +828 -728
- package/components/calendar/calendar-rtl.css +1 -1
- package/components/calendar/calendar-vars.less +6 -10
- package/components/calendar/calendar.css +1 -1
- package/components/calendar/calendar.d.ts +2 -0
- package/components/calendar/calendar.js +112 -1
- package/components/calendar/calendar.lazy.js +1 -0
- package/components/calendar/calendar.less +20 -16
- package/components/card/card-rtl.css +1 -1
- package/components/card/card.css +1 -1
- package/components/card/card.js +592 -1
- package/components/card/card.lazy.js +1 -0
- package/components/checkbox/checkbox-rtl.css +1 -1
- package/components/checkbox/checkbox.css +1 -1
- package/components/checkbox/checkbox.js +3 -1
- package/components/checkbox/checkbox.lazy.js +1 -0
- package/components/chip/chip-rtl.css +1 -1
- package/components/chip/chip.css +1 -1
- package/components/chip/chip.js +3 -1
- package/components/chip/chip.lazy.js +1 -0
- package/{esm/components → components}/color-picker/color-picker-class.js +354 -367
- 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 +92 -1
- package/components/color-picker/color-picker.lazy.js +1 -0
- package/{esm/components → components}/color-picker/modules/alpha-slider.js +31 -20
- package/{esm/components → components}/color-picker/modules/brightness-slider.js +37 -26
- package/{esm/components → components}/color-picker/modules/current-color.js +5 -3
- package/{esm/components → components}/color-picker/modules/hex.js +28 -17
- package/{esm/components → components}/color-picker/modules/hs-spectrum.js +41 -29
- package/{esm/components → components}/color-picker/modules/hsb-sliders.js +57 -44
- package/{esm/components → components}/color-picker/modules/hue-slider.js +30 -19
- package/{esm/components → components}/color-picker/modules/initial-current-colors.js +15 -10
- package/{esm/components → components}/color-picker/modules/palette.js +16 -13
- package/{esm/components → components}/color-picker/modules/rgb-bars.js +44 -31
- package/{esm/components → components}/color-picker/modules/rgb-sliders.js +49 -36
- package/{esm/components → components}/color-picker/modules/sb-spectrum.js +41 -29
- package/{esm/components → components}/color-picker/modules/wheel.js +62 -50
- package/components/contacts-list/contacts-list-rtl.css +1 -1
- package/components/contacts-list/contacts-list.css +1 -1
- package/components/contacts-list/contacts-list.js +3 -1
- package/components/contacts-list/contacts-list.lazy.js +1 -0
- package/{esm/components → components}/data-table/data-table-class.js +43 -62
- package/components/data-table/data-table-rtl.css +1 -1
- package/components/data-table/data-table.css +1 -1
- package/components/data-table/data-table.js +72 -1
- package/components/data-table/data-table.lazy.js +1 -0
- package/{esm/components → components}/dialog/dialog-class.js +63 -72
- package/components/dialog/dialog-rtl.css +1 -1
- package/components/dialog/dialog.css +1 -1
- package/components/dialog/dialog.js +254 -1
- package/components/dialog/dialog.lazy.js +1 -0
- package/components/elevation/elevation.js +3 -1
- package/components/elevation/elevation.lazy.js +1 -0
- package/components/fab/fab.js +181 -1
- package/components/fab/fab.lazy.js +1 -0
- package/components/form/form.js +347 -1
- package/components/form/form.lazy.js +1 -0
- package/components/gauge/gauge-class.js +306 -0
- package/components/gauge/gauge.js +99 -1
- package/components/gauge/gauge.lazy.js +1 -0
- package/components/grid/grid-rtl.css +1 -1
- package/components/grid/grid.css +1 -1
- package/components/grid/grid.js +227 -1
- package/components/grid/grid.lazy.js +1 -0
- package/{esm/components → components}/icon/icon.js +0 -0
- package/components/infinite-scroll/infinite-scroll.js +110 -1
- package/components/infinite-scroll/infinite-scroll.lazy.js +1 -0
- package/components/input/input-rtl.css +1 -1
- package/components/input/input.css +1 -1
- package/components/input/input.js +394 -1
- package/components/input/input.lazy.js +1 -0
- package/components/input/input.less +1 -1
- package/components/lazy/lazy.js +283 -1
- package/components/lazy/lazy.lazy.js +1 -0
- package/{esm/components → components}/link/link.js +0 -0
- package/{esm/components → components}/list/list.js +0 -0
- package/{esm/components → components}/list-index/list-index-class.js +118 -126
- package/components/list-index/list-index-rtl.css +1 -1
- package/components/list-index/list-index.css +1 -1
- package/components/list-index/list-index.d.ts +1 -1
- package/components/list-index/list-index.js +73 -1
- package/components/list-index/list-index.lazy.js +1 -0
- package/components/login-screen/login-screen-class.js +43 -0
- package/components/login-screen/login-screen-rtl.css +1 -1
- package/components/login-screen/login-screen.css +1 -1
- package/components/login-screen/login-screen.js +28 -1
- package/components/login-screen/login-screen.lazy.js +1 -0
- package/components/login-screen/login-screen.less +1 -1
- package/components/menu/menu.js +79 -1
- package/components/menu/menu.lazy.js +1 -0
- package/{esm/components → components}/messagebar/messagebar-class.js +128 -156
- package/components/messagebar/messagebar-rtl.css +1 -1
- package/components/messagebar/messagebar.css +1 -1
- package/components/messagebar/messagebar.js +74 -1
- package/components/messagebar/messagebar.lazy.js +1 -0
- package/{esm/components → components}/messages/messages-class.js +166 -246
- package/components/messages/messages-rtl.css +1 -1
- package/components/messages/messages.css +1 -1
- package/components/messages/messages.js +73 -1
- package/components/messages/messages.lazy.js +1 -0
- package/components/modal/custom-modal-class.js +76 -0
- package/{esm/components → components}/modal/modal-class.js +81 -86
- package/components/modal/modal.js +25 -0
- package/{esm/components → components}/navbar/navbar.js +169 -174
- package/components/notification/notification-aurora.less +1 -1
- package/{esm/components → components}/notification/notification-class.js +69 -82
- package/components/notification/notification-ios.less +1 -1
- package/components/notification/notification-rtl.css +1 -1
- package/components/notification/notification.css +1 -1
- package/components/notification/notification.d.ts +4 -4
- package/components/notification/notification.js +35 -1
- package/components/notification/notification.lazy.js +1 -0
- package/components/page/page-vars.less +1 -1
- package/{esm/components → components}/page/page.js +0 -0
- package/{esm/components → components}/panel/panel-class.js +189 -220
- package/components/panel/panel-rtl.css +1 -1
- package/components/panel/panel.css +1 -1
- package/components/panel/panel.js +190 -1
- package/components/panel/panel.lazy.js +1 -0
- package/{esm/components → components}/panel/resizable-panel.js +33 -31
- package/{esm/components → components}/panel/swipe-panel.js +48 -46
- package/{esm/components → components}/photo-browser/photo-browser-class.js +210 -238
- package/components/photo-browser/photo-browser.js +73 -1
- package/components/photo-browser/photo-browser.lazy.js +1 -0
- package/{esm/components → components}/picker/picker-class.js +244 -244
- package/components/picker/picker-column.js +141 -0
- package/components/picker/picker-rtl.css +1 -1
- package/components/picker/picker.css +1 -1
- package/components/picker/picker.d.ts +2 -13
- package/components/picker/picker.js +59 -1
- package/components/picker/picker.lazy.js +1 -0
- package/components/picker/picker.less +28 -10
- package/components/pie-chart/pie-chart-class.js +264 -0
- package/components/pie-chart/pie-chart.js +35 -1
- package/components/pie-chart/pie-chart.lazy.js +1 -0
- package/{esm/components → components}/popover/popover-class.js +92 -104
- package/components/popover/popover-rtl.css +1 -1
- package/components/popover/popover.css +1 -1
- package/components/popover/popover.d.ts +2 -0
- package/components/popover/popover.js +77 -1
- package/components/popover/popover.lazy.js +1 -0
- package/components/popover/popover.less +3 -0
- package/{esm/components → components}/popup/popup-class.js +78 -88
- package/components/popup/popup-rtl.css +1 -1
- package/components/popup/popup.css +1 -1
- package/components/popup/popup.d.ts +4 -0
- package/components/popup/popup.js +42 -1
- package/components/popup/popup.lazy.js +1 -0
- package/components/popup/popup.less +24 -21
- package/components/preloader/preloader.js +115 -1
- package/components/preloader/preloader.lazy.js +1 -0
- package/components/progressbar/progressbar-rtl.css +1 -1
- package/components/progressbar/progressbar.css +1 -1
- package/components/progressbar/progressbar.js +166 -1
- package/components/progressbar/progressbar.lazy.js +1 -0
- package/{esm/components → components}/pull-to-refresh/pull-to-refresh-class.js +107 -124
- package/components/pull-to-refresh/pull-to-refresh.js +70 -1
- package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -0
- package/components/radio/radio-rtl.css +1 -1
- package/components/radio/radio.css +1 -1
- package/components/radio/radio.js +3 -1
- package/components/radio/radio.lazy.js +1 -0
- package/{esm/components → components}/range/range-class.js +196 -197
- package/components/range/range-rtl.css +1 -1
- package/components/range/range.css +1 -1
- package/components/range/range.js +79 -1
- package/components/range/range.lazy.js +1 -0
- package/components/searchbar/remove-diacritics.js +275 -0
- package/{esm/components → components}/searchbar/searchbar-class.js +135 -152
- package/components/searchbar/searchbar-rtl.css +1 -1
- package/components/searchbar/searchbar.css +1 -1
- package/components/searchbar/searchbar.js +121 -1
- package/components/searchbar/searchbar.lazy.js +1 -0
- package/components/searchbar/searchbar.less +1 -1
- package/{esm/components → components}/sheet/sheet-class.js +99 -113
- package/components/sheet/sheet-rtl.css +1 -1
- package/components/sheet/sheet.css +1 -1
- package/components/sheet/sheet.d.ts +2 -0
- package/components/sheet/sheet.js +69 -1
- package/components/sheet/sheet.lazy.js +1 -0
- package/components/sheet/sheet.less +19 -16
- package/components/skeleton/skeleton-rtl.css +1 -1
- package/components/skeleton/skeleton-vars.less +1 -1
- package/components/skeleton/skeleton.css +1 -1
- package/components/skeleton/skeleton.js +3 -1
- package/components/skeleton/skeleton.lazy.js +1 -0
- package/components/skeleton/skeleton.less +1 -1
- package/{esm/components → components}/smart-select/smart-select-class.js +288 -300
- package/components/smart-select/smart-select.js +149 -1
- package/components/smart-select/smart-select.lazy.js +1 -0
- package/components/sortable/sortable-rtl.css +1 -1
- package/components/sortable/sortable.css +1 -1
- package/components/sortable/sortable.js +306 -1
- package/components/sortable/sortable.lazy.js +1 -0
- package/{esm/components → components}/statusbar/statusbar.js +51 -44
- package/{esm/components → components}/stepper/stepper-class.js +108 -119
- package/components/stepper/stepper-rtl.css +1 -1
- package/components/stepper/stepper.css +1 -1
- package/components/stepper/stepper.js +86 -1
- package/components/stepper/stepper.lazy.js +1 -0
- package/{esm/components → components}/subnavbar/subnavbar.js +4 -3
- package/components/swipeout/swipeout-rtl.css +1 -1
- package/components/swipeout/swipeout.css +1 -1
- package/components/swipeout/swipeout.js +597 -1
- package/components/swipeout/swipeout.lazy.js +1 -0
- package/components/swiper/swiper-rtl.css +1 -1
- package/components/swiper/swiper.css +1 -1
- package/components/swiper/swiper.js +191 -1
- package/components/swiper/swiper.lazy.js +1 -0
- package/components/swiper/swiper.less +1 -1
- package/components/tabs/tabs.js +271 -1
- package/components/tabs/tabs.lazy.js +1 -0
- package/{esm/components → components}/text-editor/text-editor-class.js +174 -186
- package/components/text-editor/text-editor-rtl.css +1 -1
- package/components/text-editor/text-editor.css +1 -1
- package/components/text-editor/text-editor.js +89 -1
- package/components/text-editor/text-editor.lazy.js +1 -0
- package/components/timeline/timeline-rtl.css +1 -1
- package/components/timeline/timeline.css +1 -1
- package/components/timeline/timeline.js +3 -1
- package/components/timeline/timeline.lazy.js +1 -0
- package/components/toast/toast-class.js +119 -0
- package/components/toast/toast.d.ts +2 -2
- package/components/toast/toast.js +43 -1
- package/components/toast/toast.lazy.js +1 -0
- package/{esm/components → components}/toggle/toggle-class.js +51 -68
- package/components/toggle/toggle-rtl.css +1 -1
- package/components/toggle/toggle.css +1 -1
- package/components/toggle/toggle.js +65 -1
- package/components/toggle/toggle.lazy.js +1 -0
- package/{esm/components → components}/toolbar/toolbar.js +65 -61
- package/{esm/components → components}/tooltip/tooltip-class.js +100 -111
- package/components/tooltip/tooltip.js +144 -1
- package/components/tooltip/tooltip.lazy.js +1 -0
- package/components/touch-ripple/touch-ripple-class.js +98 -0
- package/components/touch-ripple/touch-ripple-vars.less +1 -1
- package/components/touch-ripple/touch-ripple.js +18 -0
- package/components/treeview/treeview-rtl.css +1 -1
- package/components/treeview/treeview.css +1 -1
- package/components/treeview/treeview.js +83 -1
- package/components/treeview/treeview.lazy.js +1 -0
- package/components/typography/typography.js +3 -1
- package/components/typography/typography.lazy.js +1 -0
- package/{esm/components → components}/view/resizable-view.js +26 -24
- package/{esm/components → components}/view/view-class.js +54 -73
- package/components/view/view.d.ts +2 -0
- package/{esm/components → components}/view/view.js +41 -31
- package/{esm/components → components}/virtual-list/virtual-list-class.js +158 -175
- package/components/virtual-list/virtual-list.js +19 -1
- package/components/virtual-list/virtual-list.lazy.js +1 -0
- package/framework7-bundle-rtl.css +544 -1021
- package/framework7-bundle-rtl.min.css +3 -3
- package/framework7-bundle.css +544 -1021
- package/framework7-bundle.esm.js +99 -0
- package/framework7-bundle.js +31544 -32007
- package/framework7-bundle.js.map +1 -1
- package/framework7-bundle.less +3 -2
- 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 +92 -0
- package/framework7-lite.esm.js +39 -0
- package/framework7-rtl.css +52 -56
- package/framework7-rtl.min.css +3 -3
- package/{types/types.d.ts → framework7-types.d.ts} +5 -1
- package/framework7.css +52 -56
- package/framework7.d.ts +85 -81
- package/framework7.esm.js +43 -0
- package/framework7.js +3405 -4062
- package/framework7.js.map +1 -1
- package/framework7.less +2 -2
- package/framework7.min.css +3 -3
- package/framework7.min.js +3 -3
- package/framework7.min.js.map +1 -1
- package/less/mixins.less +2 -2
- package/{esm/modules → modules}/clicks/clicks.js +19 -18
- package/modules/component/$h.js +14 -0
- package/modules/component/$jsx.js +18 -0
- package/modules/component/component-class.js +382 -0
- package/modules/component/component.js +50 -0
- package/{esm/modules → modules}/component/custom-components.js +0 -0
- package/{esm/modules → modules}/component/eventslisteners.js +15 -19
- package/modules/component/parse-component.js +80 -0
- package/modules/component/patch.js +8 -0
- package/{esm/modules → modules}/component/snabbdom/h.js +1 -1
- package/{esm/modules → modules}/component/snabbdom/helpers/attachto.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/hooks.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/htmldomapi.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/is.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/attributes.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/class.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/dataset.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/eventlisteners.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/hero.js +1 -1
- package/{esm/modules → modules}/component/snabbdom/modules/module.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/props.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/style.js +1 -1
- package/modules/component/snabbdom/snabbdom.bundle.js +19 -0
- package/{esm/modules → modules}/component/snabbdom/snabbdom.js +9 -21
- package/{esm/modules → modules}/component/snabbdom/thunk.js +1 -1
- package/{esm/modules → modules}/component/snabbdom/tovnode.js +2 -2
- package/{esm/modules → modules}/component/snabbdom/vnode.js +0 -0
- package/{esm/modules → modules}/component/vdom.js +110 -134
- package/{esm/modules → modules}/demo-module.js +15 -7
- package/{esm/modules → modules}/device/device.js +13 -12
- package/{esm/modules → modules}/history/history.js +3 -2
- package/{esm/modules → modules}/request/request.js +3 -3
- package/modules/resize/resize.js +65 -0
- package/{esm/modules → modules}/router/app-router-check.js +1 -1
- package/{esm/modules → modules}/router/async-component.js +3 -3
- package/{esm/modules → modules}/router/back.js +135 -125
- package/{esm/modules → modules}/router/clear-previous-history.js +10 -10
- package/modules/router/component-loader.js +174 -0
- package/{esm/modules → modules}/router/modal.js +53 -53
- package/{esm/modules → modules}/router/navigate.js +147 -228
- package/{esm/modules → modules}/router/process-route-queue.js +20 -17
- package/{esm/modules → modules}/router/redirect.js +8 -12
- package/{esm/modules → modules}/router/router-class.js +423 -444
- package/{esm/modules → modules}/router/router.js +6 -4
- package/{esm/modules → modules}/router/swipe-back.js +148 -182
- package/{esm/modules → modules}/router/tab.js +52 -52
- package/{esm/modules → modules}/service-worker/service-worker.js +42 -38
- package/modules/store/create-store.js +149 -0
- package/modules/store/store.js +11 -0
- package/modules/support/support.js +7 -0
- package/{esm/modules → modules}/touch/touch.js +75 -74
- package/modules/utils/utils.js +10 -0
- package/package.json +256 -11
- package/shared/$jsx.js +22 -0
- package/shared/class.js +143 -0
- package/shared/constructor-methods.js +42 -0
- package/{esm/shared → shared}/dom7.js +2 -1
- package/shared/events-class.js +100 -0
- package/{types/shared → shared}/get-device.d.ts +0 -0
- package/{esm/shared → shared}/get-device.js +33 -38
- package/{types/shared → shared}/get-support.d.ts +0 -0
- package/{esm/shared → shared}/get-support.js +7 -6
- package/{esm/shared → shared}/history.js +63 -49
- package/shared/modal-methods.js +90 -0
- package/{types/shared → shared}/request.d.ts +0 -0
- package/shared/request.js +474 -0
- package/{types/shared → shared}/utils.d.ts +0 -0
- package/{esm/shared → shared}/utils.js +125 -162
- package/bundle/package.json +0 -8
- package/cjs/components/accordion/accordion.js +0 -136
- package/cjs/components/actions/actions-class.js +0 -383
- package/cjs/components/actions/actions.js +0 -58
- package/cjs/components/app/app-class.js +0 -378
- package/cjs/components/app/load-module.js +0 -155
- package/cjs/components/appbar/appbar.js +0 -8
- package/cjs/components/area-chart/area-chart-class.js +0 -526
- package/cjs/components/area-chart/area-chart.js +0 -56
- package/cjs/components/autocomplete/autocomplete-class.js +0 -975
- package/cjs/components/autocomplete/autocomplete.js +0 -93
- package/cjs/components/badge/badge.js +0 -8
- package/cjs/components/block/block.js +0 -8
- package/cjs/components/button/button.js +0 -8
- package/cjs/components/calendar/calendar-class.js +0 -2095
- package/cjs/components/calendar/calendar.js +0 -124
- package/cjs/components/card/card.js +0 -625
- package/cjs/components/checkbox/checkbox.js +0 -8
- package/cjs/components/chip/chip.js +0 -8
- package/cjs/components/color-picker/color-picker-class.js +0 -1022
- package/cjs/components/color-picker/color-picker.js +0 -105
- package/cjs/components/color-picker/modules/alpha-slider.js +0 -101
- package/cjs/components/color-picker/modules/brightness-slider.js +0 -86
- package/cjs/components/color-picker/modules/current-color.js +0 -23
- package/cjs/components/color-picker/modules/hex.js +0 -81
- package/cjs/components/color-picker/modules/hs-spectrum.js +0 -137
- package/cjs/components/color-picker/modules/hsb-sliders.js +0 -206
- package/cjs/components/color-picker/modules/hue-slider.js +0 -78
- package/cjs/components/color-picker/modules/initial-current-colors.js +0 -54
- package/cjs/components/color-picker/modules/palette.js +0 -61
- package/cjs/components/color-picker/modules/rgb-bars.js +0 -196
- package/cjs/components/color-picker/modules/rgb-sliders.js +0 -198
- package/cjs/components/color-picker/modules/sb-spectrum.js +0 -137
- package/cjs/components/color-picker/modules/wheel.js +0 -198
- package/cjs/components/contacts-list/contacts-list.js +0 -8
- package/cjs/components/data-table/data-table-class.js +0 -188
- package/cjs/components/data-table/data-table.js +0 -75
- package/cjs/components/dialog/dialog-class.js +0 -250
- package/cjs/components/dialog/dialog.js +0 -297
- package/cjs/components/elevation/elevation.js +0 -8
- package/cjs/components/fab/fab.js +0 -195
- package/cjs/components/form/form.js +0 -341
- package/cjs/components/gauge/gauge-class.js +0 -332
- package/cjs/components/gauge/gauge.js +0 -103
- package/cjs/components/grid/grid.js +0 -233
- package/cjs/components/icon/icon.js +0 -8
- package/cjs/components/infinite-scroll/infinite-scroll.js +0 -111
- package/cjs/components/input/input.js +0 -396
- package/cjs/components/lazy/lazy.js +0 -283
- package/cjs/components/link/link.js +0 -8
- package/cjs/components/list/list.js +0 -8
- package/cjs/components/list-index/list-index-class.js +0 -405
- package/cjs/components/list-index/list-index.js +0 -77
- package/cjs/components/login-screen/login-screen-class.js +0 -68
- package/cjs/components/login-screen/login-screen.js +0 -44
- package/cjs/components/menu/menu.js +0 -92
- package/cjs/components/messagebar/messagebar-class.js +0 -446
- package/cjs/components/messagebar/messagebar.js +0 -78
- package/cjs/components/messages/messages-class.js +0 -633
- package/cjs/components/messages/messages.js +0 -76
- package/cjs/components/modal/custom-modal-class.js +0 -99
- package/cjs/components/modal/modal-class.js +0 -277
- package/cjs/components/modal/modal.js +0 -32
- package/cjs/components/navbar/navbar.js +0 -833
- package/cjs/components/notification/notification-class.js +0 -269
- package/cjs/components/notification/notification.js +0 -44
- package/cjs/components/page/page.js +0 -8
- package/cjs/components/panel/panel-class.js +0 -660
- package/cjs/components/panel/panel.js +0 -219
- package/cjs/components/panel/resizable-panel.js +0 -197
- package/cjs/components/panel/swipe-panel.js +0 -363
- package/cjs/components/photo-browser/photo-browser-class.js +0 -781
- package/cjs/components/photo-browser/photo-browser.js +0 -78
- package/cjs/components/picker/picker-class.js +0 -704
- package/cjs/components/picker/picker-column.js +0 -389
- package/cjs/components/picker/picker.js +0 -77
- package/cjs/components/pie-chart/pie-chart-class.js +0 -290
- package/cjs/components/pie-chart/pie-chart.js +0 -44
- package/cjs/components/popover/popover-class.js +0 -365
- package/cjs/components/popover/popover.js +0 -93
- package/cjs/components/popup/popup-class.js +0 -416
- package/cjs/components/popup/popup.js +0 -57
- package/cjs/components/preloader/preloader.js +0 -111
- package/cjs/components/progressbar/progressbar.js +0 -185
- package/cjs/components/pull-to-refresh/pull-to-refresh-class.js +0 -627
- package/cjs/components/pull-to-refresh/pull-to-refresh.js +0 -74
- package/cjs/components/radio/radio.js +0 -8
- package/cjs/components/range/range-class.js +0 -674
- package/cjs/components/range/range.js +0 -93
- package/cjs/components/searchbar/remove-diacritics.js +0 -283
- package/cjs/components/searchbar/searchbar-class.js +0 -739
- package/cjs/components/searchbar/searchbar.js +0 -141
- package/cjs/components/sheet/sheet-class.js +0 -593
- package/cjs/components/sheet/sheet.js +0 -83
- package/cjs/components/skeleton/skeleton.js +0 -8
- package/cjs/components/smart-select/smart-select-class.js +0 -1005
- package/cjs/components/smart-select/smart-select.js +0 -151
- package/cjs/components/sortable/sortable.js +0 -335
- package/cjs/components/statusbar/statusbar.js +0 -226
- package/cjs/components/stepper/stepper-class.js +0 -497
- package/cjs/components/stepper/stepper.js +0 -96
- package/cjs/components/subnavbar/subnavbar.js +0 -28
- package/cjs/components/swipeout/swipeout.js +0 -618
- package/cjs/components/swiper/swiper.js +0 -189
- package/cjs/components/tabs/tabs.js +0 -295
- package/cjs/components/text-editor/text-editor-class.js +0 -627
- package/cjs/components/text-editor/text-editor.js +0 -93
- package/cjs/components/timeline/timeline.js +0 -8
- package/cjs/components/toast/toast-class.js +0 -142
- package/cjs/components/toast/toast.js +0 -51
- package/cjs/components/toggle/toggle-class.js +0 -213
- package/cjs/components/toggle/toggle.js +0 -72
- package/cjs/components/toolbar/toolbar.js +0 -234
- package/cjs/components/tooltip/tooltip-class.js +0 -409
- package/cjs/components/tooltip/tooltip.js +0 -146
- package/cjs/components/touch-ripple/touch-ripple-class.js +0 -110
- package/cjs/components/touch-ripple/touch-ripple.js +0 -34
- package/cjs/components/treeview/treeview.js +0 -88
- package/cjs/components/typography/typography.js +0 -8
- package/cjs/components/view/resizable-view.js +0 -155
- package/cjs/components/view/view-class.js +0 -251
- package/cjs/components/view/view.js +0 -196
- package/cjs/components/virtual-list/virtual-list-class.js +0 -654
- package/cjs/components/virtual-list/virtual-list.js +0 -27
- package/cjs/framework7-bundle.js +0 -208
- package/cjs/framework7-lite-bundle.js +0 -191
- package/cjs/framework7-lite.js +0 -87
- package/cjs/framework7.js +0 -98
- package/cjs/modules/clicks/clicks.js +0 -115
- package/cjs/modules/component/$h.js +0 -31
- package/cjs/modules/component/$jsx.js +0 -31
- package/cjs/modules/component/component-class.js +0 -434
- package/cjs/modules/component/component.js +0 -58
- package/cjs/modules/component/custom-components.js +0 -6
- package/cjs/modules/component/eventslisteners.js +0 -90
- package/cjs/modules/component/parse-component.js +0 -80
- package/cjs/modules/component/patch.js +0 -21
- package/cjs/modules/component/snabbdom/h.js +0 -72
- package/cjs/modules/component/snabbdom/helpers/attachto.js +0 -62
- package/cjs/modules/component/snabbdom/hooks.js +0 -1
- package/cjs/modules/component/snabbdom/htmldomapi.js +0 -90
- package/cjs/modules/component/snabbdom/is.js +0 -11
- package/cjs/modules/component/snabbdom/modules/attributes.js +0 -61
- package/cjs/modules/component/snabbdom/modules/class.js +0 -38
- package/cjs/modules/component/snabbdom/modules/dataset.js +0 -47
- package/cjs/modules/component/snabbdom/modules/eventlisteners.js +0 -106
- package/cjs/modules/component/snabbdom/modules/hero.js +0 -193
- package/cjs/modules/component/snabbdom/modules/module.js +0 -1
- package/cjs/modules/component/snabbdom/modules/props.js +0 -40
- package/cjs/modules/component/snabbdom/modules/style.js +0 -116
- package/cjs/modules/component/snabbdom/snabbdom.bundle.js +0 -33
- package/cjs/modules/component/snabbdom/snabbdom.js +0 -374
- package/cjs/modules/component/snabbdom/thunk.js +0 -66
- package/cjs/modules/component/snabbdom/tovnode.js +0 -57
- package/cjs/modules/component/snabbdom/vnode.js +0 -20
- package/cjs/modules/component/vdom.js +0 -393
- package/cjs/modules/demo-module.js +0 -49
- package/cjs/modules/device/device.js +0 -56
- package/cjs/modules/history/history.js +0 -21
- package/cjs/modules/request/request.js +0 -20
- package/cjs/modules/resize/resize.js +0 -72
- package/cjs/modules/router/app-router-check.js +0 -10
- package/cjs/modules/router/async-component.js +0 -33
- package/cjs/modules/router/back.js +0 -899
- package/cjs/modules/router/clear-previous-history.js +0 -50
- package/cjs/modules/router/component-loader.js +0 -140
- package/cjs/modules/router/modal.js +0 -254
- package/cjs/modules/router/navigate.js +0 -1054
- package/cjs/modules/router/process-route-queue.js +0 -80
- package/cjs/modules/router/redirect.js +0 -52
- package/cjs/modules/router/router-class.js +0 -1500
- package/cjs/modules/router/router.js +0 -36
- package/cjs/modules/router/swipe-back.js +0 -735
- package/cjs/modules/router/tab.js +0 -264
- package/cjs/modules/service-worker/service-worker.js +0 -101
- package/cjs/modules/store/create-store.js +0 -169
- package/cjs/modules/store/store.js +0 -21
- package/cjs/modules/support/support.js +0 -14
- package/cjs/modules/touch/touch.js +0 -585
- package/cjs/modules/utils/utils.js +0 -21
- package/cjs/shared/$jsx.js +0 -39
- package/cjs/shared/class.js +0 -206
- package/cjs/shared/constructor-methods.js +0 -73
- package/cjs/shared/dom7.js +0 -17
- package/cjs/shared/events-class.js +0 -125
- package/cjs/shared/get-device.js +0 -157
- package/cjs/shared/get-support.js +0 -44
- package/cjs/shared/history.js +0 -185
- package/cjs/shared/modal-methods.js +0 -105
- package/cjs/shared/request.js +0 -552
- package/cjs/shared/utils.js +0 -472
- package/components/accordion/package.json +0 -9
- package/components/actions/package.json +0 -9
- package/components/app/package.json +0 -9
- package/components/appbar/package.json +0 -9
- package/components/area-chart/package.json +0 -9
- package/components/autocomplete/package.json +0 -9
- package/components/badge/package.json +0 -9
- package/components/block/package.json +0 -9
- package/components/button/package.json +0 -9
- package/components/calendar/package.json +0 -9
- package/components/card/package.json +0 -9
- package/components/checkbox/package.json +0 -9
- package/components/chip/package.json +0 -9
- package/components/color-picker/package.json +0 -9
- package/components/contacts-list/package.json +0 -9
- package/components/data-table/package.json +0 -9
- package/components/dialog/package.json +0 -9
- package/components/elevation/package.json +0 -9
- package/components/fab/package.json +0 -9
- package/components/form/package.json +0 -9
- package/components/gauge/package.json +0 -9
- package/components/grid/package.json +0 -9
- package/components/icon/package.json +0 -9
- package/components/infinite-scroll/package.json +0 -9
- package/components/input/package.json +0 -9
- package/components/lazy/package.json +0 -9
- package/components/link/package.json +0 -9
- package/components/list/package.json +0 -9
- package/components/list-index/package.json +0 -9
- package/components/login-screen/package.json +0 -9
- package/components/menu/package.json +0 -9
- package/components/messagebar/package.json +0 -9
- package/components/messages/package.json +0 -9
- package/components/modal/package.json +0 -9
- package/components/navbar/package.json +0 -9
- package/components/notification/package.json +0 -9
- package/components/page/package.json +0 -9
- package/components/panel/package.json +0 -9
- package/components/photo-browser/package.json +0 -9
- package/components/picker/package.json +0 -9
- package/components/pie-chart/package.json +0 -9
- package/components/popover/package.json +0 -9
- package/components/popup/package.json +0 -9
- package/components/preloader/package.json +0 -9
- package/components/progressbar/package.json +0 -9
- package/components/pull-to-refresh/package.json +0 -9
- package/components/radio/package.json +0 -9
- package/components/range/package.json +0 -9
- package/components/searchbar/package.json +0 -9
- package/components/sheet/package.json +0 -9
- package/components/skeleton/package.json +0 -9
- package/components/smart-select/package.json +0 -9
- package/components/sortable/package.json +0 -9
- package/components/statusbar/package.json +0 -9
- package/components/stepper/package.json +0 -9
- package/components/subnavbar/package.json +0 -9
- package/components/swipeout/package.json +0 -9
- package/components/swiper/package.json +0 -9
- package/components/tabs/package.json +0 -9
- package/components/text-editor/package.json +0 -9
- package/components/timeline/package.json +0 -9
- package/components/toast/package.json +0 -9
- package/components/toggle/package.json +0 -9
- package/components/toolbar/package.json +0 -9
- package/components/tooltip/package.json +0 -9
- package/components/touch-ripple/package.json +0 -9
- package/components/treeview/package.json +0 -9
- package/components/typography/package.json +0 -9
- package/components/view/package.json +0 -9
- package/components/virtual-list/package.json +0 -9
- package/core/package.json +0 -8
- package/esm/components/accordion/accordion.js +0 -126
- package/esm/components/actions/actions-class.js +0 -373
- package/esm/components/actions/actions.js +0 -48
- package/esm/components/appbar/appbar.js +0 -3
- package/esm/components/area-chart/area-chart-class.js +0 -517
- package/esm/components/area-chart/area-chart.js +0 -45
- package/esm/components/autocomplete/autocomplete.js +0 -82
- package/esm/components/calendar/calendar.js +0 -113
- package/esm/components/card/card.js +0 -612
- package/esm/components/checkbox/checkbox.js +0 -3
- package/esm/components/chip/chip.js +0 -3
- package/esm/components/color-picker/color-picker.js +0 -94
- package/esm/components/contacts-list/contacts-list.js +0 -3
- package/esm/components/data-table/data-table.js +0 -64
- package/esm/components/dialog/dialog.js +0 -286
- package/esm/components/elevation/elevation.js +0 -3
- package/esm/components/fab/fab.js +0 -185
- package/esm/components/form/form.js +0 -330
- package/esm/components/gauge/gauge-class.js +0 -323
- package/esm/components/gauge/gauge.js +0 -91
- package/esm/components/grid/grid.js +0 -223
- package/esm/components/infinite-scroll/infinite-scroll.js +0 -101
- package/esm/components/input/input.js +0 -384
- package/esm/components/lazy/lazy.js +0 -271
- package/esm/components/list-index/list-index.js +0 -65
- package/esm/components/login-screen/login-screen-class.js +0 -58
- package/esm/components/login-screen/login-screen.js +0 -34
- package/esm/components/menu/menu.js +0 -82
- package/esm/components/messagebar/messagebar.js +0 -66
- package/esm/components/messages/messages.js +0 -65
- package/esm/components/modal/custom-modal-class.js +0 -89
- package/esm/components/modal/modal.js +0 -22
- package/esm/components/notification/notification.js +0 -33
- package/esm/components/panel/panel.js +0 -208
- package/esm/components/photo-browser/photo-browser.js +0 -68
- package/esm/components/picker/picker-column.js +0 -379
- package/esm/components/picker/picker.js +0 -66
- package/esm/components/pie-chart/pie-chart-class.js +0 -281
- package/esm/components/pie-chart/pie-chart.js +0 -33
- package/esm/components/popover/popover.js +0 -81
- package/esm/components/popup/popup.js +0 -47
- package/esm/components/preloader/preloader.js +0 -101
- package/esm/components/progressbar/progressbar.js +0 -175
- package/esm/components/pull-to-refresh/pull-to-refresh.js +0 -62
- package/esm/components/radio/radio.js +0 -3
- package/esm/components/range/range.js +0 -81
- package/esm/components/searchbar/remove-diacritics.js +0 -277
- package/esm/components/searchbar/searchbar.js +0 -129
- package/esm/components/sheet/sheet.js +0 -71
- package/esm/components/skeleton/skeleton.js +0 -3
- package/esm/components/smart-select/smart-select.js +0 -139
- package/esm/components/sortable/sortable.js +0 -323
- package/esm/components/stepper/stepper.js +0 -84
- package/esm/components/swipeout/swipeout.js +0 -606
- package/esm/components/swiper/swiper.js +0 -177
- package/esm/components/tabs/tabs.js +0 -285
- package/esm/components/text-editor/text-editor.js +0 -81
- package/esm/components/timeline/timeline.js +0 -3
- package/esm/components/toast/toast-class.js +0 -132
- package/esm/components/toast/toast.js +0 -40
- package/esm/components/toggle/toggle.js +0 -61
- package/esm/components/tooltip/tooltip.js +0 -135
- package/esm/components/touch-ripple/touch-ripple-class.js +0 -103
- package/esm/components/touch-ripple/touch-ripple.js +0 -25
- package/esm/components/treeview/treeview.js +0 -78
- package/esm/components/typography/typography.js +0 -3
- package/esm/components/virtual-list/virtual-list.js +0 -17
- package/esm/framework7-bundle.js +0 -98
- package/esm/framework7-lite-bundle.js +0 -91
- package/esm/framework7-lite.js +0 -39
- package/esm/framework7.js +0 -43
- package/esm/modules/component/$h.js +0 -20
- package/esm/modules/component/$jsx.js +0 -24
- package/esm/modules/component/component-class.js +0 -421
- package/esm/modules/component/component.js +0 -44
- package/esm/modules/component/parse-component.js +0 -70
- package/esm/modules/component/patch.js +0 -8
- package/esm/modules/component/snabbdom/snabbdom.bundle.js +0 -19
- package/esm/modules/resize/resize.js +0 -64
- package/esm/modules/router/component-loader.js +0 -133
- package/esm/modules/store/create-store.js +0 -164
- package/esm/modules/store/store.js +0 -11
- package/esm/modules/support/support.js +0 -7
- package/esm/modules/utils/utils.js +0 -10
- package/esm/shared/$jsx.js +0 -33
- package/esm/shared/class.js +0 -197
- package/esm/shared/constructor-methods.js +0 -65
- package/esm/shared/events-class.js +0 -119
- package/esm/shared/modal-methods.js +0 -95
- package/esm/shared/request.js +0 -545
- package/lite/package.json +0 -8
- package/lite-bundle/package.json +0 -8
- package/modules/clicks/package.json +0 -9
- package/modules/component/package.json +0 -9
- package/modules/device/package.json +0 -9
- package/modules/history/package.json +0 -9
- package/modules/request/package.json +0 -9
- package/modules/resize/package.json +0 -9
- package/modules/router/package.json +0 -9
- package/modules/service-worker/package.json +0 -9
- package/modules/store/package.json +0 -9
- package/modules/support/package.json +0 -9
- package/modules/touch/package.json +0 -9
- package/modules/utils/package.json +0 -9
- package/types/components/accordion/accordion.d.ts +0 -55
- package/types/components/actions/actions.d.ts +0 -158
- package/types/components/app/app-class.d.ts +0 -196
- package/types/components/appbar/appbar.d.ts +0 -10
- package/types/components/area-chart/area-chart.d.ts +0 -124
- package/types/components/autocomplete/autocomplete.d.ts +0 -191
- package/types/components/badge/badge.d.ts +0 -10
- package/types/components/block/block.d.ts +0 -10
- package/types/components/button/button.d.ts +0 -10
- package/types/components/calendar/calendar.d.ts +0 -304
- package/types/components/card/card.d.ts +0 -65
- package/types/components/checkbox/checkbox.d.ts +0 -10
- package/types/components/chip/chip.d.ts +0 -10
- package/types/components/color-picker/color-picker.d.ts +0 -229
- package/types/components/contacts-list/contacts-list.d.ts +0 -10
- package/types/components/data-table/data-table.d.ts +0 -57
- package/types/components/dialog/dialog.d.ts +0 -241
- package/types/components/elevation/elevation.d.ts +0 -10
- package/types/components/fab/fab.d.ts +0 -28
- package/types/components/form/form.d.ts +0 -60
- package/types/components/gauge/gauge.d.ts +0 -96
- package/types/components/grid/grid.d.ts +0 -17
- package/types/components/icon/icon.d.ts +0 -10
- package/types/components/infinite-scroll/infinite-scroll.d.ts +0 -23
- package/types/components/input/input.d.ts +0 -56
- package/types/components/lazy/lazy.d.ts +0 -53
- package/types/components/link/link.d.ts +0 -10
- package/types/components/list/list.d.ts +0 -10
- package/types/components/list-index/list-index.d.ts +0 -99
- package/types/components/login-screen/login-screen.d.ts +0 -95
- package/types/components/menu/menu.d.ts +0 -28
- package/types/components/messagebar/messagebar.d.ts +0 -161
- package/types/components/messages/messages.d.ts +0 -158
- package/types/components/modal/modal.d.ts +0 -78
- package/types/components/navbar/navbar.d.ts +0 -75
- package/types/components/notification/notification.d.ts +0 -118
- package/types/components/page/page.d.ts +0 -10
- package/types/components/panel/panel.d.ts +0 -194
- package/types/components/photo-browser/photo-browser.d.ts +0 -194
- package/types/components/picker/picker.d.ts +0 -216
- package/types/components/pie-chart/pie-chart.d.ts +0 -95
- package/types/components/popover/popover.d.ts +0 -127
- package/types/components/popup/popup.d.ts +0 -135
- package/types/components/preloader/preloader.d.ts +0 -22
- package/types/components/progressbar/progressbar.d.ts +0 -27
- package/types/components/pull-to-refresh/pull-to-refresh.d.ts +0 -99
- package/types/components/radio/radio.d.ts +0 -10
- package/types/components/range/range.d.ts +0 -139
- package/types/components/searchbar/searchbar.d.ts +0 -157
- package/types/components/sheet/sheet.d.ts +0 -149
- package/types/components/skeleton/skeleton.d.ts +0 -10
- package/types/components/smart-select/smart-select.d.ts +0 -199
- package/types/components/sortable/sortable.d.ts +0 -50
- package/types/components/statusbar/statusbar.d.ts +0 -50
- package/types/components/stepper/stepper.d.ts +0 -117
- package/types/components/subnavbar/subnavbar.d.ts +0 -11
- package/types/components/swipeout/swipeout.d.ts +0 -68
- package/types/components/swiper/swiper.d.ts +0 -21
- package/types/components/tabs/tabs.d.ts +0 -39
- package/types/components/text-editor/text-editor.d.ts +0 -162
- package/types/components/timeline/timeline.d.ts +0 -10
- package/types/components/toast/toast.d.ts +0 -117
- package/types/components/toggle/toggle.d.ts +0 -69
- package/types/components/toolbar/toolbar.d.ts +0 -43
- package/types/components/tooltip/tooltip.d.ts +0 -101
- package/types/components/touch-ripple/touch-ripple.d.ts +0 -21
- package/types/components/treeview/treeview.d.ts +0 -38
- package/types/components/typography/typography.d.ts +0 -10
- package/types/components/view/view.d.ts +0 -205
- package/types/components/virtual-list/virtual-list.d.ts +0 -138
- package/types/modules/clicks/clicks.d.ts +0 -19
- package/types/modules/component/component.d.ts +0 -96
- package/types/modules/component/snabbdom/h.d.ts +0 -10
- package/types/modules/component/snabbdom/helpers/attachto.d.ts +0 -9
- package/types/modules/component/snabbdom/hooks.d.ts +0 -23
- package/types/modules/component/snabbdom/htmldomapi.d.ts +0 -19
- package/types/modules/component/snabbdom/is.d.ts +0 -2
- package/types/modules/component/snabbdom/modules/attributes.d.ts +0 -4
- package/types/modules/component/snabbdom/modules/class.d.ts +0 -4
- package/types/modules/component/snabbdom/modules/dataset.d.ts +0 -4
- package/types/modules/component/snabbdom/modules/eventlisteners.d.ts +0 -8
- package/types/modules/component/snabbdom/modules/hero.d.ts +0 -6
- package/types/modules/component/snabbdom/modules/module.d.ts +0 -9
- package/types/modules/component/snabbdom/modules/props.d.ts +0 -4
- package/types/modules/component/snabbdom/modules/style.d.ts +0 -7
- package/types/modules/component/snabbdom/snabbdom.bundle.d.ts +0 -5
- package/types/modules/component/snabbdom/snabbdom.d.ts +0 -6
- package/types/modules/component/snabbdom/thunk.d.ts +0 -14
- package/types/modules/component/snabbdom/tovnode.d.ts +0 -4
- package/types/modules/component/snabbdom/vnode.d.ts +0 -36
- package/types/modules/device/device.d.ts +0 -14
- package/types/modules/request/request.d.ts +0 -15
- package/types/modules/resize/resize.d.ts +0 -25
- package/types/modules/router/router.d.ts +0 -356
- package/types/modules/service-worker/service-worker.d.ts +0 -38
- package/types/modules/store/store.d.ts +0 -40
- package/types/modules/support/support.d.ts +0 -15
- package/types/modules/touch/touch.d.ts +0 -62
- package/types/modules/utils/utils.d.ts +0 -15
- package/types/package.json +0 -6
|
@@ -1 +1,149 @@
|
|
|
1
|
-
(function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var a=e.$,r=e.utils,s=(e.getDevice,e.getSupport,e.Class),n=(e.Modal,e.ConstructorMethods),o=(e.ModalMethods,r.extend),l=r.id,i=r.nextTick,c=r.deleteProps;function p(e){this.wrapped=e}function u(e){var t,a;function r(t,a){try{var n=e[t](a),o=n.value,l=o instanceof p;Promise.resolve(l?o.wrapped:o).then((function(e){l?r("return"===t?"return":"next",e):s(n.done?"return":"normal",e)}),(function(e){r("throw",e)}))}catch(e){s("throw",e)}}function s(e,s){switch(e){case"return":t.resolve({value:s,done:!0});break;case"throw":t.reject(s);break;default:t.resolve({value:s,done:!1})}(t=t.next)?r(t.key,t.arg):a=null}this._invoke=function(e,s){return new Promise((function(n,o){var l={key:e,arg:s,resolve:n,reject:o,next:null};a?a=a.next=l:(t=a=l,r(e,s))}))},"function"!=typeof e.return&&(this.return=void 0)}function d(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}u.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},u.prototype.next=function(e){return this._invoke("next",e)},u.prototype.throw=function(e){return this._invoke("throw",e)},u.prototype.return=function(e){return this._invoke("return",e)};l=0;var h=function(e){var t,r;function s(t,r){var s;void 0===r&&(r={});var n=v(s=e.call(this,r,[t])||this),i=o({on:{}},t.params.smartSelect);void 0===i.searchbarDisableButton&&(i.searchbarDisableButton="aurora"!==t.theme),n.useModulesParams(i),n.params=o({},i,r),n.app=t;var c=a(n.params.el).eq(0);if(0===c.length)return n||v(s);if(c[0].f7SmartSelect)return c[0].f7SmartSelect||v(s);var p,u=c.find("select").eq(0);if(0===u.length)return n||v(s);n.params.setValueText&&(0===(p=a(n.params.valueEl)).length&&(p=c.find(".item-after")),0===p.length&&(p=a('<div class="item-after"></div>')).insertAfter(c.find(".item-title")));var d=r.url;d||(c.attr("href")&&"#"!==c.attr("href")?d=c.attr("href"):u.attr("name")&&(d=u.attr("name").toLowerCase()+"-select/")),d||(d=n.params.url);var m=u[0].multiple,h=m?"checkbox":"radio",f=l();function b(){n.open()}function g(){var e=n.$selectEl.val();n.$el.trigger("smartselect:change",e),n.emit("local::change smartSelectChange",n,e),n.vl&&n.vl.clearCache(),n.setValueText()}function x(){var e,t,r,s=this,o=s.value,l=[];if("checkbox"===s.type){for(var i=0;i<n.selectEl.options.length;i+=1)(e=n.selectEl.options[i]).value===o&&(e.selected=s.checked),e.selected&&(t=(r=e.dataset?e.dataset.displayAs:a(e).data("display-value-as"))&&void 0!==r?r:e.textContent,l.push(t.trim()));n.maxLength&&n.checkMaxLength()}else(e=n.$selectEl.find('option[value="'+o+'"]')[0])||(e=n.$selectEl.find("option").filter((function(e){return e.value===o}))[0]),l=[t=(r=e.dataset?e.dataset.displayAs:a(e).data("display-as"))&&void 0!==r?r:e.textContent],n.selectEl.value=o;n.$selectEl.trigger("change"),n.params.setValueText&&n.$valueEl.text(n.formatValueText(l)),n.params.closeOnSelect&&"radio"===n.inputType&&n.close()}return o(n,{$el:c,el:c[0],$selectEl:u,selectEl:u[0],$valueEl:p,valueEl:p&&p[0],url:d,multiple:m,inputType:h,id:f,inputName:h+"-"+f,selectName:u.attr("name"),maxLength:u.attr("maxlength")||r.maxLength}),c[0].f7SmartSelect=n,n.attachEvents=function(){c.on("click",b),c.on("change","select",g)},n.detachEvents=function(){c.off("click",b),c.off("change","select",g)},n.attachInputsEvents=function(){n.$containerEl.on("change",'input[type="checkbox"], input[type="radio"]',x)},n.detachInputsEvents=function(){n.$containerEl.off("change",'input[type="checkbox"], input[type="radio"]',x)},n.useModules(),n.init(),n||v(s)}r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,m(t,r);var n,p,u,h=s.prototype;return h.setValue=function(e){var t,r,s,n=this,o=e,l=[];if(n.multiple){Array.isArray(o)||(o=[o]);for(var i=0;i<n.selectEl.options.length;i+=1)t=n.selectEl.options[i],o.indexOf(t.value)>=0?t.selected=!0:t.selected=!1,t.selected&&(s=(r=t.dataset?t.dataset.displayAs:a(t).data("display-value-as"))&&void 0!==r?r:t.textContent,l.push(s.trim()))}else(t=n.$selectEl.find('option[value="'+o+'"]')[0])&&(l=[s=(r=t.dataset?t.dataset.displayAs:a(t).data("display-as"))&&void 0!==r?r:t.textContent]),n.selectEl.value=o;return n.params.setValueText&&n.$valueEl.text(n.formatValueText(l)),n.$selectEl.trigger("change"),n},h.unsetValue=function(){var e=this;e.params.setValueText&&e.$valueEl.text(e.formatValueText([])),e.$selectEl.find("option").each((function(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")},h.getValue=function(){return this.$selectEl.val()},h.checkMaxLength=function(){var e=this,t=e.$containerEl;e.selectEl.selectedOptions.length>=e.maxLength?t.find('input[type="checkbox"]').each((function(e){e.checked?a(e).parents("li").removeClass("disabled"):a(e).parents("li").addClass("disabled")})):t.find(".disabled").removeClass("disabled")},h.formatValueText=function(e){var t=this;return t.params.formatValueText?t.params.formatValueText.call(t,e,t):e.join(", ")},h.setValueText=function(e){var t=this,r=[];void 0!==e?r=Array.isArray(e)?e:[e]:t.$selectEl.find("option").each((function(e){var t=a(e);if(e.selected){var s=e.dataset?e.dataset.displayAs:t.data("display-value-as");s&&void 0!==s?r.push(s):r.push(e.textContent.trim())}})),t.params.setValueText&&t.$valueEl.text(t.formatValueText(r))},h.getItemsData=function(){var e,t=this,r=t.app.theme,s=[];return t.$selectEl.find("option").each((function(n){var o=a(n),l=o.dataset(),i=l.optionImage||t.params.optionImage,c=l.optionIcon||t.params.optionIcon,p="ios"===r&&(l.optionIconIos||t.params.optionIconIos),u="md"===r&&(l.optionIconMd||t.params.optionIconMd),d="aurora"===r&&(l.optionIconAurora||t.params.optionIconAurora),m=i||c||p||u||d,v=l.optionColor,h=l.optionClass||"";o[0].disabled&&(h+=" disabled");var f=o.parent("optgroup")[0],b=f&&f.label,g=!1;f&&f!==e&&(g=!0,e=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:u,iconAurora:d,color:v,className:h,disabled:o[0].disabled,id:t.id,hasMedia:m,checkbox:"checkbox"===t.inputType,radio:"radio"===t.inputType,inputName:t.inputName,inputType:t.inputType})})),t.items=s,s},h.renderSearchbar=function(){var e=this;return e.params.renderSearchbar?e.params.renderSearchbar.call(e):$jsx("form",{class:"searchbar"},$jsx("div",{class:"searchbar-inner"},$jsx("div",{class:"searchbar-input-wrap"},$jsx("input",{type:"search",spellcheck:e.params.searchbarSpellcheck||"false",placeholder:e.params.searchbarPlaceholder}),$jsx("i",{class:"searchbar-icon"}),$jsx("span",{class:"input-clear-button"})),e.params.searchbarDisableButton&&$jsx("span",{class:"searchbar-disable-button"},e.params.searchbarDisableText)))},h.renderItem=function(e,t){var a,r,s=this;if(s.params.renderItem)return s.params.renderItem.call(s,e,t);if(e.isLabel)a='<li class="item-divider">'+e.groupLabel+"</li>";else{var n,o=e.selected;if(s.params.virtualList){var l=s.getValue();o=s.multiple?l.indexOf(e.value)>=0:l===e.value,s.multiple&&(n=s.multiple&&!o&&l.length===parseInt(s.maxLength,10))}var i=e.icon,c=e.iconIos,p=e.iconMd,u=e.iconAurora,d=i||c||p||u,m=(void 0===(r=i||c||p||u||"")&&(r=""),r.indexOf(":")>=0?r.split(":")[1]:""),v=function(e){if(void 0===e&&(e=""),e.indexOf(":")>=0){var t=e.split(":")[0];return"f7"===t&&(t="f7-icons"),"material"===t&&(t="material-icons"),t}return e}(i||c||p||u||"");a=$jsx("li",{class:(e.className||"")+(n?" disabled":"")},$jsx("label",{class:"item-"+e.inputType+" item-content"},$jsx("input",{type:e.inputType,name:e.inputName,value:e.value,_checked:o}),$jsx("i",{class:"icon icon-"+e.inputType}),e.hasMedia&&$jsx("div",{class:"item-media"},d&&$jsx("i",{class:"icon "+v},m),e.image&&$jsx("img",{src:e.image})),$jsx("div",{class:"item-inner"},$jsx("div",{class:"item-title"+(e.color?" text-color-"+e.color:"")},e.text))))}return a},h.renderItems=function(){var e=this;return e.params.renderItems?e.params.renderItems.call(e,e.items):"\n "+e.items.map((function(t,a){return""+e.renderItem(t,a)})).join("")+"\n "},h.renderPage=function(){var e=this;if(e.params.renderPage)return e.params.renderPage.call(e,e.items);var t=e.params.pageTitle;if(void 0===t){var a=e.$el.find(".item-title");t=a.length?a.text().trim():""}var r=e.params.cssClass;return $jsx("div",{class:"page smart-select-page "+r,"data-name":"smart-select-page","data-select-name":e.selectName},$jsx("div",{class:"navbar "+(e.params.navbarColorTheme?"color-"+e.params.navbarColorTheme:"")},$jsx("div",{class:"navbar-bg"}),$jsx("div",{class:"navbar-inner sliding "+(e.params.navbarColorTheme?"color-"+e.params.navbarColorTheme:"")},$jsx("div",{class:"left"},$jsx("a",{class:"link back"},$jsx("i",{class:"icon icon-back"}),$jsx("span",{class:"if-not-md"},e.params.pageBackLinkText))),t&&$jsx("div",{class:"title"},t),e.params.searchbar&&$jsx("div",{class:"subnavbar"},e.renderSearchbar()))),e.params.searchbar&&$jsx("div",{class:"searchbar-backdrop"}),$jsx("div",{class:"page-content"},$jsx("div",{class:"list smart-select-list-"+e.id+" "+(e.params.virtualList?" virtual-list":"")+" "+(e.params.formColorTheme?"color-"+e.params.formColorTheme:"")},$jsx("ul",null,!e.params.virtualList&&e.renderItems(e.items)))))},h.renderPopup=function(){var e=this;if(e.params.renderPopup)return e.params.renderPopup.call(e,e.items);var t=e.params.pageTitle;if(void 0===t){var a=e.$el.find(".item-title");t=a.length?a.text().trim():""}var r=e.params.cssClass||"";return $jsx("div",{class:"popup smart-select-popup "+r+" "+(e.params.popupTabletFullscreen?"popup-tablet-fullscreen":""),"data-select-name":e.selectName},$jsx("div",{class:"view"},$jsx("div",{class:"page smart-select-page "+(e.params.searchbar?"page-with-subnavbar":""),"data-name":"smart-select-page"},$jsx("div",{class:"navbar "+(e.params.navbarColorTheme?"color-"+e.params.navbarColorTheme:"")},$jsx("div",{class:"navbar-bg"}),$jsx("div",{class:"navbar-inner sliding"},t&&$jsx("div",{class:"title"},t),$jsx("div",{class:"right"},$jsx("a",{class:"link popup-close","data-popup":".smart-select-popup[data-select-name='"+e.selectName+"']"},e.params.popupCloseLinkText)),e.params.searchbar&&$jsx("div",{class:"subnavbar"},e.renderSearchbar()))),e.params.searchbar&&$jsx("div",{class:"searchbar-backdrop"}),$jsx("div",{class:"page-content"},$jsx("div",{class:"list smart-select-list-"+e.id+" "+(e.params.virtualList?" virtual-list":"")+" "+(e.params.formColorTheme?"color-"+e.params.formColorTheme:"")},$jsx("ul",null,!e.params.virtualList&&e.renderItems(e.items)))))))},h.renderSheet=function(){var e=this;if(e.params.renderSheet)return e.params.renderSheet.call(e,e.items);var t=e.params.cssClass;return $jsx("div",{class:"sheet-modal smart-select-sheet "+t,"data-select-name":e.selectName},$jsx("div",{class:"toolbar toolbar-top "+(e.params.toolbarColorTheme?"color-"+e.params.toolbarColorTheme:"")},$jsx("div",{class:"toolbar-inner"},$jsx("div",{class:"left"}),$jsx("div",{class:"right"},$jsx("a",{class:"link sheet-close"},e.params.sheetCloseLinkText)))),$jsx("div",{class:"sheet-modal-inner"},$jsx("div",{class:"page-content"},$jsx("div",{class:"list smart-select-list-"+e.id+" "+(e.params.virtualList?" virtual-list":"")+" "+(e.params.formColorTheme?"color-"+e.params.formColorTheme:"")},$jsx("ul",null,!e.params.virtualList&&e.renderItems(e.items))))))},h.renderPopover=function(){var e=this;if(e.params.renderPopover)return e.params.renderPopover.call(e,e.items);var t=e.params.cssClass;return $jsx("div",{class:"popover smart-select-popover "+t,"data-select-name":e.selectName},$jsx("div",{class:"popover-inner"},$jsx("div",{class:"list smart-select-list-"+e.id+" "+(e.params.virtualList?" virtual-list":"")+" "+(e.params.formColorTheme?"color-"+e.params.formColorTheme:"")},$jsx("ul",null,!e.params.virtualList&&e.renderItems(e.items)))))},h.scrollToSelectedItem=function(){var e=this,t=e.params,a=e.$containerEl;if(!e.opened)return e;if(t.virtualList){var r;e.vl.items.forEach((function(e,t){void 0===r&&e.selected&&(r=t)})),void 0!==r&&e.vl.scrollToItem(r)}else{var s=a.find("input:checked").parents("li");if(!s.length)return e;var n=a.find(".page-content, .popover-inner");if(!n.length)return e;n.scrollTop(s.offset().top-n.offset().top-parseInt(n.css("padding-top"),10))}return e},h.onOpen=function(e,t){var r=this,s=r.app,n=a(t);if(r.$containerEl=n,r.openedIn=e,r.opened=!0,r.params.virtualList&&(r.vl=s.virtualList.create({el:n.find(".virtual-list"),items:r.items,renderItem:r.renderItem.bind(r),height:r.params.virtualListHeight,searchByItem:function(e,t){return!!(t.text&&t.text.toLowerCase().indexOf(e.trim().toLowerCase())>=0)}})),r.params.scrollToSelectedItem&&r.scrollToSelectedItem(),r.params.searchbar){var l=n.find(".searchbar");if("page"===e&&"ios"===s.theme&&(l=a(s.navbar.getElByPage(n)).find(".searchbar")),r.params.appendSearchbarNotFound&&("page"===e||"popup"===e)){var i=null;(i="string"==typeof r.params.appendSearchbarNotFound?a('<div class="block searchbar-not-found">'+r.params.appendSearchbarNotFound+"</div>"):"boolean"==typeof r.params.appendSearchbarNotFound?a('<div class="block searchbar-not-found">Nothing found</div>'):r.params.appendSearchbarNotFound)&&n.find(".page-content").append(i[0])}var c=o({el:l,backdropEl:n.find(".searchbar-backdrop"),searchContainer:".smart-select-list-"+r.id,searchIn:".item-title"},"object"==typeof r.params.searchbar?r.params.searchbar:{});r.searchbar=s.searchbar.create(c)}r.maxLength&&r.checkMaxLength(),r.params.closeOnSelect&&r.$containerEl.find('input[type="radio"][name="'+r.inputName+'"]:checked').parents("label").once("click",(function(){r.close()})),r.attachInputsEvents(),r.$el.trigger("smartselect:open"),r.emit("local::open smartSelectOpen",r)},h.onOpened=function(){var e=this;e.$el.trigger("smartselect:opened"),e.emit("local::opened smartSelectOpened",e)},h.onClose=function(){var 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))},h.onClosed=function(){var e=this;e.destroyed||(e.opened=!1,e.$containerEl=null,delete e.$containerEl,e.$el.trigger("smartselect:closed"),e.emit("local::closed smartSelectClosed",e))},h.openPage=function(){var e=this;if(e.opened)return e;e.getItemsData();var t=e.renderPage(e.items);return e.view.router.navigate({url:e.url,route:{content:t,path:e.url,on:{pageBeforeIn:function(t,a){e.onOpen("page",a.el)},pageAfterIn:function(t,a){e.onOpened("page",a.el)},pageBeforeOut:function(t,a){e.onClose("page",a.el)},pageAfterOut:function(t,a){e.onClosed("page",a.el)}}}}),e},h.openPopup=function(){var e=this;if(e.opened)return e;e.getItemsData();var t={content:e.renderPopup(e.items),push:e.params.popupPush,swipeToClose:e.params.popupSwipeToClose,on:{popupOpen:function(t){e.onOpen("popup",t.el)},popupOpened:function(t){e.onOpened("popup",t.el)},popupClose:function(t){e.onClose("popup",t.el)},popupClosed:function(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},h.openSheet=function(){var e=this;if(e.opened)return e;e.getItemsData();var 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:function(t){e.onOpen("sheet",t.el)},sheetOpened:function(t){e.onOpened("sheet",t.el)},sheetClose:function(t){e.onClose("sheet",t.el)},sheetClosed:function(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},h.openPopover=function(){var e=this;if(e.opened)return e;e.getItemsData();var t={content:e.renderPopover(e.items),targetEl:e.$el,on:{popoverOpen:function(t){e.onOpen("popover",t.el)},popoverOpened:function(t){e.onOpened("popover",t.el)},popoverClose:function(t){e.onClose("popover",t.el)},popoverClosed:function(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},h.open=function(e){var t=this;if(t.opened)return t;var a=!1;function r(){a=!0}return t.$el&&t.$el.trigger("smartselect:beforeopen",{prevent:r}),t.emit("local::beforeOpen smartSelectBeforeOpen",t,r),a||t["open"+(e||t.params.openIn).split("").map((function(e,t){return 0===t?e.toUpperCase():e})).join("")](),t},h.close=function(){var e=this;return e.opened?(e.params.routableModals&&e.view||"page"===e.openedIn?e.view.router.back():(e.modal.once("modalClosed",(function(){i((function(){e.destroyed||(e.modal.destroy(),delete e.modal)}))})),e.modal.close()),e):e},h.init=function(){this.attachEvents(),this.setValueText()},h.destroy=function(){var e=this;e.emit("local::beforeDestroy smartSelectBeforeDestroy",e),e.$el.trigger("smartselect:beforedestroy"),e.detachEvents(),delete e.$el[0].f7SmartSelect,c(e),e.destroyed=!0},n=s,(p=[{key:"view",get:function(){var e,t=this.params,a=this.$el;if(t.view&&(e=t.view),e||(e=a.parents(".view").length&&a.parents(".view")[0].f7View),!e&&"page"===t.openIn)throw Error("Smart Select requires initialized View");return e}}])&&d(n.prototype,p),u&&d(n,u),s}(s),f={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:h},create:function(){var e=this;e.smartSelect=o(n({defaultSelector:".smart-select",constructor:h,app:e,domProp:"f7SmartSelect"}),{open:function(t){var a=e.smartSelect.get(t);if(a&&a.open)return a.open()},close:function(t){var a=e.smartSelect.get(t);if(a&&a.close)return a.close()}})},on:{tabMounted:function(e){var t=this;a(e).find(".smart-select-init").each((function(e){t.smartSelect.create(o({el:e},a(e).dataset()))}))},tabBeforeRemove:function(e){a(e).find(".smart-select-init").each((function(e){e.f7SmartSelect&&e.f7SmartSelect.destroy&&e.f7SmartSelect.destroy()}))},pageInit:function(e){var t=this;e.$el.find(".smart-select-init").each((function(e){t.smartSelect.create(o({el:e},a(e).dataset()))}))},pageBeforeRemove:function(e){e.$el.find(".smart-select-init").each((function(e){e.f7SmartSelect&&e.f7SmartSelect.destroy&&e.f7SmartSelect.destroy()}))}},clicks:{".smart-select":function(e,t){e[0].f7SmartSelect||this.smartSelect.create(o({el:e},t)).open()}},vnode:{"smart-select-init":{insert:function(e){var t=e.elm;this.smartSelect.create(o({el:t},a(t).dataset()))},destroy:function(e){var t=e.elm;t.f7SmartSelect&&t.f7SmartSelect.destroy&&t.f7SmartSelect.destroy()}}}};if(t){if(e.prototype.modules&&e.prototype.modules[f.name])return;e.use(f),e.instance&&(e.instance.useModuleParams(f,e.instance.params),e.instance.useModule(f))}return f}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
1
|
+
import $ from '../../shared/dom7.js';
|
|
2
|
+
import { extend } from '../../shared/utils.js';
|
|
3
|
+
import SmartSelect from './smart-select-class.js';
|
|
4
|
+
import ConstructorMethods from '../../shared/constructor-methods.js';
|
|
5
|
+
export default {
|
|
6
|
+
name: 'smartSelect',
|
|
7
|
+
params: {
|
|
8
|
+
smartSelect: {
|
|
9
|
+
el: undefined,
|
|
10
|
+
valueEl: undefined,
|
|
11
|
+
setValueText: true,
|
|
12
|
+
formatValueText: null,
|
|
13
|
+
openIn: 'page',
|
|
14
|
+
// or 'popup' or 'sheet' or 'popover'
|
|
15
|
+
popupPush: false,
|
|
16
|
+
popupSwipeToClose: undefined,
|
|
17
|
+
// defaults to app
|
|
18
|
+
sheetPush: false,
|
|
19
|
+
sheetSwipeToClose: undefined,
|
|
20
|
+
// defaults to app
|
|
21
|
+
sheetBackdrop: false,
|
|
22
|
+
pageTitle: undefined,
|
|
23
|
+
pageBackLinkText: 'Back',
|
|
24
|
+
popupCloseLinkText: 'Close',
|
|
25
|
+
popupTabletFullscreen: false,
|
|
26
|
+
sheetCloseLinkText: 'Done',
|
|
27
|
+
searchbar: false,
|
|
28
|
+
searchbarPlaceholder: 'Search',
|
|
29
|
+
searchbarDisableText: 'Cancel',
|
|
30
|
+
searchbarDisableButton: undefined,
|
|
31
|
+
searchbarSpellcheck: false,
|
|
32
|
+
closeOnSelect: false,
|
|
33
|
+
virtualList: false,
|
|
34
|
+
virtualListHeight: undefined,
|
|
35
|
+
scrollToSelectedItem: false,
|
|
36
|
+
formColorTheme: undefined,
|
|
37
|
+
navbarColorTheme: undefined,
|
|
38
|
+
routableModals: false,
|
|
39
|
+
url: 'select/',
|
|
40
|
+
cssClass: '',
|
|
41
|
+
|
|
42
|
+
/*
|
|
43
|
+
Custom render functions
|
|
44
|
+
*/
|
|
45
|
+
renderPage: undefined,
|
|
46
|
+
renderPopup: undefined,
|
|
47
|
+
renderSheet: undefined,
|
|
48
|
+
renderPopover: undefined,
|
|
49
|
+
renderItems: undefined,
|
|
50
|
+
renderItem: undefined,
|
|
51
|
+
renderSearchbar: undefined
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
static: {
|
|
55
|
+
SmartSelect
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
create() {
|
|
59
|
+
const app = this;
|
|
60
|
+
app.smartSelect = extend(ConstructorMethods({
|
|
61
|
+
defaultSelector: '.smart-select',
|
|
62
|
+
constructor: SmartSelect,
|
|
63
|
+
app,
|
|
64
|
+
domProp: 'f7SmartSelect'
|
|
65
|
+
}), {
|
|
66
|
+
open(smartSelectEl) {
|
|
67
|
+
const ss = app.smartSelect.get(smartSelectEl);
|
|
68
|
+
if (ss && ss.open) return ss.open();
|
|
69
|
+
return undefined;
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
close(smartSelectEl) {
|
|
73
|
+
const ss = app.smartSelect.get(smartSelectEl);
|
|
74
|
+
if (ss && ss.close) return ss.close();
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
on: {
|
|
82
|
+
tabMounted(tabEl) {
|
|
83
|
+
const app = this;
|
|
84
|
+
$(tabEl).find('.smart-select-init').each(smartSelectEl => {
|
|
85
|
+
app.smartSelect.create(extend({
|
|
86
|
+
el: smartSelectEl
|
|
87
|
+
}, $(smartSelectEl).dataset()));
|
|
88
|
+
});
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
tabBeforeRemove(tabEl) {
|
|
92
|
+
$(tabEl).find('.smart-select-init').each(smartSelectEl => {
|
|
93
|
+
if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {
|
|
94
|
+
smartSelectEl.f7SmartSelect.destroy();
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
|
|
99
|
+
pageInit(page) {
|
|
100
|
+
const app = this;
|
|
101
|
+
page.$el.find('.smart-select-init').each(smartSelectEl => {
|
|
102
|
+
app.smartSelect.create(extend({
|
|
103
|
+
el: smartSelectEl
|
|
104
|
+
}, $(smartSelectEl).dataset()));
|
|
105
|
+
});
|
|
106
|
+
},
|
|
107
|
+
|
|
108
|
+
pageBeforeRemove(page) {
|
|
109
|
+
page.$el.find('.smart-select-init').each(smartSelectEl => {
|
|
110
|
+
if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {
|
|
111
|
+
smartSelectEl.f7SmartSelect.destroy();
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
},
|
|
117
|
+
clicks: {
|
|
118
|
+
'.smart-select': function open($clickedEl, data) {
|
|
119
|
+
const app = this;
|
|
120
|
+
|
|
121
|
+
if (!$clickedEl[0].f7SmartSelect) {
|
|
122
|
+
const ss = app.smartSelect.create(extend({
|
|
123
|
+
el: $clickedEl
|
|
124
|
+
}, data));
|
|
125
|
+
ss.open();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
vnode: {
|
|
130
|
+
'smart-select-init': {
|
|
131
|
+
insert(vnode) {
|
|
132
|
+
const app = this;
|
|
133
|
+
const smartSelectEl = vnode.elm;
|
|
134
|
+
app.smartSelect.create(extend({
|
|
135
|
+
el: smartSelectEl
|
|
136
|
+
}, $(smartSelectEl).dataset()));
|
|
137
|
+
},
|
|
138
|
+
|
|
139
|
+
destroy(vnode) {
|
|
140
|
+
const smartSelectEl = vnode.elm;
|
|
141
|
+
|
|
142
|
+
if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {
|
|
143
|
+
smartSelectEl.f7SmartSelect.destroy();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
@@ -0,0 +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,s.extend),n=s.id,i=s.nextTick,c=s.deleteProps;class p extends r{constructor(e,t={}){super(t,[e]);const s=this,r=o({on:{}},e.params.smartSelect);void 0===r.searchbarDisableButton&&(r.searchbarDisableButton="aurora"!==e.theme),s.useModulesParams(r),s.params=o({},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 i=l.find("select").eq(0);if(0===i.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"):i.attr("name")&&(p=`${i.attr("name").toLowerCase()}-select/`)),p||(p=s.params.url);const d=i[0].multiple,m=d?"checkbox":"radio",u=n();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 o(s,{$el:l,el:l[0],$selectEl:i,selectEl:i[0],$valueEl:c,valueEl:c&&c[0],url:p,multiple:d,inputType:m,id:u,inputName:`${m}-${u}`,selectName:i.attr("name"),maxLength:i.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],$=f&&f.label;let b=!1;f&&f!==r&&(b=!0,r=f,s.push({groupLabel:$,isLabel:b})),s.push({value:o[0].value,text:o[0].textContent.trim(),selected:o[0].selected,groupEl:f,groupLabel:$,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):$jsx("form",{class:"searchbar"},$jsx("div",{class:"searchbar-inner"},$jsx("div",{class:"searchbar-input-wrap"},$jsx("input",{type:"search",spellcheck:e.params.searchbarSpellcheck||"false",placeholder:e.params.searchbarPlaceholder}),$jsx("i",{class:"searchbar-icon"}),$jsx("span",{class:"input-clear-button"})),e.params.searchbarDisableButton&&$jsx("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,r=e.selected;if(a.params.virtualList){const s=a.getValue();r=a.multiple?s.indexOf(e.value)>=0:s===e.value,a.multiple&&(t=a.multiple&&!r&&s.length===parseInt(a.maxLength,10))}const{icon:l,iconIos:o,iconMd:n,iconAurora:i}=e,c=l||o||n||i,p=function(e=""){return e.indexOf(":")>=0?e.split(":")[1]:""}(l||o||n||i||""),d=function(e=""){if(e.indexOf(":")>=0){let t=e.split(":")[0];return"f7"===t&&(t="f7-icons"),"material"===t&&(t="material-icons"),t}return e}(l||o||n||i||"");s=$jsx("li",{class:`${e.className||""}${t?" disabled":""}`},$jsx("label",{class:`item-${e.inputType} item-content`},$jsx("input",{type:e.inputType,name:e.inputName,value:e.value,_checked:r}),$jsx("i",{class:`icon icon-${e.inputType}`}),e.hasMedia&&$jsx("div",{class:"item-media"},c&&$jsx("i",{class:`icon ${d}`},p),e.image&&$jsx("img",{src:e.image})),$jsx("div",{class:"item-inner"},$jsx("div",{class:"item-title"+(e.color?` text-color-${e.color}`:"")},e.text))))}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 $jsx("div",{class:`page smart-select-page ${a}`,"data-name":"smart-select-page","data-select-name":e.selectName},$jsx("div",{class:"navbar "+(e.params.navbarColorTheme?`color-${e.params.navbarColorTheme}`:"")},$jsx("div",{class:"navbar-bg"}),$jsx("div",{class:"navbar-inner sliding "+(e.params.navbarColorTheme?`color-${e.params.navbarColorTheme}`:"")},$jsx("div",{class:"left"},$jsx("a",{class:"link back"},$jsx("i",{class:"icon icon-back"}),$jsx("span",{class:"if-not-md"},e.params.pageBackLinkText))),t&&$jsx("div",{class:"title"},t),e.params.searchbar&&$jsx("div",{class:"subnavbar"},e.renderSearchbar()))),e.params.searchbar&&$jsx("div",{class:"searchbar-backdrop"}),$jsx("div",{class:"page-content"},$jsx("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},$jsx("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 $jsx("div",{class:`popup smart-select-popup ${a} ${e.params.popupTabletFullscreen?"popup-tablet-fullscreen":""}`,"data-select-name":e.selectName},$jsx("div",{class:"view"},$jsx("div",{class:"page smart-select-page "+(e.params.searchbar?"page-with-subnavbar":""),"data-name":"smart-select-page"},$jsx("div",{class:"navbar "+(e.params.navbarColorTheme?`color-${e.params.navbarColorTheme}`:"")},$jsx("div",{class:"navbar-bg"}),$jsx("div",{class:"navbar-inner sliding"},t&&$jsx("div",{class:"title"},t),$jsx("div",{class:"right"},$jsx("a",{class:"link popup-close","data-popup":`.smart-select-popup[data-select-name='${e.selectName}']`},e.params.popupCloseLinkText)),e.params.searchbar&&$jsx("div",{class:"subnavbar"},e.renderSearchbar()))),e.params.searchbar&&$jsx("div",{class:"searchbar-backdrop"}),$jsx("div",{class:"page-content"},$jsx("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},$jsx("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 $jsx("div",{class:`sheet-modal smart-select-sheet ${t}`,"data-select-name":e.selectName},$jsx("div",{class:"toolbar toolbar-top "+(e.params.toolbarColorTheme?`color-${e.params.toolbarColorTheme}`:"")},$jsx("div",{class:"toolbar-inner"},$jsx("div",{class:"left"}),$jsx("div",{class:"right"},$jsx("a",{class:"link sheet-close"},e.params.sheetCloseLinkText)))),$jsx("div",{class:"sheet-modal-inner"},$jsx("div",{class:"page-content"},$jsx("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},$jsx("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 $jsx("div",{class:`popover smart-select-popover ${t}`,"data-select-name":e.selectName},$jsx("div",{class:"popover-inner"},$jsx("div",{class:`list smart-select-list-${e.id} ${e.params.virtualList?" virtual-list":""} ${e.params.formColorTheme?`color-${e.params.formColorTheme}`:""}`},$jsx("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&&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 n=o({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(n)}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",(()=>{i((()=>{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,c(e),e.destroyed=!0}}var d={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:p},create(){const e=this;e.smartSelect=o(l({defaultSelector:".smart-select",constructor:p,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(o({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(o({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(o({el:e},t)).open()}}},vnode:{"smart-select-init":{insert(e){const t=e.elm;this.smartSelect.create(o({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[d.name])return;e.use(d),e.instance&&(e.instance.useModuleParams(d,e.instance.params),e.instance.useModule(d))}return d}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-sortable-handler-color:rgba(0, 0, 0, 0.22);--f7-sortable-sorting-item-bg-color:rgba(255, 255, 255, 0.8)}:root .
|
|
1
|
+
:root{--f7-sortable-handler-color:rgba(0, 0, 0, 0.22);--f7-sortable-sorting-item-bg-color:rgba(255, 255, 255, 0.8)}:root .dark,:root.dark{--f7-sortable-sorting-item-bg-color:rgba(50, 50, 50, 0.8);--f7-sortable-handler-color:rgba(255, 255, 255, 0.55)}.ios{--f7-sortable-handler-width:36px;--f7-sortable-sorting-item-box-shadow:0px 2px 8px rgba(0, 0, 0, 0.6)}.md{--f7-sortable-handler-width:42px;--f7-sortable-sorting-item-box-shadow:var(--f7-elevation-2)}.aurora{--f7-sortable-handler-width:42px;--f7-sortable-sorting-item-box-shadow:var(--f7-elevation-2)}.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'}.aurora .sortable-handler:after{content:'sort_md'}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-sortable-handler-color:rgba(0, 0, 0, 0.22);--f7-sortable-sorting-item-bg-color:rgba(255, 255, 255, 0.8)}:root .
|
|
1
|
+
:root{--f7-sortable-handler-color:rgba(0, 0, 0, 0.22);--f7-sortable-sorting-item-bg-color:rgba(255, 255, 255, 0.8)}:root .dark,:root.dark{--f7-sortable-sorting-item-bg-color:rgba(50, 50, 50, 0.8);--f7-sortable-handler-color:rgba(255, 255, 255, 0.55)}.ios{--f7-sortable-handler-width:36px;--f7-sortable-sorting-item-box-shadow:0px 2px 8px rgba(0, 0, 0, 0.6)}.md{--f7-sortable-handler-width:42px;--f7-sortable-sorting-item-box-shadow:var(--f7-elevation-2)}.aurora{--f7-sortable-handler-width:42px;--f7-sortable-sorting-item-box-shadow:var(--f7-elevation-2)}.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'}.aurora .sortable-handler:after{content:'sort_md'}
|
|
@@ -1 +1,306 @@
|
|
|
1
|
-
|
|
1
|
+
import { getDocument } from 'ssr-window';
|
|
2
|
+
import $ from '../../shared/dom7.js';
|
|
3
|
+
import { bindMethods } from '../../shared/utils.js';
|
|
4
|
+
import { getSupport } from '../../shared/get-support.js';
|
|
5
|
+
const Sortable = {
|
|
6
|
+
init() {
|
|
7
|
+
const app = this;
|
|
8
|
+
const document = getDocument();
|
|
9
|
+
let isTouched;
|
|
10
|
+
let isMoved;
|
|
11
|
+
let touchStartY;
|
|
12
|
+
let touchesDiff;
|
|
13
|
+
let $sortingEl;
|
|
14
|
+
let $sortingItems;
|
|
15
|
+
let $sortableContainer;
|
|
16
|
+
let sortingElHeight;
|
|
17
|
+
let minTop;
|
|
18
|
+
let maxTop;
|
|
19
|
+
let $insertAfterEl;
|
|
20
|
+
let $insertBeforeEl;
|
|
21
|
+
let indexFrom;
|
|
22
|
+
let $pageEl;
|
|
23
|
+
let $pageContentEl;
|
|
24
|
+
let pageHeight;
|
|
25
|
+
let pageOffset;
|
|
26
|
+
let sortingElOffsetLocal;
|
|
27
|
+
let sortingElOffsetTop;
|
|
28
|
+
let initialScrollTop;
|
|
29
|
+
let wasTapHold;
|
|
30
|
+
|
|
31
|
+
function handleTouchStart(e, isTapHold) {
|
|
32
|
+
isMoved = false;
|
|
33
|
+
isTouched = true;
|
|
34
|
+
wasTapHold = false;
|
|
35
|
+
touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
|
|
36
|
+
$sortingEl = $(e.target).closest('li').eq(0);
|
|
37
|
+
indexFrom = $sortingEl.index();
|
|
38
|
+
$sortableContainer = $sortingEl.parents('.sortable');
|
|
39
|
+
const $listGroup = $sortingEl.parents('.list-group');
|
|
40
|
+
|
|
41
|
+
if ($listGroup.length && $listGroup.parents($sortableContainer).length) {
|
|
42
|
+
$sortableContainer = $listGroup;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
$sortingItems = $sortableContainer.children('ul').children('li:not(.disallow-sorting):not(.no-sorting)');
|
|
46
|
+
if (app.panel) app.panel.allowOpen = false;
|
|
47
|
+
if (app.swipeout) app.swipeout.allow = false;
|
|
48
|
+
|
|
49
|
+
if (isTapHold) {
|
|
50
|
+
$sortingEl.addClass('sorting');
|
|
51
|
+
$sortableContainer.addClass('sortable-sorting');
|
|
52
|
+
wasTapHold = true;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function handleTouchMove(e) {
|
|
57
|
+
if (!isTouched || !$sortingEl) return;
|
|
58
|
+
const pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;
|
|
59
|
+
|
|
60
|
+
if (!isMoved) {
|
|
61
|
+
$pageEl = $sortingEl.parents('.page');
|
|
62
|
+
$pageContentEl = $sortingEl.parents('.page-content');
|
|
63
|
+
const paddingTop = parseInt($pageContentEl.css('padding-top'), 10);
|
|
64
|
+
const paddingBottom = parseInt($pageContentEl.css('padding-bottom'), 10);
|
|
65
|
+
initialScrollTop = $pageContentEl[0].scrollTop;
|
|
66
|
+
pageOffset = $pageEl.offset().top + paddingTop;
|
|
67
|
+
pageHeight = $pageEl.height() - paddingTop - paddingBottom;
|
|
68
|
+
$sortingEl.addClass('sorting');
|
|
69
|
+
$sortableContainer.addClass('sortable-sorting');
|
|
70
|
+
sortingElOffsetLocal = $sortingEl[0].offsetTop;
|
|
71
|
+
minTop = $sortingEl[0].offsetTop;
|
|
72
|
+
maxTop = $sortingEl.parent().height() - sortingElOffsetLocal - $sortingEl.height();
|
|
73
|
+
sortingElHeight = $sortingEl[0].offsetHeight;
|
|
74
|
+
sortingElOffsetTop = $sortingEl.offset().top;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
isMoved = true;
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
e.f7PreventSwipePanel = true;
|
|
80
|
+
touchesDiff = pageY - touchStartY;
|
|
81
|
+
const translateScrollOffset = $pageContentEl[0].scrollTop - initialScrollTop;
|
|
82
|
+
const translate = Math.min(Math.max(touchesDiff + translateScrollOffset, -minTop), maxTop);
|
|
83
|
+
$sortingEl.transform(`translate3d(0,${translate}px,0)`);
|
|
84
|
+
const scrollAddition = 44;
|
|
85
|
+
let allowScroll = true;
|
|
86
|
+
|
|
87
|
+
if (touchesDiff + translateScrollOffset + scrollAddition < -minTop) {
|
|
88
|
+
allowScroll = false;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (touchesDiff + translateScrollOffset - scrollAddition > maxTop) {
|
|
92
|
+
allowScroll = false;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
$insertBeforeEl = undefined;
|
|
96
|
+
$insertAfterEl = undefined;
|
|
97
|
+
let scrollDiff;
|
|
98
|
+
|
|
99
|
+
if (allowScroll) {
|
|
100
|
+
if (sortingElOffsetTop + touchesDiff + sortingElHeight + scrollAddition > pageOffset + pageHeight) {
|
|
101
|
+
// To Bottom
|
|
102
|
+
scrollDiff = sortingElOffsetTop + touchesDiff + sortingElHeight + scrollAddition - (pageOffset + pageHeight);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (sortingElOffsetTop + touchesDiff < pageOffset + scrollAddition) {
|
|
106
|
+
// To Top
|
|
107
|
+
scrollDiff = sortingElOffsetTop + touchesDiff - pageOffset - scrollAddition;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (scrollDiff) {
|
|
111
|
+
$pageContentEl[0].scrollTop += scrollDiff;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
$sortingItems.each(el => {
|
|
116
|
+
const $currentEl = $(el);
|
|
117
|
+
if ($currentEl[0] === $sortingEl[0]) return;
|
|
118
|
+
const currentElOffset = $currentEl[0].offsetTop;
|
|
119
|
+
const currentElHeight = $currentEl.height();
|
|
120
|
+
const sortingElOffset = sortingElOffsetLocal + translate;
|
|
121
|
+
let currentTranslate;
|
|
122
|
+
const prevTranslate = $currentEl[0].f7Translate;
|
|
123
|
+
|
|
124
|
+
if (sortingElOffset >= currentElOffset - currentElHeight / 2 && $sortingEl.index() < $currentEl.index()) {
|
|
125
|
+
currentTranslate = -sortingElHeight;
|
|
126
|
+
$currentEl.transform(`translate3d(0, ${currentTranslate}px,0)`);
|
|
127
|
+
$insertAfterEl = $currentEl;
|
|
128
|
+
$insertBeforeEl = undefined;
|
|
129
|
+
} else if (sortingElOffset <= currentElOffset + currentElHeight / 2 && $sortingEl.index() > $currentEl.index()) {
|
|
130
|
+
currentTranslate = sortingElHeight;
|
|
131
|
+
$currentEl[0].f7Translate = currentTranslate;
|
|
132
|
+
$currentEl.transform(`translate3d(0, ${currentTranslate}px,0)`);
|
|
133
|
+
$insertAfterEl = undefined;
|
|
134
|
+
if (!$insertBeforeEl) $insertBeforeEl = $currentEl;
|
|
135
|
+
} else {
|
|
136
|
+
currentTranslate = undefined;
|
|
137
|
+
$currentEl.transform('translate3d(0, 0%,0)');
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if (prevTranslate !== currentTranslate) {
|
|
141
|
+
$currentEl.trigger('sortable:move');
|
|
142
|
+
app.emit('sortableMove', $currentEl[0], $sortableContainer[0]);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
$currentEl[0].f7Translate = currentTranslate;
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function handleTouchEnd() {
|
|
150
|
+
if (!isTouched || !isMoved) {
|
|
151
|
+
if (isTouched && !isMoved) {
|
|
152
|
+
if (app.panel) app.panel.allowOpen = true;
|
|
153
|
+
if (app.swipeout) app.swipeout.allow = true;
|
|
154
|
+
|
|
155
|
+
if (wasTapHold) {
|
|
156
|
+
$sortingEl.removeClass('sorting');
|
|
157
|
+
$sortableContainer.removeClass('sortable-sorting');
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
isTouched = false;
|
|
162
|
+
isMoved = false;
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (app.panel) app.panel.allowOpen = true;
|
|
167
|
+
if (app.swipeout) app.swipeout.allow = true;
|
|
168
|
+
$sortingItems.transform('');
|
|
169
|
+
$sortingEl.removeClass('sorting');
|
|
170
|
+
$sortableContainer.removeClass('sortable-sorting');
|
|
171
|
+
let indexTo;
|
|
172
|
+
if ($insertAfterEl) indexTo = $insertAfterEl.index();else if ($insertBeforeEl) indexTo = $insertBeforeEl.index();
|
|
173
|
+
let moveElements = $sortableContainer.dataset().sortableMoveElements;
|
|
174
|
+
|
|
175
|
+
if (typeof moveElements === 'undefined') {
|
|
176
|
+
moveElements = app.params.sortable.moveElements;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if (moveElements) {
|
|
180
|
+
if ($insertAfterEl) {
|
|
181
|
+
$sortingEl.insertAfter($insertAfterEl);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if ($insertBeforeEl) {
|
|
185
|
+
$sortingEl.insertBefore($insertBeforeEl);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
if (($insertAfterEl || $insertBeforeEl) && $sortableContainer.hasClass('virtual-list')) {
|
|
190
|
+
indexFrom = $sortingEl[0].f7VirtualListIndex;
|
|
191
|
+
if (typeof indexFrom === 'undefined') indexFrom = $sortingEl.attr('data-virtual-list-index');
|
|
192
|
+
|
|
193
|
+
if ($insertBeforeEl) {
|
|
194
|
+
indexTo = $insertBeforeEl[0].f7VirtualListIndex;
|
|
195
|
+
if (typeof indexTo === 'undefined') indexTo = $insertBeforeEl.attr('data-virtual-list-index');
|
|
196
|
+
} else {
|
|
197
|
+
indexTo = $insertAfterEl[0].f7VirtualListIndex;
|
|
198
|
+
if (typeof indexTo === 'undefined') indexTo = $insertAfterEl.attr('data-virtual-list-index');
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (indexTo !== null) indexTo = parseInt(indexTo, 10);else indexTo = undefined;
|
|
202
|
+
const virtualList = $sortableContainer[0].f7VirtualList;
|
|
203
|
+
if (indexFrom) indexFrom = parseInt(indexFrom, 10);
|
|
204
|
+
if (indexTo) indexTo = parseInt(indexTo, 10);
|
|
205
|
+
if (virtualList) virtualList.moveItem(indexFrom, indexTo);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
if (typeof indexTo !== 'undefined' && !Number.isNaN(indexTo) && indexTo !== indexFrom) {
|
|
209
|
+
$sortingEl.trigger('sortable:sort', {
|
|
210
|
+
from: indexFrom,
|
|
211
|
+
to: indexTo
|
|
212
|
+
});
|
|
213
|
+
app.emit('sortableSort', $sortingEl[0], {
|
|
214
|
+
from: indexFrom,
|
|
215
|
+
to: indexTo,
|
|
216
|
+
el: $sortingEl[0]
|
|
217
|
+
}, $sortableContainer[0]);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
$insertBeforeEl = undefined;
|
|
221
|
+
$insertAfterEl = undefined;
|
|
222
|
+
isTouched = false;
|
|
223
|
+
isMoved = false;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
const activeListener = getSupport().passiveListener ? {
|
|
227
|
+
passive: false,
|
|
228
|
+
capture: false
|
|
229
|
+
} : false;
|
|
230
|
+
$(document).on(app.touchEvents.start, '.list.sortable .sortable-handler', handleTouchStart, activeListener);
|
|
231
|
+
app.on('touchmove:active', handleTouchMove);
|
|
232
|
+
app.on('touchend:passive', handleTouchEnd);
|
|
233
|
+
$(document).on('taphold', '.sortable-tap-hold', (e, pointerEvent) => {
|
|
234
|
+
handleTouchStart(pointerEvent, true);
|
|
235
|
+
});
|
|
236
|
+
},
|
|
237
|
+
|
|
238
|
+
enable(el = '.list.sortable') {
|
|
239
|
+
const app = this;
|
|
240
|
+
const $el = $(el);
|
|
241
|
+
if ($el.length === 0) return;
|
|
242
|
+
$el.addClass('sortable-enabled');
|
|
243
|
+
$el.trigger('sortable:enable');
|
|
244
|
+
app.emit('sortableEnable', $el[0]);
|
|
245
|
+
},
|
|
246
|
+
|
|
247
|
+
disable(el = '.list.sortable') {
|
|
248
|
+
const app = this;
|
|
249
|
+
const $el = $(el);
|
|
250
|
+
if ($el.length === 0) return;
|
|
251
|
+
$el.removeClass('sortable-enabled');
|
|
252
|
+
$el.trigger('sortable:disable');
|
|
253
|
+
app.emit('sortableDisable', $el[0]);
|
|
254
|
+
},
|
|
255
|
+
|
|
256
|
+
toggle(el = '.list.sortable') {
|
|
257
|
+
const app = this;
|
|
258
|
+
const $el = $(el);
|
|
259
|
+
if ($el.length === 0) return;
|
|
260
|
+
|
|
261
|
+
if ($el.hasClass('sortable-enabled')) {
|
|
262
|
+
app.sortable.disable($el);
|
|
263
|
+
} else {
|
|
264
|
+
app.sortable.enable($el);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
};
|
|
269
|
+
export default {
|
|
270
|
+
name: 'sortable',
|
|
271
|
+
params: {
|
|
272
|
+
sortable: {
|
|
273
|
+
moveElements: true
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
|
|
277
|
+
create() {
|
|
278
|
+
const app = this;
|
|
279
|
+
bindMethods(app, {
|
|
280
|
+
sortable: Sortable
|
|
281
|
+
});
|
|
282
|
+
},
|
|
283
|
+
|
|
284
|
+
on: {
|
|
285
|
+
init() {
|
|
286
|
+
const app = this;
|
|
287
|
+
if (!app.params.sortable) return;
|
|
288
|
+
app.sortable.init();
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
},
|
|
292
|
+
clicks: {
|
|
293
|
+
'.sortable-enable': function enable($clickedEl, data = {}) {
|
|
294
|
+
const app = this;
|
|
295
|
+
app.sortable.enable(data.sortable);
|
|
296
|
+
},
|
|
297
|
+
'.sortable-disable': function disable($clickedEl, data = {}) {
|
|
298
|
+
const app = this;
|
|
299
|
+
app.sortable.disable(data.sortable);
|
|
300
|
+
},
|
|
301
|
+
'.sortable-toggle': function toggle($clickedEl, data = {}) {
|
|
302
|
+
const app = this;
|
|
303
|
+
app.sortable.toggle(data.sortable);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var s=t.$,o=t.utils,a=(t.getDevice,t.getSupport),l=(t.Class,t.Modal,t.ConstructorMethods,t.ModalMethods,o.bindMethods);const r={init(){const t=this,e=getDocument();let o,l,r,n,i,d,p,b,c,u,g,f,h,m,v,x,w,C,M,T,I;function L(e,a){l=!1,o=!0,I=!1,r="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,i=s(e.target).closest("li").eq(0),h=i.index(),p=i.parents(".sortable");const n=i.parents(".list-group");n.length&&n.parents(p).length&&(p=n),d=p.children("ul").children("li:not(.disallow-sorting):not(.no-sorting)"),t.panel&&(t.panel.allowOpen=!1),t.swipeout&&(t.swipeout.allow=!1),a&&(i.addClass("sorting"),p.addClass("sortable-sorting"),I=!0)}const E=!!a().passiveListener&&{passive:!1,capture:!1};s(e).on(t.touchEvents.start,".list.sortable .sortable-handler",L,E),t.on("touchmove:active",(function(e){if(!o||!i)return;const a="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY;if(!l){m=i.parents(".page"),v=i.parents(".page-content");const t=parseInt(v.css("padding-top"),10),e=parseInt(v.css("padding-bottom"),10);T=v[0].scrollTop,w=m.offset().top+t,x=m.height()-t-e,i.addClass("sorting"),p.addClass("sortable-sorting"),C=i[0].offsetTop,c=i[0].offsetTop,u=i.parent().height()-C-i.height(),b=i[0].offsetHeight,M=i.offset().top}l=!0,e.preventDefault(),e.f7PreventSwipePanel=!0,n=a-r;const h=v[0].scrollTop-T,I=Math.min(Math.max(n+h,-c),u);i.transform(`translate3d(0,${I}px,0)`);const L=44;let E,y=!0;n+h+L<-c&&(y=!1),n+h-L>u&&(y=!1),f=void 0,g=void 0,y&&(M+n+b+L>w+x&&(E=M+n+b+L-(w+x)),M+n<w+L&&(E=M+n-w-L),E&&(v[0].scrollTop+=E)),d.each((e=>{const o=s(e);if(o[0]===i[0])return;const a=o[0].offsetTop,l=o.height(),r=C+I;let n;const d=o[0].f7Translate;r>=a-l/2&&i.index()<o.index()?(n=-b,o.transform(`translate3d(0, ${n}px,0)`),g=o,f=void 0):r<=a+l/2&&i.index()>o.index()?(n=b,o[0].f7Translate=n,o.transform(`translate3d(0, ${n}px,0)`),g=void 0,f||(f=o)):(n=void 0,o.transform("translate3d(0, 0%,0)")),d!==n&&(o.trigger("sortable:move"),t.emit("sortableMove",o[0],p[0])),o[0].f7Translate=n}))})),t.on("touchend:passive",(function(){if(!o||!l)return o&&!l&&(t.panel&&(t.panel.allowOpen=!0),t.swipeout&&(t.swipeout.allow=!0),I&&(i.removeClass("sorting"),p.removeClass("sortable-sorting"))),o=!1,void(l=!1);let e;t.panel&&(t.panel.allowOpen=!0),t.swipeout&&(t.swipeout.allow=!0),d.transform(""),i.removeClass("sorting"),p.removeClass("sortable-sorting"),g?e=g.index():f&&(e=f.index());let s=p.dataset().sortableMoveElements;if(void 0===s&&(s=t.params.sortable.moveElements),s&&(g&&i.insertAfter(g),f&&i.insertBefore(f)),(g||f)&&p.hasClass("virtual-list")){h=i[0].f7VirtualListIndex,void 0===h&&(h=i.attr("data-virtual-list-index")),f?(e=f[0].f7VirtualListIndex,void 0===e&&(e=f.attr("data-virtual-list-index"))):(e=g[0].f7VirtualListIndex,void 0===e&&(e=g.attr("data-virtual-list-index"))),e=null!==e?parseInt(e,10):void 0;const t=p[0].f7VirtualList;h&&(h=parseInt(h,10)),e&&(e=parseInt(e,10)),t&&t.moveItem(h,e)}void 0===e||Number.isNaN(e)||e===h||(i.trigger("sortable:sort",{from:h,to:e}),t.emit("sortableSort",i[0],{from:h,to:e,el:i[0]},p[0])),f=void 0,g=void 0,o=!1,l=!1})),s(e).on("taphold",".sortable-tap-hold",((t,e)=>{L(e,!0)}))},enable(t=".list.sortable"){const e=s(t);0!==e.length&&(e.addClass("sortable-enabled"),e.trigger("sortable:enable"),this.emit("sortableEnable",e[0]))},disable(t=".list.sortable"){const e=s(t);0!==e.length&&(e.removeClass("sortable-enabled"),e.trigger("sortable:disable"),this.emit("sortableDisable",e[0]))},toggle(t=".list.sortable"){const e=this,o=s(t);0!==o.length&&(o.hasClass("sortable-enabled")?e.sortable.disable(o):e.sortable.enable(o))}};var n={name:"sortable",params:{sortable:{moveElements:!0}},create(){l(this,{sortable:r})},on:{init(){this.params.sortable&&this.sortable.init()}},clicks:{".sortable-enable":function(t,e={}){this.sortable.enable(e.sortable)},".sortable-disable":function(t,e={}){this.sortable.disable(e.sortable)},".sortable-toggle":function(t,e={}){this.sortable.toggle(e.sortable)}}};if(e){if(t.prototype.modules&&t.prototype.modules[n.name])return;t.use(n),t.instance&&(t.instance.useModuleParams(n,t.instance.params),t.instance.useModule(n))}return n}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|