all files / src/js/lite/ui/ PopoverUI.js

5.66% Statements 3/53
0% Branches 0/22
12.5% Functions 1/8
3.85% Lines 2/52
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98                                                                                                                                                                                                
(function(global){global.wrappers['/Users/lqez/Dev/summernote/src/js/lite/ui/PopoverUI.js']=[function(require,module,exports,__dirname,__filename){ "use strict";
exports.__esModule = true;
var PopoverUI = /** @class */ (function () {
    function PopoverUI($node, options) {
        this.$node = $node;
        this.options = $.extend({}, {
            title: '',
            content: '',
            target: options.container,
            trigger: 'hover focus',
            placement: 'bottom'
        }, options);
        // create popover node
        this.$popover = $([
            '<div class="note-popover in">',
            ' <div class="note-popover-arrow" />',
            ' <div class="note-popover-content" />',
            '</div>',
        ].join(''));
        // define event
        if (this.options.trigger !== 'manual') {
            var showCallback_1 = this.show.bind(this);
            var hideCallback_1 = this.hide.bind(this);
            var toggleCallback_1 = this.toggle.bind(this);
            this.options.trigger.split(' ').forEach(function (eventName) {
                if (eventName === 'hover') {
                    $node.off('mouseenter').on('mouseenter', showCallback_1);
                    $node.off('mouseleave').on('mouseleave', hideCallback_1);
                }
                else if (eventName === 'click') {
                    $node.on('click', toggleCallback_1);
                }
                else if (eventName === 'focus') {
                    $node.on('focus', showCallback_1);
                    $node.on('blur', hideCallback_1);
                }
            });
        }
    }
    PopoverUI.prototype.show = function () {
        var $node = this.$node;
        var offset = $node.offset();
        var $popover = this.$popover;
        var content = this.options.content || $node.data('content');
        var placement = $node.data('placement') || this.options.placement;
        var dist = 6;
        $popover.addClass(placement);
        $popover.addClass('in');
        $popover.find('.note-popover-content').html(content);
        $popover.appendTo(this.options.target);
        var nodeWidth = $node.outerWidth();
        var nodeHeight = $node.outerHeight();
        var popoverWidth = $popover.outerWidth();
        var popoverHeight = $popover.outerHeight();
        if (placement === 'bottom') {
            $popover.css({
                top: offset.top + nodeHeight + dist,
                left: offset.left + (nodeWidth / 2 - popoverWidth / 2)
            });
        }
        else if (placement === 'top') {
            $popover.css({
                top: offset.top - popoverHeight - dist,
                left: offset.left + (nodeWidth / 2 - popoverWidth / 2)
            });
        }
        else if (placement === 'left') {
            $popover.css({
                top: offset.top + (nodeHeight / 2 - popoverHeight / 2),
                left: offset.left - popoverWidth - dist
            });
        }
        else if (placement === 'right') {
            $popover.css({
                top: offset.top + (nodeHeight / 2 - popoverHeight / 2),
                left: offset.left + nodeWidth + dist
            });
        }
    };
    PopoverUI.prototype.hide = function () {
        this.$popover.removeClass('in');
        this.$popover.remove();
    };
    PopoverUI.prototype.toggle = function () {
        if (this.$popover.hasClass('in')) {
            this.hide();
        }
        else {
            this.show();
        }
    };
    return PopoverUI;
}());
exports["default"] = PopoverUI;
 
},'src/js/lite/ui/PopoverUI.js',{}];})(this);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9wb3ZlclVJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiUG9wb3ZlclVJLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7SUFDRSxtQkFBWSxLQUFLLEVBQUUsT0FBTztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQzFCLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLEVBQUU7WUFDWCxNQUFNLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDekIsT0FBTyxFQUFFLGFBQWE7WUFDdEIsU0FBUyxFQUFFLFFBQVE7U0FDcEIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVaLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNoQiwrQkFBK0I7WUFDL0IscUNBQXFDO1lBQ3JDLHVDQUF1QztZQUN2QyxRQUFRO1NBQ1QsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVaLGVBQWU7UUFDZixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUNyQyxJQUFNLGNBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFNLGNBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFNLGdCQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFTLFNBQVM7Z0JBQ3hELElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRTtvQkFDekIsS0FBSyxDQUFDLEdBQUcsQ0FB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RUFBRTtZQUNoQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUNYLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxTQUFTLEdBQUcsSUFBSTthQUNyQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCx3QkFBSSxHQUFKO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsMEJBQU0sR0FBTjtRQUNFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUNILGdCQUFDO0FBQUQsQ0FBQyxBQTNGRCxJQTJGQztBQUVELHFCQUFlLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNsYXNzIFBvcG92ZXJVSSB7XG4gIGNvbnN0cnVjdG9yKCRub2RlLCBvcHRpb25zKSB7XG4gICAgdGhpcy4kbm9kZSA9ICRub2RlO1xuICAgIHRoaXMub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCB7XG4gICAgICB0aXRsZTogJycsXG4gICAgICBjb250ZW50OiAnJyxcbiAgICAgIHRhcmdldDogb3B0aW9ucy5jb250YWluZXIsXG4gICAgICB0cmlnZ2VyOiAnaG92ZXIgZm9jdXMnLFxuICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICB9LCBvcHRpb25zKTtcblxuICAgIC8vIGNyZWF0ZSBwb3BvdmVyIG5vZGVcbiAgICB0aGlzLiRwb3BvdmVyID0gJChbXG4gICAgICAnPGRpdiBjbGFzcz1cIm5vdGUtcG9wb3ZlciBpblwiPicsXG4gICAgICAnIDxkaXYgY2xhc3M9XCJub3RlLXBvcG92ZXItYXJyb3dcIiAvPicsXG4gICAgICAnIDxkaXYgY2xhc3M9XCJub3RlLXBvcG92ZXItY29udGVudFwiIC8+JyxcbiAgICAgICc8L2Rpdj4nLFxuICAgIF0uam9pbignJykpO1xuXG4gICAgLy8gZGVmaW5lIGV2ZW50XG4gICAgaWYgKHRoaXMub3B0aW9ucy50cmlnZ2VyICE9PSAnbWFudWFsJykge1xuICAgICAgY29uc3Qgc2hvd0NhbGxiYWNrID0gdGhpcy5zaG93LmJpbmQodGhpcyk7XG4gICAgICBjb25zdCBoaWRlQ2FsbGJhY2sgPSB0aGlzLmhpZGUuYmluZCh0aGlzKTtcbiAgICAgIGNvbnN0IHRvZ2dsZUNhbGxiYWNrID0gdGhpcy50b2dnbGUuYmluZCh0aGlzKTtcbiAgICAgIHRoaXMub3B0aW9ucy50cmlnZ2VyLnNwbGl0KCcgJykuZm9yRWFjaChmdW5jdGlvbihldmVudE5hbWUpIHtcbiAgICAgICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2hvdmVyJykge1xuICAgICAgICAgICRub2RlLm9mZignbW91c2VlbnRlcicpLm9uKCdtb3VzZWVudGVyJywgc2hvd0NhbGxiYWNrKTtcbiAgICAgICAgICAkbm9kZS5vZmYoJ21vdXNlbGVhdmUnKS5vbignbW91c2VsZWF2ZScsIGhpZGVDYWxsYmFjayk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnROYW1lID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgJG5vZGUub24oJ2NsaWNrJywgdG9nZ2xlQ2FsbGJhY2spO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50TmFtZSA9PT0gJ2ZvY3VzJykge1xuICAgICAgICAgICRub2RlLm9uKCdmb2N1cycsIHNob3dDYWxsYmFjayk7XG4gICAgICAgICAgJG5vZGUub24oJ2JsdXInLCBoaWRlQ2FsbGJhY2spO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzaG93KCkge1xuICAgIGNvbnN0ICRub2RlID0gdGhpcy4kbm9kZTtcbiAgICBjb25zdCBvZmZzZXQgPSAkbm9kZS5vZmZzZXQoKTtcbiAgICBjb25zdCAkcG9wb3ZlciA9IHRoaXMuJHBvcG92ZXI7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMub3B0aW9ucy5jb250ZW50IHx8ICRub2RlLmRhdGEoJ2NvbnRlbnQnKTtcbiAgICBjb25zdCBwbGFjZW1lbnQgPSAkbm9kZS5kYXRhKCdwbGFjZW1lbnQnKSB8fCB0aGlzLm9wdGlvbnMucGxhY2VtZW50O1xuICAgIGNvbnN0IGRpc3QgPSA2O1xuXG4gICAgJHBvcG92ZXIuYWRkQ2xhc3MocGxhY2VtZW50KTtcbiAgICAkcG9wb3Zlci5hZGRDbGFzcygnaW4nKTtcbiAgICAkcG9wb3Zlci5maW5kKCcubm90ZS1wb3BvdmVyLWNvbnRlbnQnKS5odG1sKGNvbnRlbnQpO1xuICAgICRwb3BvdmVyLmFwcGVuZFRvKHRoaXMub3B0aW9ucy50YXJnZXQpO1xuXG4gICAgY29uc3Qgbm9kZVdpZHRoID0gJG5vZGUub3V0ZXJXaWR0aCgpO1xuICAgIGNvbnN0IG5vZGVIZWlnaHQgPSAkbm9kZS5vdXRlckhlaWdodCgpO1xuICAgIGNvbnN0IHBvcG92ZXJXaWR0aCA9ICRwb3BvdmVyLm91dGVyV2lkdGgoKTtcbiAgICBjb25zdCBwb3BvdmVySGVpZ2h0ID0gJHBvcG92ZXIub3V0ZXJIZWlnaHQoKTtcblxuICAgIGlmIChwbGFjZW1lbnQgPT09ICdib3R0b20nKSB7XG4gICAgICAkcG9wb3Zlci5jc3Moe1xuICAgICAgICB0b3A6IG9mZnNldC50b3AgKyBub2RlSGVpZ2h0ICsgZGlzdCxcbiAgICAgICAgbGVmdDogb2Zmc2V0LmxlZnQgKyAobm9kZVdpZHRoIC8gMiAtIHBvcG92ZXJXaWR0aCAvIDIpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwbGFjZW1lbnQgPT09ICd0b3AnKSB7XG4gICAgICAkcG9wb3Zlci5jc3Moe1xuICAgICAgICB0b3A6IG9mZnNldC50b3AgLSBwb3BvdmVySGVpZ2h0IC0gZGlzdCxcbiAgICAgICAgbGVmdDogb2Zmc2V0LmxlZnQgKyAobm9kZVdpZHRoIC8gMiAtIHBvcG92ZXJXaWR0aCAvIDIpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xuICAgICAgJHBvcG92ZXIuY3NzKHtcbiAgICAgICAgdG9wOiBvZmZzZXQudG9wICsgKG5vZGVIZWlnaHQgLyAyIC0gcG9wb3ZlckhlaWdodCAvIDIpLFxuICAgICAgICBsZWZ0OiBvZmZzZXQubGVmdCAtIHBvcG92ZXJXaWR0aCAtIGRpc3QsXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHBsYWNlbWVudCA9PT0gJ3JpZ2h0Jykge1xuICAgICAgJHBvcG92ZXIuY3NzKHtcbiAgICAgICAgdG9wOiBvZmZzZXQudG9wICsgKG5vZGVIZWlnaHQgLyAyIC0gcG9wb3ZlckhlaWdodCAvIDIpLFxuICAgICAgICBsZWZ0OiBvZmZzZXQubGVmdCArIG5vZGVXaWR0aCArIGRpc3QsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBoaWRlKCkge1xuICAgIHRoaXMuJHBvcG92ZXIucmVtb3ZlQ2xhc3MoJ2luJyk7XG4gICAgdGhpcy4kcG9wb3Zlci5yZW1vdmUoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy4kcG9wb3Zlci5oYXNDbGFzcygnaW4nKSkge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBQb3BvdmVyVUk7XG4iXX0=