framework7 7.1.5 → 8.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/accordion.js +2 -16
- package/components/accordion/accordion.less +0 -3
- package/components/actions/actions-class.js +13 -58
- package/components/actions/actions-ios.less +42 -0
- package/components/actions/actions-md.less +12 -0
- package/components/actions/actions-rtl.css +1 -1
- package/components/actions/actions-vars.less +17 -42
- package/components/actions/actions.css +1 -1
- package/components/actions/actions.d.ts +2 -2
- package/components/actions/actions.js +0 -4
- package/components/actions/actions.less +5 -35
- package/components/app/app-class.d.ts +14 -12
- package/components/app/app-class.js +93 -75
- package/components/app/app-ios.less +0 -2
- package/components/app/app-md.less +0 -2
- package/components/app/app-vars.less +13 -96
- package/components/app/app.less +1 -4
- package/components/app/load-module.js +17 -36
- package/components/area-chart/area-chart-class.js +8 -64
- package/components/area-chart/area-chart.js +0 -3
- package/components/area-chart/area-chart.less +0 -3
- package/components/autocomplete/autocomplete-class.js +30 -175
- package/components/autocomplete/autocomplete-ios.less +0 -8
- package/components/autocomplete/autocomplete-rtl.css +1 -1
- package/components/autocomplete/autocomplete-vars.less +8 -22
- package/components/autocomplete/autocomplete.css +1 -1
- package/components/autocomplete/autocomplete.d.ts +1 -3
- package/components/autocomplete/autocomplete.js +1 -6
- package/components/autocomplete/autocomplete.less +6 -18
- package/components/badge/badge-vars.less +3 -6
- package/components/badge/badge.less +1 -3
- package/components/block/block-vars.less +25 -52
- package/components/block/block.less +37 -12
- package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
- package/components/breadcrumbs/breadcrumbs-vars.less +31 -15
- package/components/breadcrumbs/breadcrumbs.css +1 -1
- package/components/breadcrumbs/breadcrumbs.js +0 -2
- package/components/breadcrumbs/breadcrumbs.less +4 -10
- package/components/button/button-vars.less +42 -43
- package/components/button/button.less +24 -26
- package/components/calendar/calendar-class.js +81 -401
- package/components/calendar/calendar-rtl.css +1 -1
- package/components/calendar/calendar-vars.less +32 -46
- package/components/calendar/calendar.css +1 -1
- package/components/calendar/calendar.js +6 -4
- package/components/calendar/calendar.less +10 -21
- package/components/card/card-rtl.css +1 -1
- package/components/card/card-vars.less +41 -44
- package/components/card/card.css +1 -1
- package/components/card/card.js +0 -108
- package/components/card/card.less +18 -24
- package/components/checkbox/checkbox-rtl.css +1 -1
- package/components/checkbox/checkbox-vars.less +0 -8
- package/components/checkbox/checkbox.css +1 -1
- package/components/checkbox/checkbox.less +32 -3
- package/components/chip/chip-ios.less +3 -0
- package/components/chip/chip-md.less +4 -3
- package/components/chip/chip-rtl.css +1 -1
- package/components/chip/chip-vars.less +17 -20
- package/components/chip/chip.css +1 -1
- package/components/chip/chip.less +16 -21
- package/components/color-picker/color-picker-class.js +27 -158
- package/components/color-picker/color-picker-rtl.css +1 -1
- package/components/color-picker/color-picker.css +1 -1
- package/components/color-picker/color-picker.js +0 -4
- package/components/color-picker/color-picker.less +18 -8
- package/components/color-picker/modules/alpha-slider.js +0 -12
- package/components/color-picker/modules/brightness-slider.js +0 -8
- package/components/color-picker/modules/current-color.js +0 -2
- package/components/color-picker/modules/hex.js +0 -12
- package/components/color-picker/modules/hs-spectrum.js +0 -20
- package/components/color-picker/modules/hsb-sliders.js +0 -18
- package/components/color-picker/modules/hue-slider.js +0 -7
- package/components/color-picker/modules/initial-current-colors.js +0 -7
- package/components/color-picker/modules/palette.js +2 -10
- package/components/color-picker/modules/rgb-bars.js +0 -17
- package/components/color-picker/modules/rgb-sliders.js +0 -17
- package/components/color-picker/modules/sb-spectrum.js +0 -20
- package/components/color-picker/modules/wheel.js +0 -28
- package/components/contacts-list/contacts-list-md.less +4 -3
- package/components/contacts-list/contacts-list-rtl.css +1 -1
- package/components/contacts-list/contacts-list-vars.less +3 -15
- package/components/contacts-list/contacts-list.css +1 -1
- package/components/contacts-list/contacts-list.less +0 -3
- package/components/data-table/data-table-class.js +10 -32
- package/components/data-table/data-table-rtl.css +1 -1
- package/components/data-table/data-table-vars.less +6 -39
- package/components/data-table/data-table.css +1 -1
- package/components/data-table/data-table.js +0 -8
- package/components/data-table/data-table.less +0 -3
- package/components/dialog/dialog-class.js +7 -41
- package/components/dialog/dialog-ios.less +0 -3
- package/components/dialog/dialog-md.less +9 -9
- package/components/dialog/dialog-rtl.css +1 -1
- package/components/dialog/dialog-vars.less +25 -70
- package/components/dialog/dialog.css +1 -1
- package/components/dialog/dialog.d.ts +2 -2
- package/components/dialog/dialog.js +12 -48
- package/components/dialog/dialog.less +8 -4
- package/components/fab/fab-rtl.css +1 -1
- package/components/fab/fab-vars.less +20 -14
- package/components/fab/fab.css +1 -1
- package/components/fab/fab.js +0 -21
- package/components/fab/fab.less +50 -53
- package/components/form/form.d.ts +4 -4
- package/components/form/form.js +58 -94
- package/components/form/form.less +0 -3
- package/components/gauge/gauge-class.js +4 -20
- package/components/gauge/gauge.js +0 -9
- package/components/gauge/gauge.less +0 -3
- package/components/grid/grid-rtl.css +1 -1
- package/components/grid/grid-vars.less +0 -7
- package/components/grid/grid.css +1 -1
- package/components/grid/grid.d.ts +2 -8
- package/components/grid/grid.js +1 -225
- package/components/grid/grid.less +54 -184
- package/components/icon/icon.less +0 -3
- package/components/infinite-scroll/infinite-scroll-rtl.css +1 -1
- package/components/infinite-scroll/infinite-scroll.css +1 -1
- package/components/infinite-scroll/infinite-scroll.js +0 -16
- package/components/infinite-scroll/infinite-scroll.less +0 -3
- package/components/input/input-ios.less +49 -41
- package/components/input/input-md.less +87 -19
- package/components/input/input-rtl.css +1 -1
- package/components/input/input-vars.less +26 -60
- package/components/input/input.css +1 -1
- package/components/input/input.js +8 -67
- package/components/input/input.less +67 -153
- package/components/link/link-vars.less +0 -5
- package/components/link/link.less +3 -3
- package/components/list/list-md.less +0 -7
- package/components/list/list-vars.less +59 -108
- package/components/list/list.less +122 -90
- package/components/list-index/list-index-class.js +12 -69
- package/components/list-index/list-index-rtl.css +1 -1
- package/components/list-index/list-index-vars.less +0 -7
- package/components/list-index/list-index.css +1 -1
- package/components/list-index/list-index.d.ts +1 -3
- package/components/list-index/list-index.js +0 -8
- package/components/list-index/list-index.less +4 -7
- package/components/login-screen/login-screen-class.js +4 -9
- package/components/login-screen/login-screen-rtl.css +1 -1
- package/components/login-screen/login-screen-vars.less +13 -12
- package/components/login-screen/login-screen.css +1 -1
- package/components/login-screen/login-screen.js +0 -4
- package/components/login-screen/login-screen.less +2 -8
- package/components/messagebar/messagebar-class.js +18 -79
- package/components/messagebar/messagebar-ios.less +36 -0
- package/components/messagebar/messagebar-md.less +96 -16
- package/components/messagebar/messagebar-rtl.css +1 -1
- package/components/messagebar/messagebar-vars.less +27 -50
- package/components/messagebar/messagebar.css +1 -1
- package/components/messagebar/messagebar.js +0 -8
- package/components/messagebar/messagebar.less +11 -42
- package/components/messages/messages-class.js +17 -110
- package/components/messages/messages-ios.less +9 -0
- package/components/messages/messages-md.less +63 -28
- package/components/messages/messages-rtl.css +1 -1
- package/components/messages/messages-vars.less +43 -50
- package/components/messages/messages.css +1 -1
- package/components/messages/messages.js +0 -8
- package/components/messages/messages.less +0 -11
- package/components/modal/custom-modal-class.js +4 -14
- package/components/modal/modal-class.js +19 -55
- package/components/modal/modal.js +0 -3
- package/components/navbar/navbar-ios.less +3 -39
- package/components/navbar/navbar-md.less +12 -0
- package/components/navbar/navbar-vars.less +20 -49
- package/components/navbar/navbar.d.ts +0 -2
- package/components/navbar/navbar.js +37 -166
- package/components/navbar/navbar.less +4 -26
- package/components/notification/notification-class.js +4 -39
- package/components/notification/notification-md.less +18 -8
- package/components/notification/notification-rtl.css +1 -1
- package/components/notification/notification-vars.less +15 -54
- package/components/notification/notification.css +1 -1
- package/components/notification/notification.js +0 -2
- package/components/notification/notification.less +0 -3
- package/components/page/page-md.less +40 -10
- package/components/page/page-transitions/circle.less +15 -9
- package/components/page/page-transitions/fade.less +17 -11
- package/components/page/page-transitions/flip.less +9 -4
- package/components/page/page-vars.less +3 -19
- package/components/page/page.less +2 -10
- package/components/panel/panel-class.js +27 -132
- package/components/panel/panel-md.less +9 -0
- package/components/panel/panel-rtl.css +1 -1
- package/components/panel/panel-vars.less +7 -21
- package/components/panel/panel.css +1 -1
- package/components/panel/panel.d.ts +2 -2
- package/components/panel/panel.js +0 -34
- package/components/panel/panel.less +56 -48
- package/components/panel/resizable-panel.js +2 -32
- package/components/panel/swipe-panel.js +16 -71
- package/components/photo-browser/photo-browser-class.js +41 -171
- package/components/photo-browser/photo-browser-rtl.css +1 -1
- package/components/photo-browser/photo-browser-vars.less +0 -3
- package/components/photo-browser/photo-browser.css +1 -1
- package/components/photo-browser/photo-browser.d.ts +2 -4
- package/components/photo-browser/photo-browser.js +1 -6
- package/components/photo-browser/photo-browser.less +0 -4
- package/components/picker/picker-class.js +26 -133
- package/components/picker/picker-column.js +11 -31
- package/components/picker/picker-ios.less +10 -0
- package/components/picker/picker-md.less +6 -0
- package/components/picker/picker-rtl.css +1 -1
- package/components/picker/picker-vars.less +9 -25
- package/components/picker/picker.css +1 -1
- package/components/picker/picker.js +0 -4
- package/components/picker/picker.less +0 -11
- package/components/pie-chart/pie-chart-class.js +8 -31
- package/components/pie-chart/pie-chart.js +0 -3
- package/components/pie-chart/pie-chart.less +0 -3
- package/components/popover/popover-class.js +72 -126
- package/components/popover/popover-ios.less +0 -50
- package/components/popover/popover-rtl.css +1 -1
- package/components/popover/popover-vars.less +6 -23
- package/components/popover/popover.css +1 -1
- package/components/popover/popover.d.ts +2 -0
- package/components/popover/popover.js +1 -12
- package/components/popover/popover.less +62 -5
- package/components/popup/popup-class.js +12 -78
- package/components/popup/popup-rtl.css +1 -1
- package/components/popup/popup-vars.less +7 -9
- package/components/popup/popup.css +1 -1
- package/components/popup/popup.js +0 -4
- package/components/popup/popup.less +4 -4
- package/components/preloader/preloader-ios.less +3 -1
- package/components/preloader/preloader-md.less +5 -1
- package/components/preloader/preloader-rtl.css +1 -1
- package/components/preloader/preloader-vars.less +0 -6
- package/components/preloader/preloader.css +1 -1
- package/components/preloader/preloader.js +8 -25
- package/components/preloader/preloader.less +6 -3
- package/components/progressbar/progressbar-rtl.css +1 -1
- package/components/progressbar/progressbar-vars.less +2 -12
- package/components/progressbar/progressbar.css +1 -1
- package/components/progressbar/progressbar.js +2 -31
- package/components/progressbar/progressbar.less +0 -3
- package/components/pull-to-refresh/pull-to-refresh-class.js +15 -107
- package/components/pull-to-refresh/pull-to-refresh-md.less +2 -1
- package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -1
- package/components/pull-to-refresh/pull-to-refresh-vars.less +0 -4
- package/components/pull-to-refresh/pull-to-refresh.css +1 -1
- package/components/pull-to-refresh/pull-to-refresh.js +0 -8
- package/components/pull-to-refresh/pull-to-refresh.less +0 -3
- package/components/radio/radio-rtl.css +1 -1
- package/components/radio/radio-vars.less +0 -7
- package/components/radio/radio.css +1 -1
- package/components/radio/radio.less +12 -5
- package/components/range/range-class.js +27 -112
- package/components/range/range-rtl.css +1 -1
- package/components/range/range-vars.less +10 -32
- package/components/range/range.css +1 -1
- package/components/range/range.js +0 -12
- package/components/range/range.less +0 -3
- package/components/searchbar/remove-diacritics.js +0 -4
- package/components/searchbar/searchbar-class.js +17 -138
- package/components/searchbar/searchbar-md.less +41 -16
- package/components/searchbar/searchbar-rtl.css +1 -1
- package/components/searchbar/searchbar-vars.less +25 -76
- package/components/searchbar/searchbar.css +1 -1
- package/components/searchbar/searchbar.d.ts +2 -2
- package/components/searchbar/searchbar.js +0 -15
- package/components/searchbar/searchbar.less +14 -28
- package/components/sheet/sheet-class.js +15 -110
- package/components/sheet/sheet-rtl.css +1 -1
- package/components/sheet/sheet-vars.less +17 -6
- package/components/sheet/sheet.css +1 -1
- package/components/sheet/sheet.js +0 -9
- package/components/sheet/sheet.less +10 -3
- package/components/skeleton/skeleton.less +0 -3
- package/components/smart-select/smart-select-class.js +39 -176
- package/components/smart-select/smart-select.d.ts +3 -3
- package/components/smart-select/smart-select.js +2 -14
- package/components/smart-select/smart-select.less +0 -3
- package/components/sortable/sortable-rtl.css +1 -1
- package/components/sortable/sortable-vars.less +8 -8
- package/components/sortable/sortable.css +1 -1
- package/components/sortable/sortable.js +0 -44
- package/components/sortable/sortable.less +0 -3
- package/components/statusbar/statusbar.js +0 -36
- package/components/statusbar/statusbar.less +0 -3
- package/components/stepper/stepper-class.js +10 -83
- package/components/stepper/stepper-rtl.css +1 -1
- package/components/stepper/stepper-vars.less +12 -24
- package/components/stepper/stepper.css +1 -1
- package/components/stepper/stepper.js +0 -12
- package/components/stepper/stepper.less +12 -23
- package/components/subnavbar/subnavbar-vars.less +3 -18
- package/components/subnavbar/subnavbar.js +0 -3
- package/components/subnavbar/subnavbar.less +1 -11
- package/components/swipeout/swipeout-rtl.css +1 -1
- package/components/swipeout/swipeout-vars.less +7 -6
- package/components/swipeout/swipeout.css +1 -1
- package/components/swipeout/swipeout.js +2 -99
- package/components/swipeout/swipeout.less +2 -7
- package/components/swiper/swiper-rtl.css +1 -1
- package/components/swiper/swiper.css +1 -1
- package/components/swiper/swiper.js +15 -48
- package/components/swiper/swiper.less +0 -15
- package/components/tabs/tabs-rtl.css +1 -1
- package/components/tabs/tabs.css +1 -1
- package/components/tabs/tabs.js +23 -60
- package/components/tabs/tabs.less +1 -3
- package/components/text-editor/text-editor-class.js +16 -102
- package/components/text-editor/text-editor-rtl.css +1 -1
- package/components/text-editor/text-editor-vars.less +12 -16
- package/components/text-editor/text-editor.css +1 -1
- package/components/text-editor/text-editor.js +0 -8
- package/components/text-editor/text-editor.less +0 -6
- package/components/timeline/timeline-rtl.css +1 -1
- package/components/timeline/timeline-vars.less +13 -47
- package/components/timeline/timeline.css +1 -1
- package/components/timeline/timeline.less +2 -9
- package/components/toast/toast-class.js +2 -16
- package/components/toast/toast-rtl.css +1 -1
- package/components/toast/toast-vars.less +5 -9
- package/components/toast/toast.css +1 -1
- package/components/toast/toast.js +0 -3
- package/components/toast/toast.less +0 -3
- package/components/toggle/toggle-class.js +6 -30
- package/components/toggle/toggle-ios.less +5 -1
- package/components/toggle/toggle-md.less +27 -11
- package/components/toggle/toggle-rtl.css +1 -1
- package/components/toggle/toggle-vars.less +19 -21
- package/components/toggle/toggle.css +1 -1
- package/components/toggle/toggle.js +0 -8
- package/components/toggle/toggle.less +0 -4
- package/components/toolbar/toolbar-ios.less +2 -2
- package/components/toolbar/toolbar-md.less +28 -4
- package/components/toolbar/toolbar-vars.less +17 -52
- package/components/toolbar/toolbar.js +5 -43
- package/components/toolbar/toolbar.less +27 -45
- package/components/tooltip/tooltip-class.js +10 -64
- package/components/tooltip/tooltip-rtl.css +1 -1
- package/components/tooltip/tooltip-vars.less +12 -3
- package/components/tooltip/tooltip.css +1 -1
- package/components/tooltip/tooltip.js +0 -15
- package/components/tooltip/tooltip.less +0 -3
- package/components/touch-ripple/touch-ripple-class.js +0 -13
- package/components/touch-ripple/touch-ripple.js +0 -4
- package/components/touch-ripple/touch-ripple.less +1 -5
- package/components/treeview/treeview-rtl.css +1 -1
- package/components/treeview/treeview-vars.less +0 -3
- package/components/treeview/treeview.css +1 -1
- package/components/treeview/treeview.js +2 -11
- package/components/treeview/treeview.less +0 -3
- package/components/typography/typography-rtl.css +1 -1
- package/components/typography/typography.css +1 -1
- package/components/typography/typography.less +25 -3
- package/components/view/resizable-view.js +2 -24
- package/components/view/view-class.js +28 -53
- package/components/view/view.d.ts +0 -14
- package/components/view/view.js +8 -32
- package/components/view/view.less +1 -4
- package/components/virtual-list/virtual-list-class.js +58 -146
- package/components/virtual-list/virtual-list.d.ts +1 -1
- package/components/virtual-list/virtual-list.js +0 -2
- package/components/virtual-list/virtual-list.less +0 -3
- package/framework7-bundle-rtl.css +3064 -6057
- package/framework7-bundle-rtl.min.css +3 -3
- package/framework7-bundle.css +3063 -6059
- package/framework7-bundle.esm.js +4 -10
- package/framework7-bundle.js +6442 -12377
- package/framework7-bundle.js.map +1 -1
- package/framework7-bundle.less +2 -27
- package/framework7-bundle.min.css +3 -3
- package/framework7-bundle.min.js +3 -3
- package/framework7-bundle.min.js.map +1 -1
- package/framework7-lite-bundle.esm.js +4 -10
- package/framework7-lite.esm.js +4 -6
- package/framework7-rtl.css +803 -1591
- package/framework7-rtl.min.css +3 -3
- package/framework7-types.d.ts +1 -32
- package/framework7.css +803 -1594
- package/framework7.d.ts +1 -32
- package/framework7.esm.js +4 -6
- package/framework7.less +2 -23
- package/framework7.min.css +3 -3
- package/less/mixins.less +7 -88
- package/modules/clicks/clicks.js +10 -22
- package/modules/component/$h.js +0 -3
- package/modules/component/$jsx.js +0 -5
- package/modules/component/component-class.js +13 -66
- package/modules/component/component.d.ts +1 -2
- package/modules/component/component.js +0 -8
- package/modules/component/eventslisteners.js +12 -20
- package/modules/component/parse-component.js +18 -20
- package/modules/component/snabbdom/h.js +3 -12
- package/modules/component/snabbdom/helpers/attachto.js +9 -14
- package/modules/component/snabbdom/htmldomapi.js +0 -16
- package/modules/component/snabbdom/modules/attributes.js +7 -11
- package/modules/component/snabbdom/modules/class.js +4 -8
- package/modules/component/snabbdom/modules/dataset.js +3 -7
- package/modules/component/snabbdom/modules/eventlisteners.js +16 -22
- package/modules/component/snabbdom/modules/hero.js +4 -44
- package/modules/component/snabbdom/modules/props.js +5 -9
- package/modules/component/snabbdom/modules/style.js +13 -30
- package/modules/component/snabbdom/snabbdom.bundle.js +0 -6
- package/modules/component/snabbdom/snabbdom.js +13 -72
- package/modules/component/snabbdom/thunk.js +3 -11
- package/modules/component/snabbdom/tovnode.js +1 -6
- package/modules/component/vdom.js +4 -62
- package/modules/demo-module.js +0 -8
- package/modules/device/device.js +6 -11
- package/modules/history/history.js +0 -1
- package/modules/resize/resize.js +8 -11
- package/modules/router/async-component.js +0 -3
- package/modules/router/back.js +86 -275
- package/modules/router/clear-previous-history.js +5 -18
- package/modules/router/component-loader.js +4 -25
- package/modules/router/modal.js +16 -43
- package/modules/router/navigate.js +80 -250
- package/modules/router/process-route-queue.js +0 -12
- package/modules/router/redirect.js +0 -8
- package/modules/router/router-class.js +92 -315
- package/modules/router/router.d.ts +3 -5
- package/modules/router/router.js +0 -3
- package/modules/router/swipe-back.js +35 -139
- package/modules/router/tab.js +14 -43
- package/modules/service-worker/service-worker.js +0 -11
- package/modules/store/create-store.js +10 -29
- package/modules/touch/touch.d.ts +2 -4
- package/modules/touch/touch.js +13 -108
- package/package.json +3 -14
- package/shared/$jsx.js +0 -6
- package/shared/class.js +18 -43
- package/shared/constructor-methods.js +0 -11
- package/shared/events-class.js +0 -17
- package/shared/get-device.js +18 -34
- package/shared/get-support.js +2 -8
- package/shared/history.js +2 -30
- package/shared/material-color-utils.js +728 -0
- package/shared/material-colors.js +75 -0
- package/shared/modal-methods.js +0 -18
- package/shared/utils.d.ts +0 -4
- package/shared/utils.js +191 -71
- package/components/accordion/accordion-aurora.less +0 -2
- package/components/accordion/accordion.lazy.js +0 -1
- package/components/actions/actions-aurora.less +0 -9
- package/components/actions/actions.lazy.js +0 -1
- package/components/app/app-aurora.less +0 -10
- package/components/appbar/appbar-aurora.less +0 -2
- package/components/appbar/appbar-ios.less +0 -2
- package/components/appbar/appbar-md.less +0 -2
- package/components/appbar/appbar-rtl.css +0 -1
- package/components/appbar/appbar-vars.less +0 -28
- package/components/appbar/appbar.css +0 -1
- package/components/appbar/appbar.d.ts +0 -14
- package/components/appbar/appbar.js +0 -3
- package/components/appbar/appbar.lazy.js +0 -1
- package/components/appbar/appbar.less +0 -106
- package/components/area-chart/area-chart-aurora.less +0 -2
- package/components/area-chart/area-chart.lazy.js +0 -1
- package/components/autocomplete/autocomplete-aurora.less +0 -17
- package/components/autocomplete/autocomplete.lazy.js +0 -1
- package/components/badge/badge-aurora.less +0 -2
- package/components/block/block-aurora.less +0 -2
- package/components/breadcrumbs/breadcrumbs-aurora.less +0 -2
- package/components/breadcrumbs/breadcrumbs.lazy.js +0 -1
- package/components/button/button-aurora.less +0 -25
- package/components/calendar/calendar-aurora.less +0 -2
- package/components/calendar/calendar.lazy.js +0 -1
- package/components/card/card-aurora.less +0 -2
- package/components/card/card.lazy.js +0 -1
- package/components/checkbox/checkbox-aurora.less +0 -39
- package/components/checkbox/checkbox.lazy.js +0 -1
- package/components/chip/chip-aurora.less +0 -14
- package/components/chip/chip.lazy.js +0 -1
- package/components/color-picker/color-picker-aurora.less +0 -2
- package/components/color-picker/color-picker.lazy.js +0 -1
- package/components/contacts-list/contacts-list-aurora.less +0 -2
- package/components/contacts-list/contacts-list.lazy.js +0 -1
- package/components/data-table/data-table-aurora.less +0 -64
- package/components/data-table/data-table.lazy.js +0 -1
- package/components/dialog/dialog-aurora.less +0 -112
- package/components/dialog/dialog.lazy.js +0 -1
- package/components/elevation/elevation-aurora.less +0 -2
- package/components/elevation/elevation-ios.less +0 -2
- package/components/elevation/elevation-md.less +0 -2
- package/components/elevation/elevation-rtl.css +0 -1
- package/components/elevation/elevation-vars.less +0 -51
- package/components/elevation/elevation.css +0 -1
- package/components/elevation/elevation.d.ts +0 -14
- package/components/elevation/elevation.js +0 -3
- package/components/elevation/elevation.lazy.js +0 -1
- package/components/elevation/elevation.less +0 -54
- package/components/fab/fab-aurora.less +0 -2
- package/components/fab/fab.lazy.js +0 -1
- package/components/form/form-aurora.less +0 -0
- package/components/form/form.lazy.js +0 -1
- package/components/gauge/gauge-aurora.less +0 -2
- package/components/gauge/gauge.lazy.js +0 -1
- package/components/grid/grid-aurora.less +0 -2
- package/components/grid/grid.lazy.js +0 -1
- package/components/icon/icon-aurora.less +0 -49
- package/components/infinite-scroll/infinite-scroll-aurora.less +0 -6
- package/components/infinite-scroll/infinite-scroll.lazy.js +0 -1
- package/components/input/input-aurora.less +0 -120
- package/components/input/input.lazy.js +0 -1
- package/components/lazy/lazy-aurora.less +0 -2
- package/components/lazy/lazy-ios.less +0 -2
- package/components/lazy/lazy-md.less +0 -2
- package/components/lazy/lazy-rtl.css +0 -1
- package/components/lazy/lazy.css +0 -1
- package/components/lazy/lazy.d.ts +0 -57
- package/components/lazy/lazy.js +0 -283
- package/components/lazy/lazy.lazy.js +0 -1
- package/components/lazy/lazy.less +0 -23
- package/components/link/link-aurora.less +0 -15
- package/components/list/list-aurora.less +0 -25
- package/components/list-index/list-index-aurora.less +0 -21
- package/components/list-index/list-index.lazy.js +0 -1
- package/components/login-screen/login-screen-aurora.less +0 -2
- package/components/login-screen/login-screen.lazy.js +0 -1
- package/components/menu/menu-aurora.less +0 -8
- package/components/menu/menu-ios.less +0 -2
- package/components/menu/menu-md.less +0 -2
- package/components/menu/menu-rtl.css +0 -1
- package/components/menu/menu-vars.less +0 -27
- package/components/menu/menu.css +0 -1
- package/components/menu/menu.d.ts +0 -32
- package/components/menu/menu.js +0 -87
- package/components/menu/menu.lazy.js +0 -1
- package/components/menu/menu.less +0 -232
- package/components/messagebar/messagebar-aurora.less +0 -53
- package/components/messagebar/messagebar.lazy.js +0 -1
- package/components/messages/messages-aurora.less +0 -137
- package/components/messages/messages.lazy.js +0 -1
- package/components/navbar/navbar-aurora.less +0 -70
- package/components/notification/notification-aurora.less +0 -59
- package/components/notification/notification.lazy.js +0 -1
- package/components/page/page-aurora.less +0 -49
- package/components/panel/panel-aurora.less +0 -2
- package/components/panel/panel.lazy.js +0 -1
- package/components/photo-browser/photo-browser-aurora.less +0 -2
- package/components/photo-browser/photo-browser.lazy.js +0 -1
- package/components/picker/picker-aurora.less +0 -2
- package/components/picker/picker.lazy.js +0 -1
- package/components/pie-chart/pie-chart-aurora.less +0 -2
- package/components/pie-chart/pie-chart.lazy.js +0 -1
- package/components/popover/popover-aurora.less +0 -56
- package/components/popover/popover.lazy.js +0 -1
- package/components/popup/popup-aurora.less +0 -2
- package/components/popup/popup.lazy.js +0 -1
- package/components/preloader/preloader-aurora.less +0 -53
- package/components/preloader/preloader.lazy.js +0 -1
- package/components/progressbar/progressbar-aurora.less +0 -72
- package/components/progressbar/progressbar.lazy.js +0 -1
- package/components/pull-to-refresh/pull-to-refresh-aurora.less +0 -122
- package/components/pull-to-refresh/pull-to-refresh.lazy.js +0 -1
- package/components/radio/radio-aurora.less +0 -86
- package/components/radio/radio.lazy.js +0 -1
- package/components/range/range-aurora.less +0 -9
- package/components/range/range.lazy.js +0 -1
- package/components/searchbar/searchbar-aurora.less +0 -86
- package/components/searchbar/searchbar.lazy.js +0 -1
- package/components/sheet/sheet-aurora.less +0 -2
- package/components/sheet/sheet.lazy.js +0 -1
- package/components/skeleton/skeleton-aurora.less +0 -2
- package/components/skeleton/skeleton.lazy.js +0 -1
- package/components/smart-select/smart-select-aurora.less +0 -2
- package/components/smart-select/smart-select.lazy.js +0 -1
- package/components/sortable/sortable-aurora.less +0 -7
- package/components/sortable/sortable.lazy.js +0 -1
- package/components/statusbar/statusbar-aurora.less +0 -2
- package/components/stepper/stepper-aurora.less +0 -32
- package/components/stepper/stepper.lazy.js +0 -1
- package/components/subnavbar/subnavbar-aurora.less +0 -51
- package/components/swipeout/swipeout-aurora.less +0 -2
- package/components/swipeout/swipeout.lazy.js +0 -1
- package/components/swiper/swiper-aurora.less +0 -2
- package/components/swiper/swiper.lazy.js +0 -1
- package/components/tabs/tabs-aurora.less +0 -2
- package/components/tabs/tabs.lazy.js +0 -1
- package/components/text-editor/text-editor-aurora.less +0 -9
- package/components/text-editor/text-editor.lazy.js +0 -1
- package/components/timeline/timeline-aurora.less +0 -7
- package/components/timeline/timeline.lazy.js +0 -1
- package/components/toast/toast-aurora.less +0 -64
- package/components/toast/toast.lazy.js +0 -1
- package/components/toggle/toggle-aurora.less +0 -26
- package/components/toggle/toggle.lazy.js +0 -1
- package/components/toolbar/toolbar-aurora.less +0 -43
- package/components/tooltip/tooltip-aurora.less +0 -2
- package/components/tooltip/tooltip.lazy.js +0 -1
- package/components/touch-ripple/touch-ripple-aurora.less +0 -2
- package/components/treeview/treeview-aurora.less +0 -31
- package/components/treeview/treeview.lazy.js +0 -1
- package/components/typography/typography-aurora.less +0 -2
- package/components/typography/typography.lazy.js +0 -1
- package/components/view/view-aurora.less +0 -2
- package/components/virtual-list/virtual-list-aurora.less +0 -2
- package/components/virtual-list/virtual-list.lazy.js +0 -1
- package/framework7.js +0 -14715
- package/framework7.js.map +0 -1
- package/framework7.min.js +0 -14
- package/framework7.min.js.map +0 -1
- package/modules/request/request.d.ts +0 -15
- package/modules/request/request.js +0 -11
- package/shared/request.d.ts +0 -115
- package/shared/request.js +0 -512
|
@@ -2,27 +2,21 @@ import $ from '../../shared/dom7.js';
|
|
|
2
2
|
import { extend, deleteProps, id, nextTick } from '../../shared/utils.js';
|
|
3
3
|
import Framework7Class from '../../shared/class.js';
|
|
4
4
|
import removeDiacritics from '../searchbar/remove-diacritics.js';
|
|
5
|
-
/** @jsx $jsx */
|
|
6
5
|
|
|
6
|
+
/** @jsx $jsx */
|
|
7
7
|
import $jsx from '../../shared/$jsx.js';
|
|
8
|
-
|
|
9
8
|
class SmartSelect extends Framework7Class {
|
|
10
9
|
constructor(app, params) {
|
|
11
10
|
if (params === void 0) {
|
|
12
11
|
params = {};
|
|
13
12
|
}
|
|
14
|
-
|
|
15
13
|
super(params, [app]);
|
|
16
14
|
const ss = this;
|
|
17
15
|
const defaults = extend({
|
|
18
16
|
on: {}
|
|
19
17
|
}, app.params.smartSelect);
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
defaults.searchbarDisableButton = app.theme !== 'aurora';
|
|
23
|
-
} // Extend defaults with modules params
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
// Extend defaults with modules params
|
|
26
20
|
ss.useModulesParams(defaults);
|
|
27
21
|
ss.params = extend({}, defaults, params);
|
|
28
22
|
ss.app = app;
|
|
@@ -32,27 +26,22 @@ class SmartSelect extends Framework7Class {
|
|
|
32
26
|
const $selectEl = $el.find('select').eq(0);
|
|
33
27
|
if ($selectEl.length === 0) return ss;
|
|
34
28
|
let $valueEl;
|
|
35
|
-
|
|
36
29
|
if (ss.params.setValueText) {
|
|
37
30
|
$valueEl = $(ss.params.valueEl);
|
|
38
|
-
|
|
39
31
|
if ($valueEl.length === 0) {
|
|
40
32
|
$valueEl = $el.find('.item-after');
|
|
41
33
|
}
|
|
42
|
-
|
|
43
34
|
if ($valueEl.length === 0) {
|
|
44
35
|
$valueEl = $('<div class="item-after"></div>');
|
|
45
36
|
$valueEl.insertAfter($el.find('.item-title'));
|
|
46
37
|
}
|
|
47
|
-
}
|
|
48
|
-
|
|
38
|
+
}
|
|
49
39
|
|
|
40
|
+
// Url
|
|
50
41
|
let url = params.url;
|
|
51
|
-
|
|
52
42
|
if (!url) {
|
|
53
43
|
if ($el.attr('href') && $el.attr('href') !== '#') url = $el.attr('href');else if ($selectEl.attr('name')) url = `${$selectEl.attr('name').toLowerCase()}-select/`;
|
|
54
44
|
}
|
|
55
|
-
|
|
56
45
|
if (!url) url = ss.params.url;
|
|
57
46
|
const multiple = $selectEl[0].multiple;
|
|
58
47
|
const inputType = multiple ? 'checkbox' : 'radio';
|
|
@@ -72,34 +61,29 @@ class SmartSelect extends Framework7Class {
|
|
|
72
61
|
selectName: $selectEl.attr('name'),
|
|
73
62
|
maxLength: $selectEl.attr('maxlength') || params.maxLength
|
|
74
63
|
});
|
|
75
|
-
$el[0].f7SmartSelect = ss;
|
|
64
|
+
$el[0].f7SmartSelect = ss;
|
|
76
65
|
|
|
66
|
+
// Events
|
|
77
67
|
function onClick() {
|
|
78
68
|
ss.open();
|
|
79
69
|
}
|
|
80
|
-
|
|
81
70
|
function onChange() {
|
|
82
71
|
const value = ss.$selectEl.val();
|
|
83
72
|
ss.$el.trigger('smartselect:change', value);
|
|
84
73
|
ss.emit('local::change smartSelectChange', ss, value);
|
|
85
|
-
|
|
86
74
|
if (ss.vl) {
|
|
87
75
|
ss.vl.clearCache();
|
|
88
76
|
}
|
|
89
|
-
|
|
90
77
|
ss.setValueText();
|
|
91
78
|
}
|
|
92
|
-
|
|
93
79
|
ss.attachEvents = function attachEvents() {
|
|
94
80
|
$el.on('click', onClick);
|
|
95
81
|
$el.on('change', 'select', onChange);
|
|
96
82
|
};
|
|
97
|
-
|
|
98
83
|
ss.detachEvents = function detachEvents() {
|
|
99
84
|
$el.off('click', onClick);
|
|
100
85
|
$el.off('change', 'select', onChange);
|
|
101
86
|
};
|
|
102
|
-
|
|
103
87
|
function handleInputChange() {
|
|
104
88
|
let optionEl;
|
|
105
89
|
let text;
|
|
@@ -107,64 +91,53 @@ class SmartSelect extends Framework7Class {
|
|
|
107
91
|
const value = inputEl.value;
|
|
108
92
|
let optionText = [];
|
|
109
93
|
let displayAs;
|
|
110
|
-
|
|
111
94
|
if (inputEl.type === 'checkbox') {
|
|
112
95
|
for (let i = 0; i < ss.selectEl.options.length; i += 1) {
|
|
113
96
|
optionEl = ss.selectEl.options[i];
|
|
114
|
-
|
|
115
97
|
if (optionEl.value === value) {
|
|
116
98
|
optionEl.selected = inputEl.checked;
|
|
117
99
|
}
|
|
118
|
-
|
|
119
100
|
if (optionEl.selected) {
|
|
120
101
|
displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $(optionEl).data('display-value-as');
|
|
121
102
|
text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;
|
|
122
103
|
optionText.push(text.trim());
|
|
123
104
|
}
|
|
124
105
|
}
|
|
125
|
-
|
|
126
106
|
if (ss.maxLength) {
|
|
127
107
|
ss.checkMaxLength();
|
|
128
108
|
}
|
|
129
109
|
} else {
|
|
130
110
|
optionEl = ss.$selectEl.find(`option[value="${value}"]`)[0];
|
|
131
|
-
|
|
132
111
|
if (!optionEl) {
|
|
133
112
|
optionEl = ss.$selectEl.find('option').filter(optEl => optEl.value === value)[0];
|
|
134
113
|
}
|
|
135
|
-
|
|
136
114
|
displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $(optionEl).data('display-as');
|
|
137
115
|
text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;
|
|
138
116
|
optionText = [text];
|
|
139
117
|
ss.selectEl.value = value;
|
|
140
118
|
}
|
|
141
|
-
|
|
142
119
|
ss.$selectEl.trigger('change');
|
|
143
|
-
|
|
144
120
|
if (ss.params.setValueText) {
|
|
145
121
|
ss.formatValueTextContent(optionText);
|
|
146
122
|
}
|
|
147
|
-
|
|
148
123
|
if (ss.params.closeOnSelect && ss.inputType === 'radio') {
|
|
149
124
|
ss.close();
|
|
150
125
|
}
|
|
151
126
|
}
|
|
152
|
-
|
|
153
127
|
ss.attachInputsEvents = function attachInputsEvents() {
|
|
154
128
|
ss.$containerEl.on('change', 'input[type="checkbox"], input[type="radio"]', handleInputChange);
|
|
155
129
|
};
|
|
156
|
-
|
|
157
130
|
ss.detachInputsEvents = function detachInputsEvents() {
|
|
158
131
|
ss.$containerEl.off('change', 'input[type="checkbox"], input[type="radio"]', handleInputChange);
|
|
159
|
-
};
|
|
160
|
-
|
|
132
|
+
};
|
|
161
133
|
|
|
162
|
-
|
|
134
|
+
// Install Modules
|
|
135
|
+
ss.useModules();
|
|
163
136
|
|
|
137
|
+
// Init
|
|
164
138
|
ss.init();
|
|
165
139
|
return ss;
|
|
166
140
|
}
|
|
167
|
-
|
|
168
141
|
setValue(value) {
|
|
169
142
|
const ss = this;
|
|
170
143
|
let newValue = value;
|
|
@@ -172,19 +145,15 @@ class SmartSelect extends Framework7Class {
|
|
|
172
145
|
let optionEl;
|
|
173
146
|
let displayAs;
|
|
174
147
|
let text;
|
|
175
|
-
|
|
176
148
|
if (ss.multiple) {
|
|
177
149
|
if (!Array.isArray(newValue)) newValue = [newValue];
|
|
178
|
-
|
|
179
150
|
for (let i = 0; i < ss.selectEl.options.length; i += 1) {
|
|
180
151
|
optionEl = ss.selectEl.options[i];
|
|
181
|
-
|
|
182
152
|
if (newValue.indexOf(optionEl.value) >= 0) {
|
|
183
153
|
optionEl.selected = true;
|
|
184
154
|
} else {
|
|
185
155
|
optionEl.selected = false;
|
|
186
156
|
}
|
|
187
|
-
|
|
188
157
|
if (optionEl.selected) {
|
|
189
158
|
displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $(optionEl).data('display-value-as');
|
|
190
159
|
text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;
|
|
@@ -193,75 +162,58 @@ class SmartSelect extends Framework7Class {
|
|
|
193
162
|
}
|
|
194
163
|
} else {
|
|
195
164
|
optionEl = ss.$selectEl.find(`option[value="${newValue}"]`)[0];
|
|
196
|
-
|
|
197
165
|
if (optionEl) {
|
|
198
166
|
displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $(optionEl).data('display-as');
|
|
199
167
|
text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;
|
|
200
168
|
optionText = [text];
|
|
201
169
|
}
|
|
202
|
-
|
|
203
170
|
ss.selectEl.value = newValue;
|
|
204
171
|
}
|
|
205
|
-
|
|
206
172
|
if (ss.params.setValueText) {
|
|
207
173
|
ss.formatValueTextContent(optionText);
|
|
208
174
|
}
|
|
209
|
-
|
|
210
175
|
ss.$selectEl.trigger('change');
|
|
211
176
|
return ss;
|
|
212
177
|
}
|
|
213
|
-
|
|
214
178
|
unsetValue() {
|
|
215
179
|
const ss = this;
|
|
216
|
-
|
|
217
180
|
if (ss.params.setValueText) {
|
|
218
181
|
ss.formatValueTextContent([]);
|
|
219
182
|
}
|
|
220
|
-
|
|
221
183
|
ss.$selectEl.find('option').each(optionEl => {
|
|
222
184
|
optionEl.selected = false;
|
|
223
185
|
optionEl.checked = false;
|
|
224
186
|
});
|
|
225
187
|
ss.$selectEl[0].value = null;
|
|
226
|
-
|
|
227
188
|
if (ss.$containerEl) {
|
|
228
189
|
ss.$containerEl.find(`input[name="${ss.inputName}"][type="checkbox"], input[name="${ss.inputName}"][type="radio"]`).prop('checked', false);
|
|
229
190
|
}
|
|
230
|
-
|
|
231
191
|
ss.$selectEl.trigger('change');
|
|
232
192
|
}
|
|
233
|
-
|
|
234
193
|
getValue() {
|
|
235
194
|
const ss = this;
|
|
236
195
|
return ss.$selectEl.val();
|
|
237
196
|
}
|
|
238
|
-
|
|
239
197
|
get view() {
|
|
240
198
|
const {
|
|
241
199
|
params,
|
|
242
200
|
$el
|
|
243
201
|
} = this;
|
|
244
202
|
let view;
|
|
245
|
-
|
|
246
203
|
if (params.view) {
|
|
247
204
|
view = params.view;
|
|
248
205
|
}
|
|
249
|
-
|
|
250
206
|
if (!view) {
|
|
251
207
|
view = $el.parents('.view').length && $el.parents('.view')[0].f7View;
|
|
252
208
|
}
|
|
253
|
-
|
|
254
209
|
if (!view && params.openIn === 'page') {
|
|
255
210
|
throw Error('Smart Select requires initialized View');
|
|
256
211
|
}
|
|
257
|
-
|
|
258
212
|
return view;
|
|
259
213
|
}
|
|
260
|
-
|
|
261
214
|
checkMaxLength() {
|
|
262
215
|
const ss = this;
|
|
263
216
|
const $containerEl = ss.$containerEl;
|
|
264
|
-
|
|
265
217
|
if (ss.selectEl.selectedOptions.length >= ss.maxLength) {
|
|
266
218
|
$containerEl.find('input[type="checkbox"]').each(inputEl => {
|
|
267
219
|
if (!inputEl.checked) {
|
|
@@ -274,35 +226,28 @@ class SmartSelect extends Framework7Class {
|
|
|
274
226
|
$containerEl.find('.disabled').removeClass('disabled');
|
|
275
227
|
}
|
|
276
228
|
}
|
|
277
|
-
|
|
278
229
|
formatValueTextContent(values) {
|
|
279
230
|
const ss = this;
|
|
280
231
|
const valueFormatted = ss.formatValueText(values);
|
|
281
|
-
|
|
282
232
|
if (valueFormatted.includes('<') && valueFormatted.includes('>')) {
|
|
283
233
|
ss.$valueEl.html(valueFormatted);
|
|
284
234
|
} else {
|
|
285
235
|
ss.$valueEl.text(valueFormatted);
|
|
286
236
|
}
|
|
287
237
|
}
|
|
288
|
-
|
|
289
238
|
formatValueText(values) {
|
|
290
239
|
const ss = this;
|
|
291
240
|
let textValue;
|
|
292
|
-
|
|
293
241
|
if (ss.params.formatValueText) {
|
|
294
242
|
textValue = ss.params.formatValueText.call(ss, values, ss);
|
|
295
243
|
} else {
|
|
296
244
|
textValue = values.join(', ');
|
|
297
245
|
}
|
|
298
|
-
|
|
299
246
|
return textValue;
|
|
300
247
|
}
|
|
301
|
-
|
|
302
248
|
setValueText(value) {
|
|
303
249
|
const ss = this;
|
|
304
250
|
let valueArray = [];
|
|
305
|
-
|
|
306
251
|
if (typeof value !== 'undefined') {
|
|
307
252
|
if (Array.isArray(value)) {
|
|
308
253
|
valueArray = value;
|
|
@@ -312,10 +257,8 @@ class SmartSelect extends Framework7Class {
|
|
|
312
257
|
} else {
|
|
313
258
|
ss.$selectEl.find('option').each(optionEl => {
|
|
314
259
|
const $optionEl = $(optionEl);
|
|
315
|
-
|
|
316
260
|
if (optionEl.selected) {
|
|
317
261
|
const displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $optionEl.data('display-value-as');
|
|
318
|
-
|
|
319
262
|
if (displayAs && typeof displayAs !== 'undefined') {
|
|
320
263
|
valueArray.push(displayAs);
|
|
321
264
|
} else {
|
|
@@ -324,12 +267,10 @@ class SmartSelect extends Framework7Class {
|
|
|
324
267
|
}
|
|
325
268
|
});
|
|
326
269
|
}
|
|
327
|
-
|
|
328
270
|
if (ss.params.setValueText) {
|
|
329
271
|
ss.formatValueTextContent(valueArray);
|
|
330
272
|
}
|
|
331
273
|
}
|
|
332
|
-
|
|
333
274
|
getItemsData() {
|
|
334
275
|
const ss = this;
|
|
335
276
|
const theme = ss.app.theme;
|
|
@@ -342,15 +283,14 @@ class SmartSelect extends Framework7Class {
|
|
|
342
283
|
const optionIcon = optionData.optionIcon || ss.params.optionIcon;
|
|
343
284
|
const optionIconIos = theme === 'ios' && (optionData.optionIconIos || ss.params.optionIconIos);
|
|
344
285
|
const optionIconMd = theme === 'md' && (optionData.optionIconMd || ss.params.optionIconMd);
|
|
345
|
-
const
|
|
346
|
-
const optionHasMedia = optionImage || optionIcon || optionIconIos || optionIconMd
|
|
286
|
+
const optionInputIconPosition = optionData.inputIconPosition || ss.params.inputIconPosition || '';
|
|
287
|
+
const optionHasMedia = optionImage || optionIcon || optionIconIos || optionIconMd;
|
|
347
288
|
const optionColor = optionData.optionColor;
|
|
348
289
|
let optionClassName = optionData.optionClass || '';
|
|
349
290
|
if ($optionEl[0].disabled) optionClassName += ' disabled';
|
|
350
291
|
const optionGroupEl = $optionEl.parent('optgroup')[0];
|
|
351
292
|
const optionGroupLabel = optionGroupEl && optionGroupEl.label;
|
|
352
293
|
let optionIsLabel = false;
|
|
353
|
-
|
|
354
294
|
if (optionGroupEl && optionGroupEl !== previousGroupEl) {
|
|
355
295
|
optionIsLabel = true;
|
|
356
296
|
previousGroupEl = optionGroupEl;
|
|
@@ -359,7 +299,6 @@ class SmartSelect extends Framework7Class {
|
|
|
359
299
|
isLabel: optionIsLabel
|
|
360
300
|
});
|
|
361
301
|
}
|
|
362
|
-
|
|
363
302
|
items.push({
|
|
364
303
|
value: $optionEl[0].value,
|
|
365
304
|
text: $optionEl[0].textContent.trim(),
|
|
@@ -370,7 +309,7 @@ class SmartSelect extends Framework7Class {
|
|
|
370
309
|
icon: optionIcon,
|
|
371
310
|
iconIos: optionIconIos,
|
|
372
311
|
iconMd: optionIconMd,
|
|
373
|
-
|
|
312
|
+
inputIconPosition: optionInputIconPosition,
|
|
374
313
|
color: optionColor,
|
|
375
314
|
className: optionClassName,
|
|
376
315
|
disabled: $optionEl[0].disabled,
|
|
@@ -385,7 +324,6 @@ class SmartSelect extends Framework7Class {
|
|
|
385
324
|
ss.items = items;
|
|
386
325
|
return items;
|
|
387
326
|
}
|
|
388
|
-
|
|
389
327
|
renderSearchbar() {
|
|
390
328
|
const ss = this;
|
|
391
329
|
if (ss.params.renderSearchbar) return ss.params.renderSearchbar.call(ss);
|
|
@@ -407,68 +345,55 @@ class SmartSelect extends Framework7Class {
|
|
|
407
345
|
class: "searchbar-disable-button"
|
|
408
346
|
}, ss.params.searchbarDisableText)));
|
|
409
347
|
}
|
|
410
|
-
|
|
411
348
|
renderItem(item, index) {
|
|
412
349
|
const ss = this;
|
|
413
350
|
if (ss.params.renderItem) return ss.params.renderItem.call(ss, item, index);
|
|
414
|
-
|
|
415
351
|
function getIconContent(iconValue) {
|
|
416
352
|
if (iconValue === void 0) {
|
|
417
353
|
iconValue = '';
|
|
418
354
|
}
|
|
419
|
-
|
|
420
355
|
if (iconValue.indexOf(':') >= 0) {
|
|
421
356
|
return iconValue.split(':')[1];
|
|
422
357
|
}
|
|
423
|
-
|
|
424
358
|
return '';
|
|
425
359
|
}
|
|
426
|
-
|
|
427
360
|
function getIconClass(iconValue) {
|
|
428
361
|
if (iconValue === void 0) {
|
|
429
362
|
iconValue = '';
|
|
430
363
|
}
|
|
431
|
-
|
|
432
364
|
if (iconValue.indexOf(':') >= 0) {
|
|
433
365
|
let className = iconValue.split(':')[0];
|
|
434
366
|
if (className === 'f7') className = 'f7-icons';
|
|
435
367
|
if (className === 'material') className = 'material-icons';
|
|
436
368
|
return className;
|
|
437
369
|
}
|
|
438
|
-
|
|
439
370
|
return iconValue;
|
|
440
371
|
}
|
|
441
|
-
|
|
442
372
|
let itemHtml;
|
|
443
|
-
|
|
444
373
|
if (item.isLabel) {
|
|
445
|
-
itemHtml = `<li class="
|
|
374
|
+
itemHtml = `<li class="list-group-title">${item.groupLabel}</li>`;
|
|
446
375
|
} else {
|
|
447
376
|
let selected = item.selected;
|
|
448
377
|
let disabled;
|
|
449
|
-
|
|
450
378
|
if (ss.params.virtualList) {
|
|
451
379
|
const ssValue = ss.getValue();
|
|
452
380
|
selected = ss.multiple ? ssValue.indexOf(item.value) >= 0 : ssValue === item.value;
|
|
453
|
-
|
|
454
381
|
if (ss.multiple) {
|
|
455
382
|
disabled = ss.multiple && !selected && ssValue.length === parseInt(ss.maxLength, 10);
|
|
456
383
|
}
|
|
457
384
|
}
|
|
458
|
-
|
|
459
385
|
const {
|
|
460
386
|
icon,
|
|
461
387
|
iconIos,
|
|
462
|
-
iconMd
|
|
463
|
-
iconAurora
|
|
388
|
+
iconMd
|
|
464
389
|
} = item;
|
|
465
|
-
const hasIcon = icon || iconIos || iconMd
|
|
466
|
-
const iconContent = getIconContent(icon || iconIos || iconMd ||
|
|
467
|
-
const iconClass = getIconClass(icon || iconIos || iconMd ||
|
|
390
|
+
const hasIcon = icon || iconIos || iconMd;
|
|
391
|
+
const iconContent = getIconContent(icon || iconIos || iconMd || '');
|
|
392
|
+
const iconClass = getIconClass(icon || iconIos || iconMd || '');
|
|
468
393
|
itemHtml = $jsx("li", {
|
|
469
394
|
class: `${item.className || ''}${disabled ? ' disabled' : ''}`
|
|
470
395
|
}, $jsx("label", {
|
|
471
|
-
class: `item-${item.inputType} item-content`
|
|
396
|
+
class: `item-${item.inputType} ${item.inputIconPosition ? `item-${item.inputType}-icon-${item.inputIconPosition}` : ''} item-content`
|
|
472
397
|
}, $jsx("input", {
|
|
473
398
|
type: item.inputType,
|
|
474
399
|
name: item.inputName,
|
|
@@ -488,10 +413,8 @@ class SmartSelect extends Framework7Class {
|
|
|
488
413
|
class: `item-title${item.color ? ` text-color-${item.color}` : ''}`
|
|
489
414
|
}, item.text))));
|
|
490
415
|
}
|
|
491
|
-
|
|
492
416
|
return itemHtml;
|
|
493
417
|
}
|
|
494
|
-
|
|
495
418
|
renderItems() {
|
|
496
419
|
const ss = this;
|
|
497
420
|
if (ss.params.renderItems) return ss.params.renderItems.call(ss, ss.items);
|
|
@@ -500,17 +423,14 @@ class SmartSelect extends Framework7Class {
|
|
|
500
423
|
`;
|
|
501
424
|
return itemsHtml;
|
|
502
425
|
}
|
|
503
|
-
|
|
504
426
|
renderPage() {
|
|
505
427
|
const ss = this;
|
|
506
428
|
if (ss.params.renderPage) return ss.params.renderPage.call(ss, ss.items);
|
|
507
429
|
let pageTitle = ss.params.pageTitle;
|
|
508
|
-
|
|
509
430
|
if (typeof pageTitle === 'undefined') {
|
|
510
431
|
const $itemTitleEl = ss.$el.find('.item-title');
|
|
511
432
|
pageTitle = $itemTitleEl.length ? $itemTitleEl.text().trim() : '';
|
|
512
433
|
}
|
|
513
|
-
|
|
514
434
|
const cssClass = ss.params.cssClass;
|
|
515
435
|
return $jsx("div", {
|
|
516
436
|
class: `page smart-select-page ${cssClass}`,
|
|
@@ -542,17 +462,14 @@ class SmartSelect extends Framework7Class {
|
|
|
542
462
|
class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
|
|
543
463
|
}, $jsx("ul", null, !ss.params.virtualList && ss.renderItems(ss.items)))));
|
|
544
464
|
}
|
|
545
|
-
|
|
546
465
|
renderPopup() {
|
|
547
466
|
const ss = this;
|
|
548
467
|
if (ss.params.renderPopup) return ss.params.renderPopup.call(ss, ss.items);
|
|
549
468
|
let pageTitle = ss.params.pageTitle;
|
|
550
|
-
|
|
551
469
|
if (typeof pageTitle === 'undefined') {
|
|
552
470
|
const $itemTitleEl = ss.$el.find('.item-title');
|
|
553
471
|
pageTitle = $itemTitleEl.length ? $itemTitleEl.text().trim() : '';
|
|
554
472
|
}
|
|
555
|
-
|
|
556
473
|
const cssClass = ss.params.cssClass || '';
|
|
557
474
|
return $jsx("div", {
|
|
558
475
|
class: `popup smart-select-popup ${cssClass} ${ss.params.popupTabletFullscreen ? 'popup-tablet-fullscreen' : ''}`,
|
|
@@ -585,12 +502,11 @@ class SmartSelect extends Framework7Class {
|
|
|
585
502
|
class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
|
|
586
503
|
}, $jsx("ul", null, !ss.params.virtualList && ss.renderItems(ss.items)))))));
|
|
587
504
|
}
|
|
588
|
-
|
|
589
505
|
renderSheet() {
|
|
590
506
|
const ss = this;
|
|
591
507
|
if (ss.params.renderSheet) return ss.params.renderSheet.call(ss, ss.items);
|
|
592
|
-
const cssClass = ss.params.cssClass;
|
|
593
|
-
|
|
508
|
+
const cssClass = ss.params.cssClass;
|
|
509
|
+
// prettier-ignore
|
|
594
510
|
return $jsx("div", {
|
|
595
511
|
class: `sheet-modal smart-select-sheet ${cssClass}`,
|
|
596
512
|
"data-select-name": ss.selectName
|
|
@@ -612,12 +528,11 @@ class SmartSelect extends Framework7Class {
|
|
|
612
528
|
class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
|
|
613
529
|
}, $jsx("ul", null, !ss.params.virtualList && ss.renderItems(ss.items))))));
|
|
614
530
|
}
|
|
615
|
-
|
|
616
531
|
renderPopover() {
|
|
617
532
|
const ss = this;
|
|
618
533
|
if (ss.params.renderPopover) return ss.params.renderPopover.call(ss, ss.items);
|
|
619
|
-
const cssClass = ss.params.cssClass;
|
|
620
|
-
|
|
534
|
+
const cssClass = ss.params.cssClass;
|
|
535
|
+
// prettier-ignore
|
|
621
536
|
return $jsx("div", {
|
|
622
537
|
class: `popover smart-select-popover ${cssClass}`,
|
|
623
538
|
"data-select-name": ss.selectName
|
|
@@ -627,7 +542,6 @@ class SmartSelect extends Framework7Class {
|
|
|
627
542
|
class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
|
|
628
543
|
}, $jsx("ul", null, !ss.params.virtualList && ss.renderItems(ss.items)))));
|
|
629
544
|
}
|
|
630
|
-
|
|
631
545
|
scrollToSelectedItem() {
|
|
632
546
|
const ss = this;
|
|
633
547
|
const {
|
|
@@ -635,7 +549,6 @@ class SmartSelect extends Framework7Class {
|
|
|
635
549
|
$containerEl
|
|
636
550
|
} = ss;
|
|
637
551
|
if (!ss.opened) return ss;
|
|
638
|
-
|
|
639
552
|
if (params.virtualList) {
|
|
640
553
|
let selectedIndex;
|
|
641
554
|
ss.vl.items.forEach((item, index) => {
|
|
@@ -643,7 +556,6 @@ class SmartSelect extends Framework7Class {
|
|
|
643
556
|
selectedIndex = index;
|
|
644
557
|
}
|
|
645
558
|
});
|
|
646
|
-
|
|
647
559
|
if (typeof selectedIndex !== 'undefined') {
|
|
648
560
|
ss.vl.scrollToItem(selectedIndex);
|
|
649
561
|
}
|
|
@@ -654,48 +566,41 @@ class SmartSelect extends Framework7Class {
|
|
|
654
566
|
if (!$scrollableEl.length) return ss;
|
|
655
567
|
$scrollableEl.scrollTop($selectedItemEl.offset().top - $scrollableEl.offset().top - parseInt($scrollableEl.css('padding-top'), 10));
|
|
656
568
|
}
|
|
657
|
-
|
|
658
569
|
return ss;
|
|
659
570
|
}
|
|
660
|
-
|
|
661
571
|
onOpen(type, containerEl) {
|
|
662
572
|
const ss = this;
|
|
663
573
|
const app = ss.app;
|
|
664
574
|
const $containerEl = $(containerEl);
|
|
665
575
|
ss.$containerEl = $containerEl;
|
|
666
576
|
ss.openedIn = type;
|
|
667
|
-
ss.opened = true;
|
|
577
|
+
ss.opened = true;
|
|
668
578
|
|
|
579
|
+
// Init VL
|
|
669
580
|
if (ss.params.virtualList) {
|
|
670
581
|
ss.vl = app.virtualList.create({
|
|
671
582
|
el: $containerEl.find('.virtual-list'),
|
|
672
583
|
items: ss.items,
|
|
673
584
|
renderItem: ss.renderItem.bind(ss),
|
|
674
585
|
height: ss.params.virtualListHeight,
|
|
675
|
-
|
|
676
586
|
searchByItem(query, item) {
|
|
677
587
|
if (item.text && removeDiacritics(item.text).toLowerCase().indexOf(query.trim().toLowerCase()) >= 0) return true;
|
|
678
588
|
return false;
|
|
679
589
|
}
|
|
680
|
-
|
|
681
590
|
});
|
|
682
591
|
}
|
|
683
|
-
|
|
684
592
|
if (ss.params.scrollToSelectedItem) {
|
|
685
593
|
ss.scrollToSelectedItem();
|
|
686
|
-
}
|
|
687
|
-
|
|
594
|
+
}
|
|
688
595
|
|
|
596
|
+
// Init SB
|
|
689
597
|
if (ss.params.searchbar) {
|
|
690
598
|
let $searchbarEl = $containerEl.find('.searchbar');
|
|
691
|
-
|
|
692
599
|
if (type === 'page' && app.theme === 'ios') {
|
|
693
600
|
$searchbarEl = $(app.navbar.getElByPage($containerEl)).find('.searchbar');
|
|
694
601
|
}
|
|
695
|
-
|
|
696
602
|
if (ss.params.appendSearchbarNotFound && (type === 'page' || type === 'popup')) {
|
|
697
603
|
let $notFoundEl = null;
|
|
698
|
-
|
|
699
604
|
if (typeof ss.params.appendSearchbarNotFound === 'string') {
|
|
700
605
|
$notFoundEl = $(`<div class="block searchbar-not-found">${ss.params.appendSearchbarNotFound}</div>`);
|
|
701
606
|
} else if (typeof ss.params.appendSearchbarNotFound === 'boolean') {
|
|
@@ -703,12 +608,10 @@ class SmartSelect extends Framework7Class {
|
|
|
703
608
|
} else {
|
|
704
609
|
$notFoundEl = ss.params.appendSearchbarNotFound;
|
|
705
610
|
}
|
|
706
|
-
|
|
707
611
|
if ($notFoundEl) {
|
|
708
612
|
$containerEl.find('.page-content').append($notFoundEl[0]);
|
|
709
613
|
}
|
|
710
614
|
}
|
|
711
|
-
|
|
712
615
|
const searchbarParams = extend({
|
|
713
616
|
el: $searchbarEl,
|
|
714
617
|
backdropEl: $containerEl.find('.searchbar-backdrop'),
|
|
@@ -716,55 +619,52 @@ class SmartSelect extends Framework7Class {
|
|
|
716
619
|
searchIn: '.item-title'
|
|
717
620
|
}, typeof ss.params.searchbar === 'object' ? ss.params.searchbar : {});
|
|
718
621
|
ss.searchbar = app.searchbar.create(searchbarParams);
|
|
719
|
-
}
|
|
720
|
-
|
|
622
|
+
}
|
|
721
623
|
|
|
624
|
+
// Check for max length
|
|
722
625
|
if (ss.maxLength) {
|
|
723
626
|
ss.checkMaxLength();
|
|
724
|
-
}
|
|
725
|
-
|
|
627
|
+
}
|
|
726
628
|
|
|
629
|
+
// Close on select
|
|
727
630
|
if (ss.params.closeOnSelect) {
|
|
728
631
|
ss.$containerEl.find(`input[type="radio"][name="${ss.inputName}"]:checked`).parents('label').once('click', () => {
|
|
729
632
|
ss.close();
|
|
730
633
|
});
|
|
731
|
-
}
|
|
732
|
-
|
|
634
|
+
}
|
|
733
635
|
|
|
636
|
+
// Attach input events
|
|
734
637
|
ss.attachInputsEvents();
|
|
735
638
|
ss.$el.trigger('smartselect:open');
|
|
736
639
|
ss.emit('local::open smartSelectOpen', ss);
|
|
737
640
|
}
|
|
738
|
-
|
|
739
641
|
onOpened() {
|
|
740
642
|
const ss = this;
|
|
741
643
|
ss.$el.trigger('smartselect:opened');
|
|
742
644
|
ss.emit('local::opened smartSelectOpened', ss);
|
|
743
645
|
}
|
|
744
|
-
|
|
745
646
|
onClose() {
|
|
746
647
|
const ss = this;
|
|
747
|
-
if (ss.destroyed) return;
|
|
648
|
+
if (ss.destroyed) return;
|
|
748
649
|
|
|
650
|
+
// Destroy VL
|
|
749
651
|
if (ss.vl && ss.vl.destroy) {
|
|
750
652
|
ss.vl.destroy();
|
|
751
653
|
ss.vl = null;
|
|
752
654
|
delete ss.vl;
|
|
753
|
-
}
|
|
754
|
-
|
|
655
|
+
}
|
|
755
656
|
|
|
657
|
+
// Destroy SB
|
|
756
658
|
if (ss.searchbar && ss.searchbar.destroy) {
|
|
757
659
|
ss.searchbar.destroy();
|
|
758
660
|
ss.searchbar = null;
|
|
759
661
|
delete ss.searchbar;
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
|
|
662
|
+
}
|
|
663
|
+
// Detach events
|
|
763
664
|
ss.detachInputsEvents();
|
|
764
665
|
ss.$el.trigger('smartselect:close');
|
|
765
666
|
ss.emit('local::close smartSelectClose', ss);
|
|
766
667
|
}
|
|
767
|
-
|
|
768
668
|
onClosed() {
|
|
769
669
|
const ss = this;
|
|
770
670
|
if (ss.destroyed) return;
|
|
@@ -774,7 +674,6 @@ class SmartSelect extends Framework7Class {
|
|
|
774
674
|
ss.$el.trigger('smartselect:closed');
|
|
775
675
|
ss.emit('local::closed smartSelectClosed', ss);
|
|
776
676
|
}
|
|
777
|
-
|
|
778
677
|
openPage() {
|
|
779
678
|
const ss = this;
|
|
780
679
|
if (ss.opened) return ss;
|
|
@@ -789,25 +688,20 @@ class SmartSelect extends Framework7Class {
|
|
|
789
688
|
pageBeforeIn(e, page) {
|
|
790
689
|
ss.onOpen('page', page.el);
|
|
791
690
|
},
|
|
792
|
-
|
|
793
691
|
pageAfterIn(e, page) {
|
|
794
692
|
ss.onOpened('page', page.el);
|
|
795
693
|
},
|
|
796
|
-
|
|
797
694
|
pageBeforeOut(e, page) {
|
|
798
695
|
ss.onClose('page', page.el);
|
|
799
696
|
},
|
|
800
|
-
|
|
801
697
|
pageAfterOut(e, page) {
|
|
802
698
|
ss.onClosed('page', page.el);
|
|
803
699
|
}
|
|
804
|
-
|
|
805
700
|
}
|
|
806
701
|
}
|
|
807
702
|
});
|
|
808
703
|
return ss;
|
|
809
704
|
}
|
|
810
|
-
|
|
811
705
|
openPopup() {
|
|
812
706
|
const ss = this;
|
|
813
707
|
if (ss.opened) return ss;
|
|
@@ -822,22 +716,17 @@ class SmartSelect extends Framework7Class {
|
|
|
822
716
|
popupOpen(popup) {
|
|
823
717
|
ss.onOpen('popup', popup.el);
|
|
824
718
|
},
|
|
825
|
-
|
|
826
719
|
popupOpened(popup) {
|
|
827
720
|
ss.onOpened('popup', popup.el);
|
|
828
721
|
},
|
|
829
|
-
|
|
830
722
|
popupClose(popup) {
|
|
831
723
|
ss.onClose('popup', popup.el);
|
|
832
724
|
},
|
|
833
|
-
|
|
834
725
|
popupClosed(popup) {
|
|
835
726
|
ss.onClosed('popup', popup.el);
|
|
836
727
|
}
|
|
837
|
-
|
|
838
728
|
}
|
|
839
729
|
};
|
|
840
|
-
|
|
841
730
|
if (ss.params.routableModals && ss.view) {
|
|
842
731
|
ss.view.router.navigate({
|
|
843
732
|
url: ss.url,
|
|
@@ -849,10 +738,8 @@ class SmartSelect extends Framework7Class {
|
|
|
849
738
|
} else {
|
|
850
739
|
ss.modal = ss.app.popup.create(popupParams).open();
|
|
851
740
|
}
|
|
852
|
-
|
|
853
741
|
return ss;
|
|
854
742
|
}
|
|
855
|
-
|
|
856
743
|
openSheet() {
|
|
857
744
|
const ss = this;
|
|
858
745
|
if (ss.opened) return ss;
|
|
@@ -870,22 +757,17 @@ class SmartSelect extends Framework7Class {
|
|
|
870
757
|
sheetOpen(sheet) {
|
|
871
758
|
ss.onOpen('sheet', sheet.el);
|
|
872
759
|
},
|
|
873
|
-
|
|
874
760
|
sheetOpened(sheet) {
|
|
875
761
|
ss.onOpened('sheet', sheet.el);
|
|
876
762
|
},
|
|
877
|
-
|
|
878
763
|
sheetClose(sheet) {
|
|
879
764
|
ss.onClose('sheet', sheet.el);
|
|
880
765
|
},
|
|
881
|
-
|
|
882
766
|
sheetClosed(sheet) {
|
|
883
767
|
ss.onClosed('sheet', sheet.el);
|
|
884
768
|
}
|
|
885
|
-
|
|
886
769
|
}
|
|
887
770
|
};
|
|
888
|
-
|
|
889
771
|
if (ss.params.routableModals && ss.view) {
|
|
890
772
|
ss.view.router.navigate({
|
|
891
773
|
url: ss.url,
|
|
@@ -897,10 +779,8 @@ class SmartSelect extends Framework7Class {
|
|
|
897
779
|
} else {
|
|
898
780
|
ss.modal = ss.app.sheet.create(sheetParams).open();
|
|
899
781
|
}
|
|
900
|
-
|
|
901
782
|
return ss;
|
|
902
783
|
}
|
|
903
|
-
|
|
904
784
|
openPopover() {
|
|
905
785
|
const ss = this;
|
|
906
786
|
if (ss.opened) return ss;
|
|
@@ -914,22 +794,17 @@ class SmartSelect extends Framework7Class {
|
|
|
914
794
|
popoverOpen(popover) {
|
|
915
795
|
ss.onOpen('popover', popover.el);
|
|
916
796
|
},
|
|
917
|
-
|
|
918
797
|
popoverOpened(popover) {
|
|
919
798
|
ss.onOpened('popover', popover.el);
|
|
920
799
|
},
|
|
921
|
-
|
|
922
800
|
popoverClose(popover) {
|
|
923
801
|
ss.onClose('popover', popover.el);
|
|
924
802
|
},
|
|
925
|
-
|
|
926
803
|
popoverClosed(popover) {
|
|
927
804
|
ss.onClosed('popover', popover.el);
|
|
928
805
|
}
|
|
929
|
-
|
|
930
806
|
}
|
|
931
807
|
};
|
|
932
|
-
|
|
933
808
|
if (ss.params.routableModals && ss.view) {
|
|
934
809
|
ss.view.router.navigate({
|
|
935
810
|
url: ss.url,
|
|
@@ -941,25 +816,20 @@ class SmartSelect extends Framework7Class {
|
|
|
941
816
|
} else {
|
|
942
817
|
ss.modal = ss.app.popover.create(popoverParams).open();
|
|
943
818
|
}
|
|
944
|
-
|
|
945
819
|
return ss;
|
|
946
820
|
}
|
|
947
|
-
|
|
948
821
|
open(type) {
|
|
949
822
|
const ss = this;
|
|
950
823
|
if (ss.opened) return ss;
|
|
951
824
|
let prevented = false;
|
|
952
|
-
|
|
953
825
|
function prevent() {
|
|
954
826
|
prevented = true;
|
|
955
827
|
}
|
|
956
|
-
|
|
957
828
|
if (ss.$el) {
|
|
958
829
|
ss.$el.trigger('smartselect:beforeopen', {
|
|
959
830
|
prevent
|
|
960
831
|
});
|
|
961
832
|
}
|
|
962
|
-
|
|
963
833
|
ss.emit('local::beforeOpen smartSelectBeforeOpen', ss, prevent);
|
|
964
834
|
if (prevented) return ss;
|
|
965
835
|
const openIn = type || ss.params.openIn;
|
|
@@ -969,11 +839,9 @@ class SmartSelect extends Framework7Class {
|
|
|
969
839
|
}).join('')}`]();
|
|
970
840
|
return ss;
|
|
971
841
|
}
|
|
972
|
-
|
|
973
842
|
close() {
|
|
974
843
|
const ss = this;
|
|
975
844
|
if (!ss.opened) return ss;
|
|
976
|
-
|
|
977
845
|
if (ss.params.routableModals && ss.view || ss.openedIn === 'page') {
|
|
978
846
|
ss.view.router.back();
|
|
979
847
|
} else {
|
|
@@ -986,16 +854,13 @@ class SmartSelect extends Framework7Class {
|
|
|
986
854
|
});
|
|
987
855
|
ss.modal.close();
|
|
988
856
|
}
|
|
989
|
-
|
|
990
857
|
return ss;
|
|
991
858
|
}
|
|
992
|
-
|
|
993
859
|
init() {
|
|
994
860
|
const ss = this;
|
|
995
861
|
ss.attachEvents();
|
|
996
862
|
ss.setValueText();
|
|
997
863
|
}
|
|
998
|
-
|
|
999
864
|
destroy() {
|
|
1000
865
|
const ss = this;
|
|
1001
866
|
ss.emit('local::beforeDestroy smartSelectBeforeDestroy', ss);
|
|
@@ -1005,7 +870,5 @@ class SmartSelect extends Framework7Class {
|
|
|
1005
870
|
deleteProps(ss);
|
|
1006
871
|
ss.destroyed = true;
|
|
1007
872
|
}
|
|
1008
|
-
|
|
1009
873
|
}
|
|
1010
|
-
|
|
1011
874
|
export default SmartSelect;
|