UNPKG

@pi0/framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

51 lines (49 loc) 1.32 kB
import $ from 'dom7'; import Utils from '../../utils/utils'; import Popover from './popover-class'; import ModalMethods from '../../utils/modal-methods'; export default { name: 'popover', params: { popover: { closeByBackdropClick: true, closeByOutsideClick: false, }, }, static: { Popover, }, create() { const app = this; app.popover = Utils.extend( ModalMethods({ app, constructor: Popover, defaultSelector: '.popover.modal-in', }), { open(popoverEl, targetEl, animate) { const $popoverEl = $(popoverEl); let popover = $popoverEl[0].f7Modal; if (!popover) popover = new Popover(app, { el: $popoverEl, targetEl }); return popover.open(targetEl, animate); }, } ); }, clicks: { '.popover-open': function openPopover($clickedEl, data = {}) { const app = this; app.popover.open(data.popover, $clickedEl, data.animate); }, '.popover-close': function closePopover($clickedEl, data = {}) { const app = this; app.popover.close(data.popover, data.animate); }, '.popover-backdrop': function closePopover() { const app = this; if (!app.params.popover.closeByBackdropClick) return; app.popover.close(); }, }, };