summernote-webpack
Version:
Super simple WYSIWYG editor
48 lines (39 loc) • 1.09 kB
JavaScript
define([
'summernote/base/core/func',
'summernote/base/core/list',
'summernote/base/core/dom'
], function (func, list, dom) {
var ImagePopover = function (context) {
var ui = $.summernote.ui;
var options = context.options;
this.shouldInitialize = function () {
return !list.isEmpty(options.popover.image);
};
this.initialize = function () {
this.$popover = ui.popover({
className: 'note-image-popover'
}).render().appendTo('body');
var $content = this.$popover.find('.popover-content');
context.invoke('buttons.build', $content, options.popover.image);
};
this.destroy = function () {
this.$popover.remove();
};
this.update = function (target) {
if (dom.isImg(target)) {
var pos = dom.posFromPlaceholder(target);
this.$popover.css({
display: 'block',
left: pos.left,
top: pos.top
});
} else {
this.hide();
}
};
this.hide = function () {
this.$popover.hide();
};
};
return ImagePopover;
});