Sha256: c3f6df58d8ddc2b63fa60f2a3947a2c8443e058ba99f9d8afb6419a211a80d53

Contents?: true

Size: 1.95 KB

Versions: 15

Compression:

Stored size: 1.95 KB

Contents

/**
 * Copyright (c) 2001-present, Vonage.
 *
 * Tooltips (requires popper.js, tooltip.js)
 */
'use strict';

Volta.tooltip = function () {
    var _class = {
        bottom: 'Vlt-tooltip--bottom',
        left: 'Vlt-tooltip--left',
        tooltip: 'Vlt-tooltip',
        top: 'Vlt-tooltip--top',
        right: 'Vlt-tooltip--right',
        large: 'Vlt-tooltip--large'
    }

    return {
        create: create,
        init: attachTooltipHandlers
    }

    /**
     *	@public
     *
     *	@description Create a Tooltip instance for every Vlt-tooltip
     */
    function attachTooltipHandlers() {
        document.querySelectorAll('.' + _class.tooltip).forEach(create);
    }

    /**
     *	@public
     *
     *	@description Create a Tooltip instance
     *	@param {HTMLElement} tooltip
     *  @return {object} a Tooltip element
     */
    function create(tooltip) {
        var placement;
        var size;

        if (Volta._hasClass(tooltip, _class.bottom)) {
            placement = 'bottom';
        } else if (Volta._hasClass(tooltip, _class.top)) {
            placement = 'top';
        } else if (Volta._hasClass(tooltip, _class.left)) {
            placement = 'left';
        } else if (Volta._hasClass(tooltip, _class.right)) {
            placement = 'right';
        }

        if (Volta._hasClass(tooltip, _class.large)) {
            size = ' Vlt-tooltip--large';
        } else {
            size='';
        }

        var template =
            '<div class="Vlt-tooltip--js' + size + '" role="tooltip">' +
            '<div class="tooltip-arrow Vlt-tooltip__arrow"></div>' +
            '<div class="tooltip-inner Vlt-tooltip__content"></div>' +
            '</div>';

        var title = tooltip.title;
        //remove the title so deafult title does not show
        tooltip.title = "";

        return new Tooltip(tooltip, {
            html: true,
            template: template,
            title: title,
            placement: placement
        });
    }
}();

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
nexmo-oas-renderer-2.7.2 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.7.1 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.7.0 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.6.0 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.5.0 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.4.1 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.4.0 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.3.0 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.2.0 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.1.3 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.1.2 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.1.1 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.1.0 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.0.1 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js
nexmo-oas-renderer-2.0.0 lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js