���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /var/www/html/lnovel/layout/default/node_modules/summernote/src/js/module/ |
import $ from 'jquery'; import lists from '../core/lists'; import dom from '../core/dom'; /** * Image popover module * mouse events that show/hide popover will be handled by Handle.js. * Handle.js will receive the events and invoke 'imagePopover.update'. */ export default class ImagePopover { constructor(context) { this.context = context; this.ui = $.summernote.ui; this.editable = context.layoutInfo.editable[0]; this.options = context.options; this.events = { 'summernote.disable summernote.dialog.shown': () => { this.hide(); }, 'summernote.blur': (we, e) => { if (e.originalEvent && e.originalEvent.relatedTarget) { if (!this.$popover[0].contains(e.originalEvent.relatedTarget)) { this.hide(); } } else { this.hide(); } }, }; } shouldInitialize() { return !lists.isEmpty(this.options.popover.image); } initialize() { this.$popover = this.ui.popover({ className: 'note-image-popover', }).render().appendTo(this.options.container); const $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.image); this.$popover.on('mousedown', (e) => { e.preventDefault(); }); } destroy() { this.$popover.remove(); } update(target, event) { if (dom.isImg(target)) { const position = $(target).offset(); const containerOffset = $(this.options.container).offset(); let pos = {}; if (this.options.popatmouse) { pos.left = event.pageX - 20; pos.top = event.pageY; } else { pos = position; } pos.top -= containerOffset.top; pos.left -= containerOffset.left; this.$popover.css({ display: 'block', left: pos.left, top: pos.top, }); } else { this.hide(); } } hide() { this.$popover.hide(); } }