framework7 6.3.4 → 7.0.0-beta.3
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.umd.js +1 -0
- package/components/actions/actions-class.js +365 -0
- package/components/actions/actions-rtl.css +1 -1
- package/components/actions/actions.css +1 -1
- package/components/actions/actions.js +42 -1
- package/components/actions/actions.umd.js +1 -0
- package/components/app/app-class.d.ts +10 -10
- package/{esm/components → components}/app/app-class.js +107 -140
- package/components/app/app.less +3 -3
- package/{esm/components → components}/app/load-module.js +32 -32
- package/components/appbar/appbar.js +3 -1
- package/components/appbar/appbar.umd.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.umd.js +1 -0
- package/{esm/components → components}/autocomplete/autocomplete-class.js +241 -253
- 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.umd.js +1 -0
- package/{esm/components → components}/badge/badge.js +0 -0
- package/{esm/components → components}/block/block.js +0 -0
- package/{esm/components → components}/button/button.js +0 -0
- package/{esm/components → components}/calendar/calendar-class.js +676 -643
- package/components/calendar/calendar-rtl.css +1 -1
- package/components/calendar/calendar.css +1 -1
- package/components/calendar/calendar.js +111 -1
- package/components/calendar/calendar.umd.js +1 -0
- 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.umd.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.umd.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.umd.js +1 -0
- package/{esm/components → components}/color-picker/color-picker-class.js +336 -349
- 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.umd.js +1 -0
- package/{esm/components → components}/color-picker/modules/alpha-slider.js +30 -19
- package/{esm/components → components}/color-picker/modules/brightness-slider.js +35 -24
- package/{esm/components → components}/color-picker/modules/current-color.js +4 -2
- package/{esm/components → components}/color-picker/modules/hex.js +27 -16
- package/{esm/components → components}/color-picker/modules/hs-spectrum.js +37 -25
- package/{esm/components → components}/color-picker/modules/hsb-sliders.js +54 -41
- package/{esm/components → components}/color-picker/modules/hue-slider.js +29 -18
- package/{esm/components → components}/color-picker/modules/initial-current-colors.js +14 -9
- package/{esm/components → components}/color-picker/modules/palette.js +14 -11
- package/{esm/components → components}/color-picker/modules/rgb-bars.js +42 -29
- package/{esm/components → components}/color-picker/modules/rgb-sliders.js +47 -34
- package/{esm/components → components}/color-picker/modules/sb-spectrum.js +38 -26
- package/{esm/components → components}/color-picker/modules/wheel.js +59 -47
- 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.umd.js +1 -0
- package/{esm/components → components}/data-table/data-table-class.js +40 -59
- 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.umd.js +1 -0
- package/{esm/components → components}/dialog/dialog-class.js +58 -67
- 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.umd.js +1 -0
- package/components/elevation/elevation.js +3 -1
- package/components/elevation/elevation.umd.js +1 -0
- package/components/fab/fab.js +181 -1
- package/components/fab/fab.umd.js +1 -0
- package/components/form/form.js +347 -1
- package/components/form/form.umd.js +1 -0
- package/components/gauge/gauge-class.js +306 -0
- package/components/gauge/gauge.js +99 -1
- package/components/gauge/gauge.umd.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.umd.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.umd.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.less +1 -1
- package/components/input/input.umd.js +1 -0
- package/components/lazy/lazy.js +283 -1
- package/components/lazy/lazy.umd.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 +113 -121
- 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.js +73 -1
- package/components/list-index/list-index.umd.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.less +1 -1
- package/components/login-screen/login-screen.umd.js +1 -0
- package/components/menu/menu.js +79 -1
- package/components/menu/menu.umd.js +1 -0
- package/{esm/components → components}/messagebar/messagebar-class.js +124 -152
- 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.umd.js +1 -0
- package/{esm/components → components}/messages/messages-class.js +162 -242
- 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.umd.js +1 -0
- package/{esm/components → components}/modal/custom-modal-class.js +16 -29
- package/{esm/components → components}/modal/modal-class.js +68 -83
- package/{esm/components → components}/modal/modal.js +8 -5
- package/{esm/components → components}/navbar/navbar.js +166 -171
- package/components/notification/notification-aurora.less +1 -1
- package/{esm/components → components}/notification/notification-class.js +65 -78
- 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.js +35 -1
- package/components/notification/notification.umd.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 +183 -214
- 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.umd.js +1 -0
- package/{esm/components → components}/panel/resizable-panel.js +30 -28
- package/{esm/components → components}/panel/swipe-panel.js +46 -44
- package/{esm/components → components}/photo-browser/photo-browser-class.js +206 -234
- package/components/photo-browser/photo-browser.js +73 -1
- package/components/photo-browser/photo-browser.umd.js +1 -0
- package/{esm/components → components}/picker/picker-class.js +233 -233
- package/{esm/components → components}/picker/picker-column.js +70 -72
- package/components/picker/picker-rtl.css +1 -1
- package/components/picker/picker.css +1 -1
- package/components/picker/picker.js +64 -1
- package/components/picker/picker.umd.js +1 -0
- 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.umd.js +1 -0
- package/{esm/components → components}/popover/popover-class.js +72 -97
- package/components/popover/popover-rtl.css +1 -1
- package/components/popover/popover.css +1 -1
- package/components/popover/popover.js +76 -1
- package/components/popover/popover.umd.js +1 -0
- package/{esm/components → components}/popup/popup-class.js +66 -81
- package/components/popup/popup-rtl.css +1 -1
- package/components/popup/popup.css +1 -1
- package/components/popup/popup.js +41 -1
- package/components/popup/popup.less +21 -21
- package/components/popup/popup.umd.js +1 -0
- package/components/preloader/preloader.js +115 -1
- package/components/preloader/preloader.umd.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.umd.js +1 -0
- package/{esm/components → components}/pull-to-refresh/pull-to-refresh-class.js +101 -118
- package/components/pull-to-refresh/pull-to-refresh.js +70 -1
- package/components/pull-to-refresh/pull-to-refresh.umd.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.umd.js +1 -0
- package/{esm/components → components}/range/range-class.js +191 -192
- 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.umd.js +1 -0
- package/components/searchbar/remove-diacritics.js +275 -0
- package/{esm/components → components}/searchbar/searchbar-class.js +129 -146
- 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.less +1 -1
- package/components/searchbar/searchbar.umd.js +1 -0
- package/{esm/components → components}/sheet/sheet-class.js +87 -106
- package/components/sheet/sheet-rtl.css +1 -1
- package/components/sheet/sheet.css +1 -1
- package/components/sheet/sheet.js +68 -1
- package/components/sheet/sheet.less +16 -16
- package/components/sheet/sheet.umd.js +1 -0
- 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.less +1 -1
- package/components/skeleton/skeleton.umd.js +1 -0
- package/{esm/components → components}/smart-select/smart-select-class.js +284 -296
- package/components/smart-select/smart-select.js +149 -1
- package/components/smart-select/smart-select.umd.js +1 -0
- package/components/sortable/sortable-rtl.css +1 -1
- package/components/sortable/sortable.css +1 -1
- package/components/sortable/sortable.js +293 -1
- package/components/sortable/sortable.umd.js +1 -0
- package/{esm/components → components}/statusbar/statusbar.js +48 -41
- package/{esm/components → components}/stepper/stepper-class.js +104 -115
- 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.umd.js +1 -0
- package/{esm/components → components}/subnavbar/subnavbar.js +3 -2
- 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.umd.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.less +1 -1
- package/components/swiper/swiper.umd.js +1 -0
- package/components/tabs/tabs.js +272 -1
- package/components/tabs/tabs.umd.js +1 -0
- package/{esm/components → components}/text-editor/text-editor-class.js +170 -182
- 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.umd.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.umd.js +1 -0
- package/components/toast/toast-class.js +119 -0
- package/components/toast/toast.js +43 -1
- package/components/toast/toast.umd.js +1 -0
- package/{esm/components → components}/toggle/toggle-class.js +46 -63
- 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.umd.js +1 -0
- package/{esm/components → components}/toolbar/toolbar.js +63 -59
- package/{esm/components → components}/tooltip/tooltip-class.js +95 -106
- package/components/tooltip/tooltip.js +144 -1
- package/components/tooltip/tooltip.umd.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.umd.js +1 -0
- package/components/typography/typography.js +3 -1
- package/components/typography/typography.umd.js +1 -0
- package/{esm/components → components}/view/resizable-view.js +23 -21
- package/{esm/components → components}/view/view-class.js +48 -67
- package/{esm/components → components}/view/view.js +37 -28
- package/{esm/components → components}/virtual-list/virtual-list-class.js +153 -170
- package/components/virtual-list/virtual-list.js +19 -1
- package/components/virtual-list/virtual-list.umd.js +1 -0
- package/framework7-bundle-rtl.css +268 -852
- package/framework7-bundle-rtl.min.css +3 -3
- package/framework7-bundle.css +268 -852
- package/{esm/framework7-bundle.js → framework7-bundle.esm.js} +2 -2
- package/framework7-bundle.js +30782 -31429
- package/framework7-bundle.js.map +1 -1
- package/framework7-bundle.less +2 -2
- package/framework7-bundle.min.css +3 -3
- package/framework7-bundle.min.js +3 -3
- package/framework7-bundle.min.js.map +1 -1
- package/{esm/framework7-lite-bundle.js → framework7-lite-bundle.esm.js} +2 -2
- package/{esm/framework7-lite.js → framework7-lite.esm.js} +2 -2
- package/framework7-rtl.css +52 -56
- package/framework7-rtl.min.css +3 -3
- package/{types/types.d.ts → framework7-types.d.ts} +0 -0
- package/framework7.css +52 -56
- package/framework7.d.ts +81 -81
- package/{esm/framework7.js → framework7.esm.js} +2 -2
- package/framework7.js +3386 -4049
- 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 +17 -16
- 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.d.ts +2 -0
- package/{esm/modules → modules}/component/component.js +23 -17
- package/{esm/modules → modules}/component/custom-components.js +0 -0
- package/{esm/modules → modules}/component/eventslisteners.js +14 -18
- package/modules/component/parse-component.js +80 -0
- package/{esm/modules → modules}/component/patch.js +1 -1
- package/{esm/modules → modules}/component/snabbdom/h.js +0 -0
- 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/{esm/modules → modules}/component/snabbdom/snabbdom.bundle.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/snabbdom.js +6 -18
- package/{esm/modules → modules}/component/snabbdom/thunk.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/tovnode.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/vnode.js +0 -0
- package/{esm/modules → modules}/component/vdom.js +106 -130
- package/{esm/modules → modules}/demo-module.js +15 -7
- package/{esm/modules → modules}/device/device.js +12 -11
- package/{esm/modules → modules}/history/history.js +2 -1
- package/{esm/modules → modules}/request/request.js +2 -2
- 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 +117 -117
- package/{esm/modules → modules}/router/clear-previous-history.js +8 -8
- package/modules/router/component-loader.js +174 -0
- package/{esm/modules → modules}/router/modal.js +49 -49
- package/{esm/modules → modules}/router/navigate.js +140 -221
- package/{esm/modules → modules}/router/process-route-queue.js +20 -17
- package/{esm/modules → modules}/router/redirect.js +7 -11
- package/{esm/modules → modules}/router/router-class.js +411 -432
- package/{esm/modules → modules}/router/router.js +5 -3
- package/{esm/modules → modules}/router/swipe-back.js +143 -177
- package/{esm/modules → modules}/router/tab.js +46 -46
- package/{esm/modules → modules}/service-worker/service-worker.js +41 -37
- package/modules/store/create-store.js +149 -0
- package/{esm/modules → modules}/store/store.js +2 -2
- package/{esm/modules → modules}/support/support.js +1 -1
- package/{esm/modules → modules}/touch/touch.js +71 -70
- package/{esm/modules → modules}/utils/utils.js +2 -2
- package/package.json +252 -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 +32 -37
- 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 +61 -47
- 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 -2078
- 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 -583
- 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 -322
- 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 -296
- 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 -415
- 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/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.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 -310
- 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 -286
- 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/modules/component/$h.js +0 -20
- package/esm/modules/component/$jsx.js +0 -24
- package/esm/modules/component/component-class.js +0 -402
- package/esm/modules/component/parse-component.js +0 -70
- 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/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 -18
- 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 -121
- 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 -46
- 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 -94
- 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
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import $ from '../../shared/dom7';
|
|
2
|
+
import { extend, deleteProps } from '../../shared/utils';
|
|
3
|
+
import Framework7Class from '../../shared/class';
|
|
4
|
+
/** @jsx $jsx */
|
|
5
|
+
|
|
6
|
+
import $jsx from '../../shared/$jsx';
|
|
7
|
+
|
|
8
|
+
class PieChart extends Framework7Class {
|
|
9
|
+
constructor(app, params = {}) {
|
|
10
|
+
super(params, [app]);
|
|
11
|
+
const self = this;
|
|
12
|
+
const defaults = extend({}, app.params.pieChart); // Extend defaults with modules params
|
|
13
|
+
|
|
14
|
+
self.useModulesParams(defaults);
|
|
15
|
+
self.params = extend(defaults, params);
|
|
16
|
+
const {
|
|
17
|
+
el
|
|
18
|
+
} = self.params;
|
|
19
|
+
if (!el) return self;
|
|
20
|
+
const $el = $(el);
|
|
21
|
+
if ($el.length === 0) return self;
|
|
22
|
+
if ($el[0].f7PieChart) return $el[0].f7PieChart;
|
|
23
|
+
extend(self, {
|
|
24
|
+
app,
|
|
25
|
+
$el,
|
|
26
|
+
el: $el && $el[0],
|
|
27
|
+
currentIndex: null,
|
|
28
|
+
f7Tooltip: null
|
|
29
|
+
});
|
|
30
|
+
$el[0].f7PieChart = self; // Install Modules
|
|
31
|
+
|
|
32
|
+
self.useModules();
|
|
33
|
+
self.showTooltip = self.showTooltip.bind(this);
|
|
34
|
+
self.hideTooltip = self.hideTooltip.bind(this);
|
|
35
|
+
self.init();
|
|
36
|
+
return self;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
getSummValue() {
|
|
40
|
+
const {
|
|
41
|
+
datasets
|
|
42
|
+
} = this.params;
|
|
43
|
+
let summ = 0;
|
|
44
|
+
datasets.map(d => d.value || 0).forEach(value => {
|
|
45
|
+
summ += value;
|
|
46
|
+
});
|
|
47
|
+
return summ;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
getPaths() {
|
|
51
|
+
const {
|
|
52
|
+
datasets,
|
|
53
|
+
size
|
|
54
|
+
} = this.params;
|
|
55
|
+
const paths = [];
|
|
56
|
+
let cumulativePercentage = 0;
|
|
57
|
+
|
|
58
|
+
function getCoordinatesForPercentage(percentage) {
|
|
59
|
+
const x = Math.cos(2 * Math.PI * percentage) * (size / 3);
|
|
60
|
+
const y = Math.sin(2 * Math.PI * percentage) * (size / 3);
|
|
61
|
+
return [x, y];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
datasets.forEach(({
|
|
65
|
+
value,
|
|
66
|
+
label,
|
|
67
|
+
color
|
|
68
|
+
}) => {
|
|
69
|
+
const percentage = value / this.getSummValue();
|
|
70
|
+
const [startX, startY] = getCoordinatesForPercentage(cumulativePercentage);
|
|
71
|
+
cumulativePercentage += percentage;
|
|
72
|
+
const [endX, endY] = getCoordinatesForPercentage(cumulativePercentage);
|
|
73
|
+
const largeArcFlag = percentage > 0.5 ? 1 : 0;
|
|
74
|
+
const points = [`M ${startX} ${startY}`, // Move
|
|
75
|
+
`A ${size / 3} ${size / 3} 0 ${largeArcFlag} 1 ${endX} ${endY}`, // Arc
|
|
76
|
+
'L 0 0' // Line
|
|
77
|
+
].join(' ');
|
|
78
|
+
paths.push({
|
|
79
|
+
points,
|
|
80
|
+
label,
|
|
81
|
+
color
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
return paths;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
formatTooltipText() {
|
|
88
|
+
const {
|
|
89
|
+
datasets
|
|
90
|
+
} = this.params;
|
|
91
|
+
const {
|
|
92
|
+
currentIndex
|
|
93
|
+
} = this;
|
|
94
|
+
if (currentIndex === null) return '';
|
|
95
|
+
const {
|
|
96
|
+
value,
|
|
97
|
+
label,
|
|
98
|
+
color
|
|
99
|
+
} = datasets[currentIndex];
|
|
100
|
+
const percentage = value / this.getSummValue() * 100;
|
|
101
|
+
|
|
102
|
+
const round = v => {
|
|
103
|
+
if (parseInt(v, 10) === v) return v;
|
|
104
|
+
return Math.round(v * 100) / 100;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
if (this.params.formatTooltip) {
|
|
108
|
+
return this.params.formatTooltip.call(this, {
|
|
109
|
+
index: currentIndex,
|
|
110
|
+
value,
|
|
111
|
+
label,
|
|
112
|
+
color,
|
|
113
|
+
percentage
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const tooltipText = `${label ? `${label}: ` : ''}${round(value)} (${round(percentage)}%)`;
|
|
118
|
+
return `
|
|
119
|
+
<div class="pie-chart-tooltip-label">
|
|
120
|
+
<span class="pie-chart-tooltip-color" style="background-color: ${color};"></span> ${tooltipText}
|
|
121
|
+
</div>
|
|
122
|
+
`;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
setTooltip() {
|
|
126
|
+
const self = this;
|
|
127
|
+
const {
|
|
128
|
+
currentIndex,
|
|
129
|
+
el,
|
|
130
|
+
app,
|
|
131
|
+
params
|
|
132
|
+
} = self;
|
|
133
|
+
const {
|
|
134
|
+
tooltip
|
|
135
|
+
} = params;
|
|
136
|
+
if (currentIndex === null && !self.f7Tooltip) return;
|
|
137
|
+
if (!tooltip || !el) return;
|
|
138
|
+
|
|
139
|
+
if (currentIndex !== null && !self.f7Tooltip) {
|
|
140
|
+
self.f7Tooltip = app.tooltip.create({
|
|
141
|
+
trigger: 'manual',
|
|
142
|
+
containerEl: el,
|
|
143
|
+
targetEl: el.querySelector(`path[data-index="${currentIndex}"]`),
|
|
144
|
+
text: self.formatTooltipText(),
|
|
145
|
+
cssClass: 'pie-chart-tooltip'
|
|
146
|
+
});
|
|
147
|
+
self.f7Tooltip.show();
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (!self.f7Tooltip) return;
|
|
152
|
+
|
|
153
|
+
if (currentIndex !== null) {
|
|
154
|
+
self.f7Tooltip.setText(self.formatTooltipText());
|
|
155
|
+
self.f7Tooltip.setTargetEl(el.querySelector(`path[data-index="${currentIndex}"]`));
|
|
156
|
+
self.f7Tooltip.show();
|
|
157
|
+
} else {
|
|
158
|
+
self.f7Tooltip.hide();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
render() {
|
|
163
|
+
const self = this;
|
|
164
|
+
const size = self.params.size;
|
|
165
|
+
const paths = self.getPaths();
|
|
166
|
+
return $jsx("svg", {
|
|
167
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
168
|
+
width: size,
|
|
169
|
+
viewBox: `-${size / 3} -${size / 3} ${size * 2 / 3} ${size * 2 / 3}`,
|
|
170
|
+
style: "transform: rotate(-90deg)"
|
|
171
|
+
}, paths.map((path, index) => $jsx("path", {
|
|
172
|
+
d: path.points,
|
|
173
|
+
fill: path.color,
|
|
174
|
+
"data-index": index
|
|
175
|
+
})));
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
update(newParams = {}) {
|
|
179
|
+
const self = this;
|
|
180
|
+
const {
|
|
181
|
+
params
|
|
182
|
+
} = self;
|
|
183
|
+
Object.keys(newParams).forEach(param => {
|
|
184
|
+
if (typeof newParams[param] !== 'undefined') {
|
|
185
|
+
params[param] = newParams[param];
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
if (self.$svgEl.length === 0) return self;
|
|
189
|
+
self.$svgEl.remove();
|
|
190
|
+
delete self.$svgEl.f7PieChart;
|
|
191
|
+
const $svgEl = $(self.render()).eq(0);
|
|
192
|
+
$svgEl.f7PieChart = self;
|
|
193
|
+
extend(self, {
|
|
194
|
+
$svgEl,
|
|
195
|
+
svgEl: $svgEl && $svgEl[0]
|
|
196
|
+
});
|
|
197
|
+
self.$el.append($svgEl);
|
|
198
|
+
return self;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
setCurrentIndex(index) {
|
|
202
|
+
const self = this;
|
|
203
|
+
if (index === self.currentIndex) return;
|
|
204
|
+
const {
|
|
205
|
+
datasets
|
|
206
|
+
} = self.params;
|
|
207
|
+
self.currentIndex = index;
|
|
208
|
+
self.$el.trigger('piechart:select', {
|
|
209
|
+
index,
|
|
210
|
+
dataset: datasets[index]
|
|
211
|
+
});
|
|
212
|
+
self.emit('local::select pieChartSelect', self, index, datasets[index]);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
showTooltip(e) {
|
|
216
|
+
const newIndex = parseInt(e.target.getAttribute('data-index'), 10);
|
|
217
|
+
this.setCurrentIndex(newIndex);
|
|
218
|
+
this.$svgEl.find('path').removeClass('pie-chart-hidden').forEach((el, index) => {
|
|
219
|
+
if (index !== this.currentIndex) $(el).addClass('pie-chart-hidden');
|
|
220
|
+
});
|
|
221
|
+
this.setTooltip();
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
hideTooltip() {
|
|
225
|
+
this.setCurrentIndex(null);
|
|
226
|
+
this.$svgEl.find('path').removeClass('pie-chart-hidden');
|
|
227
|
+
this.setTooltip();
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
init() {
|
|
231
|
+
const self = this;
|
|
232
|
+
const $svgEl = $(self.render()).eq(0);
|
|
233
|
+
$svgEl.f7PieChart = self;
|
|
234
|
+
extend(self, {
|
|
235
|
+
$svgEl,
|
|
236
|
+
svgEl: $svgEl && $svgEl[0]
|
|
237
|
+
});
|
|
238
|
+
self.$el.append($svgEl);
|
|
239
|
+
self.$el.on('click mouseenter', 'path', self.showTooltip, true);
|
|
240
|
+
self.$el.on('mouseleave', 'path', self.hideTooltip, true);
|
|
241
|
+
return self;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
destroy() {
|
|
245
|
+
const self = this;
|
|
246
|
+
if (!self.$el || self.destroyed) return;
|
|
247
|
+
self.$el.trigger('piechart:beforedestroy');
|
|
248
|
+
self.emit('local::beforeDestroy pieChartBeforeDestroy', self);
|
|
249
|
+
self.$el.off('click mouseenter', 'path', self.showTooltip, true);
|
|
250
|
+
self.$el.off('mouseleave', 'path', self.hideTooltip, true);
|
|
251
|
+
self.$svgEl.remove();
|
|
252
|
+
|
|
253
|
+
if (self.f7Tooltip && self.f7Tooltip.destroy) {
|
|
254
|
+
self.f7Tooltip.destroy();
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
delete self.$el[0].f7PieChart;
|
|
258
|
+
deleteProps(self);
|
|
259
|
+
self.destroyed = true;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
export default PieChart;
|
|
@@ -1 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
import $ from '../../shared/dom7';
|
|
2
|
+
import PieChart from './pie-chart-class';
|
|
3
|
+
import ConstructorMethods from '../../shared/constructor-methods';
|
|
4
|
+
export default {
|
|
5
|
+
name: 'pieChart',
|
|
6
|
+
params: {
|
|
7
|
+
pieChart: {
|
|
8
|
+
el: null,
|
|
9
|
+
datasets: [],
|
|
10
|
+
size: 320,
|
|
11
|
+
tooltip: false,
|
|
12
|
+
formatTooltip: null
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
create() {
|
|
17
|
+
const app = this;
|
|
18
|
+
app.pieChart = ConstructorMethods({
|
|
19
|
+
defaultSelector: '.pie-chart',
|
|
20
|
+
constructor: PieChart,
|
|
21
|
+
app,
|
|
22
|
+
domProp: 'f7PieChart'
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
app.pieChart.update = function update(el, newParams) {
|
|
26
|
+
const $el = $(el);
|
|
27
|
+
if ($el.length === 0) return undefined;
|
|
28
|
+
const pieChart = app.pieChart.get(el);
|
|
29
|
+
if (!pieChart) return undefined;
|
|
30
|
+
pieChart.update(newParams);
|
|
31
|
+
return pieChart;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var o=t.$,r=t.utils,s=(t.getDevice,t.getSupport,t.Class),a=(t.Modal,t.ConstructorMethods),i=(t.ModalMethods,r.extend),l=r.deleteProps;class n extends s{constructor(t,e={}){super(e,[t]);const r=this,s=i({},t.params.pieChart);r.useModulesParams(s),r.params=i(s,e);const{el:a}=r.params;if(!a)return r;const l=o(a);return 0===l.length?r:l[0].f7PieChart?l[0].f7PieChart:(i(r,{app:t,$el:l,el:l&&l[0],currentIndex:null,f7Tooltip:null}),l[0].f7PieChart=r,r.useModules(),r.showTooltip=r.showTooltip.bind(this),r.hideTooltip=r.hideTooltip.bind(this),r.init(),r)}getSummValue(){const{datasets:t}=this.params;let e=0;return t.map((t=>t.value||0)).forEach((t=>{e+=t})),e}getPaths(){const{datasets:t,size:e}=this.params,o=[];let r=0;function s(t){return[Math.cos(2*Math.PI*t)*(e/3),Math.sin(2*Math.PI*t)*(e/3)]}return t.forEach((({value:t,label:a,color:i})=>{const l=t/this.getSummValue(),[n,p]=s(r);r+=l;const[h,d]=s(r),c=[`M ${n} ${p}`,`A ${e/3} ${e/3} 0 ${l>.5?1:0} 1 ${h} ${d}`,"L 0 0"].join(" ");o.push({points:c,label:a,color:i})})),o}formatTooltipText(){const{datasets:t}=this.params,{currentIndex:e}=this;if(null===e)return"";const{value:o,label:r,color:s}=t[e],a=o/this.getSummValue()*100,i=t=>parseInt(t,10)===t?t:Math.round(100*t)/100;if(this.params.formatTooltip)return this.params.formatTooltip.call(this,{index:e,value:o,label:r,color:s,percentage:a});return`\n <div class="pie-chart-tooltip-label">\n <span class="pie-chart-tooltip-color" style="background-color: ${s};"></span> ${`${r?`${r}: `:""}${i(o)} (${i(a)}%)`}\n </div>\n `}setTooltip(){const t=this,{currentIndex:e,el:o,app:r,params:s}=t,{tooltip:a}=s;if((null!==e||t.f7Tooltip)&&a&&o)return null===e||t.f7Tooltip?void(t.f7Tooltip&&(null!==e?(t.f7Tooltip.setText(t.formatTooltipText()),t.f7Tooltip.setTargetEl(o.querySelector(`path[data-index="${e}"]`)),t.f7Tooltip.show()):t.f7Tooltip.hide())):(t.f7Tooltip=r.tooltip.create({trigger:"manual",containerEl:o,targetEl:o.querySelector(`path[data-index="${e}"]`),text:t.formatTooltipText(),cssClass:"pie-chart-tooltip"}),void t.f7Tooltip.show())}render(){const t=this.params.size,e=this.getPaths();return $jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,viewBox:`-${t/3} -${t/3} ${2*t/3} ${2*t/3}`,style:"transform: rotate(-90deg)"},e.map(((t,e)=>$jsx("path",{d:t.points,fill:t.color,"data-index":e}))))}update(t={}){const e=this,{params:r}=e;if(Object.keys(t).forEach((e=>{void 0!==t[e]&&(r[e]=t[e])})),0===e.$svgEl.length)return e;e.$svgEl.remove(),delete e.$svgEl.f7PieChart;const s=o(e.render()).eq(0);return s.f7PieChart=e,i(e,{$svgEl:s,svgEl:s&&s[0]}),e.$el.append(s),e}setCurrentIndex(t){const e=this;if(t===e.currentIndex)return;const{datasets:o}=e.params;e.currentIndex=t,e.$el.trigger("piechart:select",{index:t,dataset:o[t]}),e.emit("local::select pieChartSelect",e,t,o[t])}showTooltip(t){const e=parseInt(t.target.getAttribute("data-index"),10);this.setCurrentIndex(e),this.$svgEl.find("path").removeClass("pie-chart-hidden").forEach(((t,e)=>{e!==this.currentIndex&&o(t).addClass("pie-chart-hidden")})),this.setTooltip()}hideTooltip(){this.setCurrentIndex(null),this.$svgEl.find("path").removeClass("pie-chart-hidden"),this.setTooltip()}init(){const t=this,e=o(t.render()).eq(0);return e.f7PieChart=t,i(t,{$svgEl:e,svgEl:e&&e[0]}),t.$el.append(e),t.$el.on("click mouseenter","path",t.showTooltip,!0),t.$el.on("mouseleave","path",t.hideTooltip,!0),t}destroy(){const t=this;t.$el&&!t.destroyed&&(t.$el.trigger("piechart:beforedestroy"),t.emit("local::beforeDestroy pieChartBeforeDestroy",t),t.$el.off("click mouseenter","path",t.showTooltip,!0),t.$el.off("mouseleave","path",t.hideTooltip,!0),t.$svgEl.remove(),t.f7Tooltip&&t.f7Tooltip.destroy&&t.f7Tooltip.destroy(),delete t.$el[0].f7PieChart,l(t),t.destroyed=!0)}}var p={name:"pieChart",params:{pieChart:{el:null,datasets:[],size:320,tooltip:!1,formatTooltip:null}},create(){const t=this;t.pieChart=a({defaultSelector:".pie-chart",constructor:n,app:t,domProp:"f7PieChart"}),t.pieChart.update=function(e,r){if(0===o(e).length)return;const s=t.pieChart.get(e);return s?(s.update(r),s):void 0}}};if(e){if(t.prototype.modules&&t.prototype.modules[p.name])return;t.use(p),t.instance&&(t.instance.useModuleParams(p,t.instance.params),t.instance.useModule(p))}return p}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
@@ -1,57 +1,43 @@
|
|
|
1
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
2
|
-
|
|
3
|
-
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
4
|
-
|
|
5
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
6
|
-
|
|
7
1
|
import { getWindow, getDocument } from 'ssr-window';
|
|
8
2
|
import $ from '../../shared/dom7';
|
|
9
3
|
import { extend } from '../../shared/utils';
|
|
10
4
|
import { getDevice } from '../../shared/get-device';
|
|
11
5
|
import Modal from '../modal/modal-class';
|
|
12
6
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
function Popover(app, params) {
|
|
17
|
-
var _this;
|
|
18
|
-
|
|
19
|
-
var extendedParams = extend({
|
|
7
|
+
class Popover extends Modal {
|
|
8
|
+
constructor(app, params) {
|
|
9
|
+
const extendedParams = extend({
|
|
20
10
|
on: {}
|
|
21
11
|
}, app.params.popover, params); // Extends with open/close Modal methods;
|
|
22
12
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
var window = getWindow();
|
|
29
|
-
var document = getDocument();
|
|
13
|
+
super(app, extendedParams);
|
|
14
|
+
const popover = this;
|
|
15
|
+
const device = getDevice();
|
|
16
|
+
const window = getWindow();
|
|
17
|
+
const document = getDocument();
|
|
30
18
|
popover.params = extendedParams; // Find Element
|
|
31
19
|
|
|
32
|
-
|
|
20
|
+
let $el;
|
|
33
21
|
|
|
34
22
|
if (!popover.params.el) {
|
|
35
|
-
$el = $(popover.params.content).filter(
|
|
36
|
-
return node.nodeType === 1;
|
|
37
|
-
}).eq(0);
|
|
23
|
+
$el = $(popover.params.content).filter(node => node.nodeType === 1).eq(0);
|
|
38
24
|
} else {
|
|
39
25
|
$el = $(popover.params.el).eq(0);
|
|
40
26
|
}
|
|
41
27
|
|
|
42
28
|
if ($el && $el.length > 0 && $el[0].f7Modal) {
|
|
43
|
-
return $el[0].f7Modal
|
|
29
|
+
return $el[0].f7Modal;
|
|
44
30
|
} // Find Target
|
|
45
31
|
|
|
46
32
|
|
|
47
|
-
|
|
33
|
+
const $targetEl = $(popover.params.targetEl).eq(0);
|
|
48
34
|
|
|
49
35
|
if ($el.length === 0) {
|
|
50
|
-
return popover.destroy()
|
|
36
|
+
return popover.destroy();
|
|
51
37
|
} // Backdrop
|
|
52
38
|
|
|
53
39
|
|
|
54
|
-
|
|
40
|
+
let $backdropEl;
|
|
55
41
|
|
|
56
42
|
if (popover.params.backdrop && popover.params.backdropEl) {
|
|
57
43
|
$backdropEl = $(popover.params.backdropEl);
|
|
@@ -65,7 +51,7 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
65
51
|
} // Find Angle
|
|
66
52
|
|
|
67
53
|
|
|
68
|
-
|
|
54
|
+
let $angleEl;
|
|
69
55
|
|
|
70
56
|
if ($el.find('.popover-angle').length === 0) {
|
|
71
57
|
$angleEl = $('<div class="popover-angle"></div>');
|
|
@@ -75,30 +61,22 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
75
61
|
} // Open
|
|
76
62
|
|
|
77
63
|
|
|
78
|
-
|
|
64
|
+
const originalOpen = popover.open;
|
|
79
65
|
extend(popover, {
|
|
80
|
-
app
|
|
81
|
-
$el
|
|
66
|
+
app,
|
|
67
|
+
$el,
|
|
82
68
|
el: $el[0],
|
|
83
|
-
$targetEl
|
|
69
|
+
$targetEl,
|
|
84
70
|
targetEl: $targetEl[0],
|
|
85
|
-
$angleEl
|
|
71
|
+
$angleEl,
|
|
86
72
|
angleEl: $angleEl[0],
|
|
87
|
-
$backdropEl
|
|
73
|
+
$backdropEl,
|
|
88
74
|
backdropEl: $backdropEl && $backdropEl[0],
|
|
89
75
|
type: 'popover',
|
|
90
|
-
open: function open() {
|
|
91
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
92
|
-
args[_key] = arguments[_key];
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
var targetEl = args[0],
|
|
96
|
-
animate = args[1];
|
|
97
76
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
77
|
+
open(...args) {
|
|
78
|
+
let [targetEl, animate] = args;
|
|
79
|
+
if (typeof args[0] === 'boolean') [animate, targetEl] = args;
|
|
102
80
|
|
|
103
81
|
if (targetEl) {
|
|
104
82
|
popover.$targetEl = $(targetEl);
|
|
@@ -107,31 +85,32 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
107
85
|
|
|
108
86
|
return originalOpen.call(popover, animate);
|
|
109
87
|
}
|
|
88
|
+
|
|
110
89
|
});
|
|
111
90
|
|
|
112
91
|
function handleResize() {
|
|
113
92
|
popover.resize();
|
|
114
93
|
}
|
|
115
94
|
|
|
116
|
-
popover.on('popoverOpen',
|
|
95
|
+
popover.on('popoverOpen', () => {
|
|
117
96
|
popover.resize();
|
|
118
97
|
app.on('resize', handleResize);
|
|
119
98
|
$(window).on('keyboardDidShow keyboardDidHide', handleResize);
|
|
120
|
-
popover.on('popoverClose popoverBeforeDestroy',
|
|
99
|
+
popover.on('popoverClose popoverBeforeDestroy', () => {
|
|
121
100
|
app.off('resize', handleResize);
|
|
122
101
|
$(window).off('keyboardDidShow keyboardDidHide', handleResize);
|
|
123
102
|
});
|
|
124
103
|
});
|
|
125
|
-
|
|
104
|
+
let touchStartTarget = null;
|
|
126
105
|
|
|
127
106
|
function handleTouchStart(e) {
|
|
128
107
|
touchStartTarget = e.target;
|
|
129
108
|
}
|
|
130
109
|
|
|
131
110
|
function handleClick(e) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
111
|
+
const target = e.target;
|
|
112
|
+
const $target = $(target);
|
|
113
|
+
const keyboardOpened = !device.desktop && device.cordova && (window.Keyboard && window.Keyboard.isVisible || window.cordova.plugins && window.cordova.plugins.Keyboard && window.cordova.plugins.Keyboard.isVisible);
|
|
135
114
|
if (keyboardOpened) return;
|
|
136
115
|
|
|
137
116
|
if ($target.closest(popover.el).length === 0) {
|
|
@@ -144,7 +123,7 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
144
123
|
}
|
|
145
124
|
|
|
146
125
|
function onKeyDown(e) {
|
|
147
|
-
|
|
126
|
+
const keyCode = e.keyCode;
|
|
148
127
|
|
|
149
128
|
if (keyCode === 27 && popover.params.closeOnEscape) {
|
|
150
129
|
popover.close();
|
|
@@ -152,51 +131,50 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
152
131
|
}
|
|
153
132
|
|
|
154
133
|
if (popover.params.closeOnEscape) {
|
|
155
|
-
popover.on('popoverOpen',
|
|
134
|
+
popover.on('popoverOpen', () => {
|
|
156
135
|
$(document).on('keydown', onKeyDown);
|
|
157
136
|
});
|
|
158
|
-
popover.on('popoverClose',
|
|
137
|
+
popover.on('popoverClose', () => {
|
|
159
138
|
$(document).off('keydown', onKeyDown);
|
|
160
139
|
});
|
|
161
140
|
}
|
|
162
141
|
|
|
163
|
-
popover.on('popoverOpened',
|
|
142
|
+
popover.on('popoverOpened', () => {
|
|
164
143
|
if (popover.params.closeByOutsideClick || popover.params.closeByBackdropClick) {
|
|
165
144
|
app.on('touchstart', handleTouchStart);
|
|
166
145
|
app.on('click', handleClick);
|
|
167
146
|
}
|
|
168
147
|
});
|
|
169
|
-
popover.on('popoverClose',
|
|
148
|
+
popover.on('popoverClose', () => {
|
|
170
149
|
if (popover.params.closeByOutsideClick || popover.params.closeByBackdropClick) {
|
|
171
150
|
app.off('touchstart', handleTouchStart);
|
|
172
151
|
app.off('click', handleClick);
|
|
173
152
|
}
|
|
174
153
|
});
|
|
175
154
|
$el[0].f7Modal = popover;
|
|
176
|
-
return popover
|
|
155
|
+
return popover;
|
|
177
156
|
}
|
|
178
157
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
158
|
+
resize() {
|
|
159
|
+
const popover = this;
|
|
160
|
+
const {
|
|
161
|
+
app,
|
|
162
|
+
$el,
|
|
163
|
+
$targetEl,
|
|
164
|
+
$angleEl
|
|
165
|
+
} = popover;
|
|
166
|
+
const {
|
|
167
|
+
targetX,
|
|
168
|
+
targetY
|
|
169
|
+
} = popover.params;
|
|
190
170
|
$el.css({
|
|
191
171
|
left: '',
|
|
192
172
|
top: ''
|
|
193
173
|
});
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
var angleLeft;
|
|
199
|
-
var angleTop;
|
|
174
|
+
const [width, height] = [$el.width(), $el.height()];
|
|
175
|
+
let angleSize = 0;
|
|
176
|
+
let angleLeft;
|
|
177
|
+
let angleTop;
|
|
200
178
|
|
|
201
179
|
if (app.theme === 'ios' || app.theme === 'aurora') {
|
|
202
180
|
$angleEl.removeClass('on-left on-right on-top on-bottom').css({
|
|
@@ -211,13 +189,13 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
211
189
|
});
|
|
212
190
|
}
|
|
213
191
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
192
|
+
let targetWidth;
|
|
193
|
+
let targetHeight;
|
|
194
|
+
let targetOffsetLeft;
|
|
195
|
+
let targetOffsetTop;
|
|
196
|
+
let safeAreaTop = parseInt($('html').css('--f7-safe-area-top'), 10);
|
|
197
|
+
let safeAreaLeft = parseInt($('html').css('--f7-safe-area-left'), 10);
|
|
198
|
+
let safeAreaRight = parseInt($('html').css('--f7-safe-area-right'), 10);
|
|
221
199
|
if (Number.isNaN(safeAreaTop)) safeAreaTop = 0;
|
|
222
200
|
if (Number.isNaN(safeAreaLeft)) safeAreaLeft = 0;
|
|
223
201
|
if (Number.isNaN(safeAreaRight)) safeAreaRight = 0;
|
|
@@ -225,10 +203,10 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
225
203
|
if ($targetEl && $targetEl.length > 0) {
|
|
226
204
|
targetWidth = $targetEl.outerWidth();
|
|
227
205
|
targetHeight = $targetEl.outerHeight();
|
|
228
|
-
|
|
206
|
+
const targetOffset = $targetEl.offset();
|
|
229
207
|
targetOffsetLeft = targetOffset.left - app.left;
|
|
230
208
|
targetOffsetTop = targetOffset.top - app.top;
|
|
231
|
-
|
|
209
|
+
const targetParentPage = $targetEl.parents('.page');
|
|
232
210
|
|
|
233
211
|
if (targetParentPage.length > 0) {
|
|
234
212
|
targetOffsetTop -= targetParentPage[0].scrollTop;
|
|
@@ -240,11 +218,9 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
240
218
|
targetHeight = popover.params.targetHeight || 0;
|
|
241
219
|
}
|
|
242
220
|
|
|
243
|
-
|
|
244
|
-
top = 0,
|
|
245
|
-
diff = 0; // Top Position
|
|
221
|
+
let [left, top, diff] = [0, 0, 0]; // Top Position
|
|
246
222
|
|
|
247
|
-
|
|
223
|
+
let position = app.theme === 'md' ? 'bottom' : 'top';
|
|
248
224
|
|
|
249
225
|
if (app.theme === 'md') {
|
|
250
226
|
if (height < app.height - targetOffsetTop - targetHeight) {
|
|
@@ -263,7 +239,7 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
263
239
|
|
|
264
240
|
top = Math.max(8, Math.min(top, app.height - height - 8)); // Horizontal Position
|
|
265
241
|
|
|
266
|
-
|
|
242
|
+
let hPosition;
|
|
267
243
|
|
|
268
244
|
if (targetOffsetLeft < app.width / 2) {
|
|
269
245
|
hPosition = 'right';
|
|
@@ -274,7 +250,7 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
274
250
|
}
|
|
275
251
|
|
|
276
252
|
left = Math.max(8, Math.min(left, app.width - width - 8 - safeAreaRight), safeAreaLeft);
|
|
277
|
-
$el.addClass(
|
|
253
|
+
$el.addClass(`popover-on-${position} popover-on-${hPosition}`);
|
|
278
254
|
} else {
|
|
279
255
|
// ios and aurora
|
|
280
256
|
if (height + angleSize < targetOffsetTop - safeAreaTop) {
|
|
@@ -319,7 +295,7 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
319
295
|
angleLeft = width / 2 - angleSize + diff;
|
|
320
296
|
angleLeft = Math.max(Math.min(angleLeft, width - angleSize * 2 - 13), 13);
|
|
321
297
|
$angleEl.css({
|
|
322
|
-
left: angleLeft
|
|
298
|
+
left: `${angleLeft}px`
|
|
323
299
|
});
|
|
324
300
|
} else if (position === 'middle') {
|
|
325
301
|
left = targetOffsetLeft - width - angleSize;
|
|
@@ -335,19 +311,18 @@ var Popover = /*#__PURE__*/function (_Modal) {
|
|
|
335
311
|
angleTop = height / 2 - angleSize + diff;
|
|
336
312
|
angleTop = Math.max(Math.min(angleTop, height - angleSize * 2 - 13), 13);
|
|
337
313
|
$angleEl.css({
|
|
338
|
-
top: angleTop
|
|
314
|
+
top: `${angleTop}px`
|
|
339
315
|
});
|
|
340
316
|
}
|
|
341
317
|
} // Apply Styles
|
|
342
318
|
|
|
343
319
|
|
|
344
320
|
$el.css({
|
|
345
|
-
top: top
|
|
346
|
-
left: left
|
|
321
|
+
top: `${top}px`,
|
|
322
|
+
left: `${left}px`
|
|
347
323
|
});
|
|
348
|
-
}
|
|
324
|
+
}
|
|
349
325
|
|
|
350
|
-
|
|
351
|
-
}(Modal);
|
|
326
|
+
}
|
|
352
327
|
|
|
353
328
|
export default Popover;
|