All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.resources.butterfaces-dist-js.butterfaces-overlay.js Maven / Gradle / Ivy

///
///
var ButterFaces;
(function (ButterFaces) {
    var Overlay = (function () {
        function Overlay(delay, isTransparentBlockingOverlayActive, selector) {
            if (delay === void 0) { delay = 500; }
            if (isTransparentBlockingOverlayActive === void 0) { isTransparentBlockingOverlayActive = true; }
            if (selector === void 0) { selector = 'body'; }
            this.isHiding = true;
            this.delay = delay;
            this.isTransparentBlockingOverlayActive = isTransparentBlockingOverlayActive;
            this.selector = selector;
            console.log('ButterFaces.Overlay.constructor - creating overlay with delay is ' + this.delay + ', isTransparentBlockingOverlayActive is ' + this.isTransparentBlockingOverlayActive + ', selector is ' + this.selector);
        }
        Overlay.prototype.show = function () {
            var _this = this;
            var $elementsToDisable = $(this.selector);
            ButterFaces.Overlay.fadeOutDetachtedOverlays();
            $elementsToDisable.each(function (index, elementToDisable) {
                var $elementToDisable = $(elementToDisable);
                _this.isHiding = false;
                if ($elementToDisable.attr('data-overlay-uuid') !== undefined) {
                    if (ButterFaces.Overlay.findOverlay($elementToDisable.attr('data-overlay-uuid')).length > 0) {
                        console.log("ButterFaces.Overlay.show - overlay already existing. Skip showing overlay");
                        return;
                    }
                    else {
                        $elementToDisable.removeAttr('data-overlay-uuid');
                    }
                }
                console.log("ButterFaces.Overlay.show - appending not displayed overlay to body");
                var uuid = ButterFaces.Guid.newGuid();
                var $overlay = $('
'); $elementToDisable.attr('data-overlay-uuid', uuid); if (_this.selector === 'body') { $overlay.addClass('overlay-body'); } else { // TODO if blockpage is true set it to max size $overlay.offset($elementToDisable.offset()) .width($elementToDisable.outerWidth()) .height($elementToDisable.outerHeight()) .addClass('overlay-body-child') .css({ 'position': 'absolute' }); // IE overrides css position so set it here } $('body').append($overlay); if (_this.isTransparentBlockingOverlayActive) { console.log("ButterFaces.Overlay.show - isTransparentBlockingOverlayActive is true, showing transparent overlay direcly"); $overlay.show(); } window.setTimeout(function () { if (!_this.isHiding && !_this.isTransparentBlockingOverlayActive) { console.log("ButterFaces.Overlay.show - deferred: isTransparentBlockingOverlayActive is false, showing transparent overlay after delay"); $overlay.show(); } if (!_this.isHiding) { console.log("ButterFaces.Overlay.show - deferred: starting animation to make overlay intransparent"); $overlay .stop(true) .animate({ opacity: 1 }, 300, function () { console.log("ButterFaces.Overlay.show - deferred: animation ended to make overlay intransparent"); }); } }, _this.delay); //} }); }; Overlay.prototype.hide = function () { console.log("ButterFaces.Overlay.hide - starting animation to make overlay transparent"); var $elementsToDisable = $(this.selector); this.isHiding = true; ButterFaces.Overlay.fadeOutDetachtedOverlays(); $elementsToDisable.each(function (index, elementToDisable) { var $elementToDisable = $(elementToDisable); var overlayUuid = $elementToDisable.attr('data-overlay-uuid'); if (overlayUuid !== undefined && ButterFaces.Overlay.findOverlay(overlayUuid).length > 0) { var $overlay = ButterFaces.Overlay.findOverlay($elementToDisable.attr('data-overlay-uuid')); ButterFaces.Overlay.fadeOutOverlay($overlay); } }); }; Overlay.hideAll = function () { console.log("ButterFaces.Overlay.hideAll - starting animation to make all overlays transparent"); ButterFaces.Overlay.fadeOutDetachtedOverlays(); ButterFaces.Overlay.fadeOutAttachtedOverlays(); }; Overlay.fadeOutDetachtedOverlays = function () { // remove unbinded elements $('.butter-component-overlay').each(function (index, elementToCheck) { var $overlay = $(elementToCheck); var uuidToCheck = $(elementToCheck).attr('data-overlay-uuid'); if ($('[data-overlay-uuid=' + uuidToCheck + ']').length == 1) { ButterFaces.Overlay.fadeOutOverlay($overlay); } }); }; ; Overlay.fadeOutAttachtedOverlays = function () { // remove binded elements $('.butter-component-overlay').each(function (index, elementToCheck) { var $overlay = $(elementToCheck); var uuidToCheck = $(elementToCheck).attr('data-overlay-uuid'); var elements = $('[data-overlay-uuid=' + uuidToCheck + ']'); if (elements.length > 1) { ButterFaces.Overlay.fadeOutOverlay($overlay); elements.each(function (index, element) { var $element = $(element); $element.removeAttr('data-overlay-uuid'); }); } }); }; ; Overlay.fadeOutOverlay = function ($overlay) { $overlay .stop(true) .animate({ opacity: 0 }, 300, function () { $overlay.remove(); console.log("ButterFaces.Overlay.hide - animation ended to make overlay transparent, OVERLAY REMOVED"); }); }; ; Overlay.findOverlay = function (uuid) { return $("body .butter-component-overlay[data-overlay-uuid='" + uuid + "']"); }; return Overlay; })(); ButterFaces.Overlay = Overlay; })(ButterFaces || (ButterFaces = {})); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1dHRlcmZhY2VzLW92ZXJsYXkudHMiXSwibmFtZXMiOlsiQnV0dGVyRmFjZXMiLCJCdXR0ZXJGYWNlcy5PdmVybGF5IiwiQnV0dGVyRmFjZXMuT3ZlcmxheS5jb25zdHJ1Y3RvciIsIkJ1dHRlckZhY2VzLk92ZXJsYXkuc2hvdyIsIkJ1dHRlckZhY2VzLk92ZXJsYXkuaGlkZSIsIkJ1dHRlckZhY2VzLk92ZXJsYXkuaGlkZUFsbCIsIkJ1dHRlckZhY2VzLk92ZXJsYXkuZmFkZU91dERldGFjaHRlZE92ZXJsYXlzIiwiQnV0dGVyRmFjZXMuT3ZlcmxheS5mYWRlT3V0QXR0YWNodGVkT3ZlcmxheXMiLCJCdXR0ZXJGYWNlcy5PdmVybGF5LmZhZGVPdXRPdmVybGF5IiwiQnV0dGVyRmFjZXMuT3ZlcmxheS5maW5kT3ZlcmxheSJdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9EO0FBQ3BELDBDQUEwQztBQUUxQyxJQUFPLFdBQVcsQ0EySmpCO0FBM0pELFdBQU8sV0FBVyxFQUFDLENBQUM7SUFFaEJBO1FBTUlDLGlCQUFZQSxLQUFXQSxFQUFFQSxrQ0FBeUNBLEVBQUVBLFFBQWlCQTtZQUF6RUMscUJBQVdBLEdBQVhBLFdBQVdBO1lBQUVBLGtEQUF5Q0EsR0FBekNBLHlDQUF5Q0E7WUFBRUEsd0JBQWlCQSxHQUFqQkEsaUJBQWlCQTtZQUNqRkEsSUFBSUEsQ0FBQ0EsUUFBUUEsR0FBR0EsSUFBSUEsQ0FBQ0E7WUFDckJBLElBQUlBLENBQUNBLEtBQUtBLEdBQUdBLEtBQUtBLENBQUNBO1lBQ25CQSxJQUFJQSxDQUFDQSxrQ0FBa0NBLEdBQUdBLGtDQUFrQ0EsQ0FBQ0E7WUFDN0VBLElBQUlBLENBQUNBLFFBQVFBLEdBQUdBLFFBQVFBLENBQUNBO1lBRXpCQSxPQUFPQSxDQUFDQSxHQUFHQSxDQUFDQSxtRUFBbUVBLEdBQUdBLElBQUlBLENBQUNBLEtBQUtBLEdBQUdBLDBDQUEwQ0EsR0FBR0EsSUFBSUEsQ0FBQ0Esa0NBQWtDQSxHQUFHQSxnQkFBZ0JBLEdBQUdB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QkFBbUJBLENBQUNBLENBQUNBO29CQUM3Q0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ1BBLENBQUNBO1lBQ0xBLENBQUNBLENBQUNBLENBQUNBO1FBQ1BBLENBQUNBOztRQUVjTixzQkFBY0EsR0FBN0JBLFVBQThCQSxRQUFZQTtZQUN0Q08sUUFBUUE7aUJBQ0hBLElBQUlBLENBQUNBLElBQUlBLENBQUNBO2lCQUNWQSxPQUFPQSxDQUFDQTtnQkFDTEEsT0FBT0EsRUFBRUEsQ0FBQ0E7YUFDYkEsRUFBRUEsR0FBR0EsRUFBRUE7Z0JBQ0pBLFFBQVFBLENBQUNBLE1BQU1BLEVBQUVBLENBQUNBO2dCQUNsQkEsT0FBT0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EseUZBQXlGQSxDQUFDQSxDQUFDQTtZQUMzR0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7UUFDWEEsQ0FBQ0E7O1FBRWNQLG1CQUFXQSxHQUExQkEsVUFBMkJBLElBQVdBO1lBQ2xDUSxNQUFNQSxDQUFDQSxDQUFDQSxDQUFDQSxvREFBb0RBLEdBQUdBLElBQUlBLEdBQUdBLElBQUlBLENBQUNBLENBQUNBO1FBQ2pGQSxDQUFDQTtRQUNMUixjQUFDQTtJQUFEQSxDQXhKQUQsQUF3SkNDLElBQUFEO0lBeEpZQSxtQkFBT0EsVUF3Sm5CQSxDQUFBQTtBQUNMQSxDQUFDQSxFQTNKTSxXQUFXLEtBQVgsV0FBVyxRQTJKakIiLCJmaWxlIjoiYnV0dGVyZmFjZXMtb3ZlcmxheS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLzxyZWZlcmVuY2UgcGF0aD1cImRlZmluaXRpb25zL2V4dGVybmFsL3RzZC5kLnRzXCIvPlxuLy8vPHJlZmVyZW5jZSBwYXRoPVwiYnV0dGVyZmFjZXMtZ3VpZC50c1wiLz5cblxubW9kdWxlIEJ1dHRlckZhY2VzIHtcblxuICAgIGV4cG9ydCBjbGFzcyBPdmVybGF5IHtcbiAgICAgICAgaXNIaWRpbmc6Ym9vbGVhbjtcbiAgICAgICAgZGVsYXk6bnVtYmVyO1xuICAgICAgICBzZWxlY3RvcjpzdHJpbmc7XG4gICAgICAgIGlzVHJhbnNwYXJlbnRCbG9ja2luZ092ZXJsYXlBY3RpdmU6Ym9vbGVhbjtcblxuICAgICAgICBjb25zdHJ1Y3RvcihkZWxheSA9IDUwMCwgaXNUcmFuc3BhcmVudEJsb2NraW5nT3ZlcmxheUFjdGl2ZSA9IHRydWUsIHNlbGVjdG9yID0gJ2JvZHknKSB7XG4gICAgICAgICAgICB0aGlzLmlzSGlkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZGVsYXkgPSBkZWxheTtcbiAgICAgICAgICAgIHRoaXMuaXNUcmFuc3BhcmVudEJsb2NraW5nT3ZlcmxheUFjdGl2ZSA9IGlzVHJhbnNwYXJlbnRCbG9ja2luZ092ZXJsYXlBY3RpdmU7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdG9yID0gc2VsZWN0b3I7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdCdXR0ZXJGYWNlcy5PdmVybGF5LmNvbnN0cnVjdG9yIC0gY3JlYXRpbmcgb3ZlcmxheSB3aXRoIGRlbGF5IGlzICcgKyB0aGlzLmRlbGF5ICsgJywgaXNUcmFuc3BhcmVudEJsb2NraW5nT3ZlcmxheUFjdGl2ZSBpcyAnICsgdGhpcy5pc1RyYW5zcGFyZW50QmxvY2tpbmdPdmVybGF5QWN0aXZlICsgJywgc2VsZWN0b3IgaXMgJyArIHRoaXMuc2VsZWN0b3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHNob3coKSB7XG4gICAgICAgICAgICBsZXQgJGVsZW1lbnRzVG9EaXNhYmxlID0gJCh0aGlzLnNlbGVjdG9yKTtcblxuICAgICAgICAgICAgQnV0dGVyRmFjZXMuT3ZlcmxheS5mYWRlT3V0RGV0YWNodGVkT3ZlcmxheXMoKTtcblxuICAgICAgICAgICAgJGVsZW1lbnRzVG9EaXNhYmxlLmVhY2goKGluZGV4LCBlbGVtZW50VG9EaXNhYmxlKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBsZXQgJGVsZW1lbnRUb0Rpc2FibGUgPSAkKGVsZW1lbnRUb0Rpc2FibGUpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5pc0hpZGluZyA9IGZhbHNlO1xuXG5cbiAgICAgICAgICAgICAgICBpZiAoJGVsZW1lbnRUb0Rpc2FibGUuYXR0cignZGF0YS1vdmVybGF5LXV1aWQnKSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChCdXR0ZXJGYWNlcy5PdmVybGF5LmZpbmRPdmVybGF5KCRlbGVtZW50VG9EaXNhYmxlLmF0dHIoJ2RhdGEtb3ZlcmxheS11dWlkJykpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQnV0dGVyRmFjZXMuT3ZlcmxheS5zaG93IC0gb3ZlcmxheSBhbHJlYWR5IGV4aXN0aW5nLiBTa2lwIHNob3dpbmcgb3ZlcmxheVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbGVtZW50VG9EaXNhYmxlLnJlbW92ZUF0dHIoJ2RhdGEtb3ZlcmxheS11dWlkJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkJ1dHRlckZhY2VzLk92ZXJsYXkuc2hvdyAtIGFwcGVuZGluZyBub3QgZGlzcGxheWVkIG92ZXJsYXkgdG8gYm9keVwiKTtcbiAgICAgICAgICAgICAgICB2YXIgdXVpZCA9IEJ1dHRlckZhY2VzLkd1aWQubmV3R3VpZCgpO1xuXG4gICAgICAgICAgICAgICAgbGV0ICRvdmVybGF5ID0gJCgnPGRpdiBjbGFzcz1cImJ1dHRlci1jb21wb25lbnQtb3ZlcmxheVwiIGRhdGEtb3ZlcmxheS11dWlkPVwiJyArIHV1aWQgKyAnXCI+PGRpdiBjbGFzcz1cImJ1dHRlci1jb21wb25lbnQtc3Bpbm5lclwiPjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+PC9kaXY+Jyk7XG5cbiAgICAgICAgICAgICAgICAkZWxlbWVudFRvRGlzYWJsZS5hdHRyKCdkYXRhLW92ZXJsYXktdXVpZCcsIHV1aWQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0b3IgPT09ICdib2R5Jykge1xuICAgICAgICAgICAgICAgICAgICAkb3ZlcmxheS5hZGRDbGFzcygnb3ZlcmxheS1ib2R5Jyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETyBpZiBibG9ja3BhZ2UgaXMgdHJ1ZSBzZXQgaXQgdG8gbWF4IHNpemVcbiAgICAgICAgICAgICAgICAgICAgJG92ZXJsYXkub2Zmc2V0KCRlbGVtZW50VG9EaXNhYmxlLm9mZnNldCgpKVxuICAgICAgICAgICAgICAgICAgICAgICAud2lkdGgoJGVsZW1lbnRUb0Rpc2FibGUub3V0ZXJXaWR0aCgpKVxuICAgICAgICAgICAgICAgICAgICAgICAuaGVpZ2h0KCRlbGVtZW50VG9EaXNhYmxlLm91dGVySGVpZ2h0KCkpXG4gICAgICAgICAgICAgICAgICAgICAgIC5hZGRDbGFzcygnb3ZlcmxheS1ib2R5LWNoaWxkJylcbiAgICAgICAgICAgICAgICAgICAgICAgLmNzcyh7J3Bvc2l0aW9uJzogJ2Fic29sdXRlJ30pOyAvLyBJRSBvdmVycmlkZXMgY3NzIHBvc2l0aW9uIHNvIHNldCBpdCBoZXJlXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJCgnYm9keScpLmFwcGVuZCgkb3ZlcmxheSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1RyYW5zcGFyZW50QmxvY2tpbmdPdmVybGF5QWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQnV0dGVyRmFjZXMuT3ZlcmxheS5zaG93IC0gaXNUcmFuc3BhcmVudEJsb2NraW5nT3ZlcmxheUFjdGl2ZSBpcyB0cnVlLCBzaG93aW5nIHRyYW5zcGFyZW50IG92ZXJsYXkgZGlyZWNseVwiKTtcbiAgICAgICAgICAgICAgICAgICAgJG92ZXJsYXkuc2hvdygpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzSGlkaW5nICYmICF0aGlzLmlzVHJhbnNwYXJlbnRCbG9ja2luZ092ZXJsYXlBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQnV0dGVyRmFjZXMuT3ZlcmxheS5zaG93IC0gZGVmZXJyZWQ6IGlzVHJhbnNwYXJlbnRCbG9ja2luZ092ZXJsYXlBY3RpdmUgaXMgZmFsc2UsIHNob3dpbmcgdHJhbnNwYXJlbnQgb3ZlcmxheSBhZnRlciBkZWxheVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICRvdmVybGF5LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0hpZGluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJCdXR0ZXJGYWNlcy5PdmVybGF5LnNob3cgLSBkZWZlcnJlZDogc3RhcnRpbmcgYW5pbWF0aW9uIHRvIG1ha2Ugb3ZlcmxheSBpbnRyYW5zcGFyZW50XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJG92ZXJsYXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3RvcCh0cnVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hbmltYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDMwMCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkJ1dHRlckZhY2VzLk92ZXJsYXkuc2hvdyAtIGRlZmVycmVkOiBhbmltYXRpb24gZW5kZWQgdG8gbWFrZSBvdmVybGF5IGludHJhbnNwYXJlbnRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCB0aGlzLmRlbGF5KTtcbiAgICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGhpZGUoKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkJ1dHRlckZhY2VzLk92ZXJsYXkuaGlkZSAtIHN0YXJ0aW5nIGFuaW1hdGlvbiB0byBtYWtlIG92ZXJsYXkgdHJhbnNwYXJlbnRcIik7XG5cbiAgICAgICAgICAgIGxldCAkZWxlbWVudHNUb0Rpc2FibGUgPSAkKHRoaXMuc2VsZWN0b3IpO1xuICAgICAgICAgICAgdGhpcy5pc0hpZGluZyA9IHRydWU7XG5cbiAgICAgICAgICAgIEJ1dHRlckZhY2VzLk92ZXJsYXkuZmFkZU91dERldGFjaHRlZE92ZXJsYXlzKCk7XG5cbiAgICAgICAgICAgICRlbGVtZW50c1RvRGlzYWJsZS5lYWNoKChpbmRleCwgZWxlbWVudFRvRGlzYWJsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCAkZWxlbWVudFRvRGlzYWJsZSA9ICQoZWxlbWVudFRvRGlzYWJsZSk7XG4gICAgICAgICAgICAgICAgbGV0IG92ZXJsYXlVdWlkID0gJGVsZW1lbnRUb0Rpc2FibGUuYXR0cignZGF0YS1vdmVybGF5LXV1aWQnKTtcblxuICAgICAgICAgICAgICAgIGlmIChvdmVybGF5VXVpZCAhPT0gdW5kZWZpbmVkICYmIEJ1dHRlckZhY2VzLk92ZXJsYXkuZmluZE92ZXJsYXkob3ZlcmxheVV1aWQpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRvdmVybGF5ID0gQnV0dGVyRmFjZXMuT3ZlcmxheS5maW5kT3ZlcmxheSgkZWxlbWVudFRvRGlzYWJsZS5hdHRyKCdkYXRhLW92ZXJsYXktdXVpZCcpKTtcblxuICAgICAgICAgICAgICAgICAgICBCdXR0ZXJGYWNlcy5PdmVybGF5LmZhZGVPdXRPdmVybGF5KCRvdmVybGF5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBoaWRlQWxsKCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJCdXR0ZXJGYWNlcy5PdmVybGF5LmhpZGVBbGwgLSBzdGFydGluZyBhbmltYXRpb24gdG8gbWFrZSBhbGwgb3ZlcmxheXMgdHJhbnNwYXJlbnRcIik7XG5cbiAgICAgICAgICAgIEJ1dHRlckZhY2VzLk92ZXJsYXkuZmFkZU91dERldGFjaHRlZE92ZXJsYXlzKCk7XG4gICAgICAgICAgICBCdXR0ZXJGYWNlcy5PdmVybGF5LmZhZGVPdXRBdHRhY2h0ZWRPdmVybGF5cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgZmFkZU91dERldGFjaHRlZE92ZXJsYXlzKCkge1xuICAgICAgICAgICAgLy8gcmVtb3ZlIHVuYmluZGVkIGVsZW1lbnRzXG4gICAgICAgICAgICAkKCcuYnV0dGVyLWNvbXBvbmVudC1vdmVybGF5JykuZWFjaCgoaW5kZXgsIGVsZW1lbnRUb0NoZWNrKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0ICRvdmVybGF5ID0gJChlbGVtZW50VG9DaGVjayk7XG4gICAgICAgICAgICAgICAgbGV0IHV1aWRUb0NoZWNrID0gJChlbGVtZW50VG9DaGVjaykuYXR0cignZGF0YS1vdmVybGF5LXV1aWQnKTtcbiAgICAgICAgICAgICAgICBpZiAoJCgnW2RhdGEtb3ZlcmxheS11dWlkPScgKyB1dWlkVG9DaGVjayArICddJykubGVuZ3RoID09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgQnV0dGVyRmFjZXMuT3ZlcmxheS5mYWRlT3V0T3ZlcmxheSgkb3ZlcmxheSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgZmFkZU91dEF0dGFjaHRlZE92ZXJsYXlzKCkge1xuICAgICAgICAgICAgLy8gcmVtb3ZlIGJpbmRlZCBlbGVtZW50c1xuICAgICAgICAgICAgJCgnLmJ1dHRlci1jb21wb25lbnQtb3ZlcmxheScpLmVhY2goKGluZGV4LCBlbGVtZW50VG9DaGVjaykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCAkb3ZlcmxheSA9ICQoZWxlbWVudFRvQ2hlY2spO1xuICAgICAgICAgICAgICAgIGxldCB1dWlkVG9DaGVjayA9ICQoZWxlbWVudFRvQ2hlY2spLmF0dHIoJ2RhdGEtb3ZlcmxheS11dWlkJyk7XG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRzID0gJCgnW2RhdGEtb3ZlcmxheS11dWlkPScgKyB1dWlkVG9DaGVjayArICddJyk7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgQnV0dGVyRmFjZXMuT3ZlcmxheS5mYWRlT3V0T3ZlcmxheSgkb3ZlcmxheSk7XG5cbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudHMuZWFjaCgoaW5kZXgsIGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCAkZWxlbWVudCA9ICQoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC5yZW1vdmVBdHRyKCdkYXRhLW92ZXJsYXktdXVpZCcpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBwcml2YXRlIHN0YXRpYyBmYWRlT3V0T3ZlcmxheSgkb3ZlcmxheTphbnkpIHtcbiAgICAgICAgICAgICRvdmVybGF5XG4gICAgICAgICAgICAgICAgLnN0b3AodHJ1ZSlcbiAgICAgICAgICAgICAgICAuYW5pbWF0ZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDBcbiAgICAgICAgICAgICAgICB9LCAzMDAsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgJG92ZXJsYXkucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQnV0dGVyRmFjZXMuT3ZlcmxheS5oaWRlIC0gYW5pbWF0aW9uIGVuZGVkIHRvIG1ha2Ugb3ZlcmxheSB0cmFuc3BhcmVudCwgT1ZFUkxBWSBSRU1PVkVEXCIpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIHByaXZhdGUgc3RhdGljIGZpbmRPdmVybGF5KHV1aWQ6U3RyaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gJChcImJvZHkgLmJ1dHRlci1jb21wb25lbnQtb3ZlcmxheVtkYXRhLW92ZXJsYXktdXVpZD0nXCIgKyB1dWlkICsgXCInXVwiKTtcbiAgICAgICAgfVxuICAgIH1cbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=




© 2015 - 2025 Weber Informatics LLC | Privacy Policy