Sha256: 9927dbb0dd1f528c753807219f3118828146d9c93b53ecc070559f0aec1c9e8e

Contents?: true

Size: 1.21 KB

Versions: 57

Compression:

Stored size: 1.21 KB

Contents

/**
 * Manages the handling of copying text to clipboard
 *
 * @namespace WORKAREA.copyToClipboard
 */
WORKAREA.registerModule('copyToClipboard', (function () {
    'use strict';

    var copyText = function(event) {
            var $button = $(event.target),
                buttonText = $button.text(),
                node = document.querySelector($button.data('copyToClipboard')),
                range = document.createRange();

            range.selectNode(node);
            window.getSelection().addRange(range);

            if (document.execCommand('copy')) {
                $button.text(I18n.t('workarea.messages.copied'));
            } else {
                $button.text(I18n.t('workarea.messages.copy_failed'));
            }

            window.setTimeout(function() { $button.text(buttonText); }, 3000);

            // NOTE: Should use removeRange(range) when it is supported
            window.getSelection().removeAllRanges();
        },

        /**
         * @method
         * @name init
         * @memberof WORKAREA.copyToClipboard
         */
        init = function ($scope) {
            $('[data-copy-to-clipboard]', $scope).on('click', copyText);
        };

    return {
        init: init
    };
}()));

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
workarea-core-3.5.27 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.5.26 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.4.45 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.5.25 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.5.23 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.4.44 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.5.22 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.4.43 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.5.21 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.4.42 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.5.20 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.4.41 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.5.19 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.4.40 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.5.18 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.4.39 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.5.17 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.4.38 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.5.16 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js
workarea-core-3.4.37 app/assets/javascripts/workarea/core/modules/copy_to_clipboard.js