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

5.88% Statements 3/51
0% Branches 0/23
12.5% Functions 1/8
4% Lines 2/50
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                                                                                                                                                                                          
(function(global){global.wrappers['/Users/lqez/Dev/summernote/src/js/lite/ui/TooltipUI.js']=[function(require,module,exports,__dirname,__filename){ "use strict";
exports.__esModule = true;
var TooltipUI = /** @class */ (function () {
    function TooltipUI($node, options) {
        this.$node = $node;
        this.options = $.extend({}, {
            title: '',
            target: options.container,
            trigger: 'hover focus',
            placement: 'bottom'
        }, options);
        // create tooltip node
        this.$tooltip = $([
            '<div class="note-tooltip in">',
            '  <div class="note-tooltip-arrow"/>',
            '  <div class="note-tooltip-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 mouseleave');
                    $node.on('mouseenter', showCallback_1).on('mouseleave', hideCallback_1);
                }
                else if (eventName === 'click') {
                    $node.on('click', toggleCallback_1);
                }
                else if (eventName === 'focus') {
                    $node.on('focus', showCallback_1).on('blur', hideCallback_1);
                }
            });
        }
    }
    TooltipUI.prototype.show = function () {
        var $node = this.$node;
        var offset = $node.offset();
        var $tooltip = this.$tooltip;
        var title = this.options.title || $node.attr('title') || $node.data('title');
        var placement = this.options.placement || $node.data('placement');
        $tooltip.addClass(placement);
        $tooltip.addClass('in');
        $tooltip.find('.note-tooltip-content').text(title);
        $tooltip.appendTo(this.options.target);
        var nodeWidth = $node.outerWidth();
        var nodeHeight = $node.outerHeight();
        var tooltipWidth = $tooltip.outerWidth();
        var tooltipHeight = $tooltip.outerHeight();
        if (placement === 'bottom') {
            $tooltip.css({
                top: offset.top + nodeHeight,
                left: offset.left + (nodeWidth / 2 - tooltipWidth / 2)
            });
        }
        else if (placement === 'top') {
            $tooltip.css({
                top: offset.top - tooltipHeight,
                left: offset.left + (nodeWidth / 2 - tooltipWidth / 2)
            });
        }
        else if (placement === 'left') {
            $tooltip.css({
                top: offset.top + (nodeHeight / 2 - tooltipHeight / 2),
                left: offset.left - tooltipWidth
            });
        }
        else if (placement === 'right') {
            $tooltip.css({
                top: offset.top + (nodeHeight / 2 - tooltipHeight / 2),
                left: offset.left + nodeWidth
            });
        }
    };
    TooltipUI.prototype.hide = function () {
        this.$tooltip.removeClass('in');
        this.$tooltip.remove();
    };
    TooltipUI.prototype.toggle = function () {
        if (this.$tooltip.hasClass('in')) {
            this.hide();
        }
        else {
            this.show();
        }
    };
    return TooltipUI;
}());
exports["default"] = TooltipUI;
 
},'src/js/lite/ui/TooltipUI.js',{}];})(this);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9vbHRpcFVJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiVG9vbHRpcFVJLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7SUFDRSxtQkFBWSxLQUFLLEVBQUUsT0FBTztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQzFCLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFNBQVMsRUFBRSxRQUFRO1NBQ3BCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFWixzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDaEIsK0JBQStCO1lBQy9CLHFDQUFxQztZQUNyQyx1Q0FBdUM7WUFDdkMsUUFBUTtTQUNULENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFWixlQUFlO1FBQ2YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDckMsSUFBTSxjQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsSUFBTSxjQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsSUFBTSxnQkFBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTlDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBUyxTQUFTO2dCQUN4RCxJQUFJLFNBQVMsS0FBSyxPQUFPLEVBQUU7b0JBQ3pCLEtBQUssQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztv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QyxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUM7Z0JBQ3RELElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLFNBQVM7YUFDOUIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsd0JBQUksR0FBSjtRQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELDBCQUFNLEdBQU47UUFDRSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7SUFDSCxnQkFBQztBQUFELENBQUMsQUExRkQsSUEwRkM7QUFFRCxxQkFBZSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBUb29sdGlwVUkge1xuICBjb25zdHJ1Y3Rvcigkbm9kZSwgb3B0aW9ucykge1xuICAgIHRoaXMuJG5vZGUgPSAkbm9kZTtcbiAgICB0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwge1xuICAgICAgdGl0bGU6ICcnLFxuICAgICAgdGFyZ2V0OiBvcHRpb25zLmNvbnRhaW5lcixcbiAgICAgIHRyaWdnZXI6ICdob3ZlciBmb2N1cycsXG4gICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgIH0sIG9wdGlvbnMpO1xuXG4gICAgLy8gY3JlYXRlIHRvb2x0aXAgbm9kZVxuICAgIHRoaXMuJHRvb2x0aXAgPSAkKFtcbiAgICAgICc8ZGl2IGNsYXNzPVwibm90ZS10b29sdGlwIGluXCI+JyxcbiAgICAgICcgIDxkaXYgY2xhc3M9XCJub3RlLXRvb2x0aXAtYXJyb3dcIi8+JyxcbiAgICAgICcgIDxkaXYgY2xhc3M9XCJub3RlLXRvb2x0aXAtY29udGVudFwiLz4nLFxuICAgICAgJzwvZGl2PicsXG4gICAgXS5qb2luKCcnKSk7XG5cbiAgICAvLyBkZWZpbmUgZXZlbnRcbiAgICBpZiAodGhpcy5vcHRpb25zLnRyaWdnZXIgIT09ICdtYW51YWwnKSB7XG4gICAgICBjb25zdCBzaG93Q2FsbGJhY2sgPSB0aGlzLnNob3cuYmluZCh0aGlzKTtcbiAgICAgIGNvbnN0IGhpZGVDYWxsYmFjayA9IHRoaXMuaGlkZS5iaW5kKHRoaXMpO1xuICAgICAgY29uc3QgdG9nZ2xlQ2FsbGJhY2sgPSB0aGlzLnRvZ2dsZS5iaW5kKHRoaXMpO1xuXG4gICAgICB0aGlzLm9wdGlvbnMudHJpZ2dlci5zcGxpdCgnICcpLmZvckVhY2goZnVuY3Rpb24oZXZlbnROYW1lKSB7XG4gICAgICAgIGlmIChldmVudE5hbWUgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAkbm9kZS5vZmYoJ21vdXNlZW50ZXIgbW91c2VsZWF2ZScpO1xuICAgICAgICAgICRub2RlLm9uKCdtb3VzZWVudGVyJywgc2hvd0NhbGxiYWNrKS5vbignbW91c2VsZWF2ZScsIGhpZGVDYWxsYmFjayk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnROYW1lID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgJG5vZGUub24oJ2NsaWNrJywgdG9nZ2xlQ2FsbGJhY2spO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50TmFtZSA9PT0gJ2ZvY3VzJykge1xuICAgICAgICAgICRub2RlLm9uKCdmb2N1cycsIHNob3dDYWxsYmFjaykub24oJ2JsdXInLCBoaWRlQ2FsbGJhY2spO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzaG93KCkge1xuICAgIGNvbnN0ICRub2RlID0gdGhpcy4kbm9kZTtcbiAgICBjb25zdCBvZmZzZXQgPSAkbm9kZS5vZmZzZXQoKTtcblxuICAgIGNvbnN0ICR0b29sdGlwID0gdGhpcy4kdG9vbHRpcDtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMub3B0aW9ucy50aXRsZSB8fCAkbm9kZS5hdHRyKCd0aXRsZScpIHx8ICRub2RlLmRhdGEoJ3RpdGxlJyk7XG4gICAgY29uc3QgcGxhY2VtZW50ID0gdGhpcy5vcHRpb25zLnBsYWNlbWVudCB8fCAkbm9kZS5kYXRhKCdwbGFjZW1lbnQnKTtcblxuICAgICR0b29sdGlwLmFkZENsYXNzKHBsYWNlbWVudCk7XG4gICAgJHRvb2x0aXAuYWRkQ2xhc3MoJ2luJyk7XG4gICAgJHRvb2x0aXAuZmluZCgnLm5vdGUtdG9vbHRpcC1jb250ZW50JykudGV4dCh0aXRsZSk7XG4gICAgJHRvb2x0aXAuYXBwZW5kVG8odGhpcy5vcHRpb25zLnRhcmdldCk7XG5cbiAgICBjb25zdCBub2RlV2lkdGggPSAkbm9kZS5vdXRlcldpZHRoKCk7XG4gICAgY29uc3Qgbm9kZUhlaWdodCA9ICRub2RlLm91dGVySGVpZ2h0KCk7XG4gICAgY29uc3QgdG9vbHRpcFdpZHRoID0gJHRvb2x0aXAub3V0ZXJXaWR0aCgpO1xuICAgIGNvbnN0IHRvb2x0aXBIZWlnaHQgPSAkdG9vbHRpcC5vdXRlckhlaWdodCgpO1xuXG4gICAgaWYgKHBsYWNlbWVudCA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICR0b29sdGlwLmNzcyh7XG4gICAgICAgIHRvcDogb2Zmc2V0LnRvcCArIG5vZGVIZWlnaHQsXG4gICAgICAgIGxlZnQ6IG9mZnNldC5sZWZ0ICsgKG5vZGVXaWR0aCAvIDIgLSB0b29sdGlwV2lkdGggLyAyKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAocGxhY2VtZW50ID09PSAndG9wJykge1xuICAgICAgJHRvb2x0aXAuY3NzKHtcbiAgICAgICAgdG9wOiBvZmZzZXQudG9wIC0gdG9vbHRpcEhlaWdodCxcbiAgICAgICAgbGVmdDogb2Zmc2V0LmxlZnQgKyAobm9kZVdpZHRoIC8gMiAtIHRvb2x0aXBXaWR0aCAvIDIpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xuICAgICAgJHRvb2x0aXAuY3NzKHtcbiAgICAgICAgdG9wOiBvZmZzZXQudG9wICsgKG5vZGVIZWlnaHQgLyAyIC0gdG9vbHRpcEhlaWdodCAvIDIpLFxuICAgICAgICBsZWZ0OiBvZmZzZXQubGVmdCAtIHRvb2x0aXBXaWR0aCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAocGxhY2VtZW50ID09PSAncmlnaHQnKSB7XG4gICAgICAkdG9vbHRpcC5jc3Moe1xuICAgICAgICB0b3A6IG9mZnNldC50b3AgKyAobm9kZUhlaWdodCAvIDIgLSB0b29sdGlwSGVpZ2h0IC8gMiksXG4gICAgICAgIGxlZnQ6IG9mZnNldC5sZWZ0ICsgbm9kZVdpZHRoLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLiR0b29sdGlwLnJlbW92ZUNsYXNzKCdpbicpO1xuICAgIHRoaXMuJHRvb2x0aXAucmVtb3ZlKCk7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuJHRvb2x0aXAuaGFzQ2xhc3MoJ2luJykpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcFVJO1xuIl19