HotFix for bootstrap Modal

As bootstrap only support one `Modal` show as the same time. This snippets will help with close the old one.

As bootstrap only support one Modal show as the same time. This snippets will help with close the old one.

(function () {
    let deferredModal = null;
    $(document.body).on('show.bs.modal', '.modal', function (e) {
        let $modal = $('.modal.show').not(this);
        if ($modal.length > 0) {
            e.preventDefault();
            e.stopPropagation();
            deferredModal = this;
            $modal.modal('hide');
        }
    })
    .on('hidden.bs.modal', '.modal', function(){
        if (!deferredModal) {
            return;
        }
        $(deferredModal).modal('dispose').modal('show');
        deferredModal = null;
    });
})();

Pure native js copy2clipboard

snippets for copy text to clipboard

let input = document.createElement('input');
    document.body.appendChild(input);
    input.style.position = 'fixed';
    input.style.left = 0;
    input.style.right = 0;
    input.value = window.location.href;
    if (window.navigator.userAgent.match(/ipad|iphone|ipod/i)) {
        let range = window.document.createRange();
        let  selection = window.getSelection();
        range.selectNodeContents(input);
        selection.removeAllRanges();
        selection.addRange(range);
        input.readOnly = true;
        input.setSelectionRange(0, 999999);
        input.readOnly = false;
    } else {
        input.select();
    }
document.execCommand('copy');
input.remove();