META-INF.resources.butterfaces-dist-bundle-js.butterfaces-ts-bundle.js Maven / Gradle / Ivy
var ButterFaces;
(function (ButterFaces) {
var Guid = (function () {
function Guid() {
}
Guid.newGuid = function () {
return 'xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
};
return Guid;
})();
ButterFaces.Guid = Guid;
})(ButterFaces || (ButterFaces = {}));
///
///
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;
void 0;
}
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) {
void 0;
return;
}
else {
$elementToDisable.removeAttr('data-overlay-uuid');
}
}
void 0;
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());
$overlay.width($elementToDisable.outerWidth());
$overlay.height($elementToDisable.outerHeight());
$overlay.addClass('overlay-body-child');
$overlay.css({ 'position': 'absolute' }); // IE overrides css position so set it here
}
$('body').append($overlay);
if (_this.isTransparentBlockingOverlayActive) {
void 0;
$overlay.show();
}
window.setTimeout(function () {
if (!_this.isHiding && !_this.isTransparentBlockingOverlayActive) {
void 0;
$overlay.show();
}
if (!_this.isHiding) {
void 0;
$overlay
.stop(true)
.animate({
opacity: 1
}, 300, function () {
void 0;
});
}
}, _this.delay);
//}
});
};
Overlay.prototype.hide = function () {
void 0;
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 () {
void 0;
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();
void 0;
});
};
;
Overlay.findOverlay = function (uuid) {
return $("body .butter-component-overlay[data-overlay-uuid='" + uuid + "']");
};
return Overlay;
})();
ButterFaces.Overlay = Overlay;
})(ButterFaces || (ButterFaces = {}));
///
var ButterFaces;
(function (ButterFaces) {
var Tooltip = (function () {
function Tooltip(popoverMaxWidthByBootstrap, popoverMaxHeightByButterFaces) {
if (popoverMaxWidthByBootstrap === void 0) { popoverMaxWidthByBootstrap = 276; }
if (popoverMaxHeightByButterFaces === void 0) { popoverMaxHeightByButterFaces = 110; }
this.popoverMaxWidthByBootstrap = popoverMaxWidthByBootstrap;
this.popoverMaxHeightByButterFaces = popoverMaxHeightByButterFaces;
void 0;
}
Tooltip.prototype.calculateTooltipPosition = function (popover, source) {
var offsetBottom = $(window).height() - $(source).offset().top - $(source).outerHeight();
var offsetRight = $(window).width() - $(source).offset().left - $(source).outerWidth();
void 0;
void 0;
if (offsetBottom < this.popoverMaxHeightByButterFaces) {
if (offsetRight < this.popoverMaxWidthByBootstrap) {
void 0;
if ($(source).offset().left < this.popoverMaxWidthByBootstrap) {
void 0;
return 'top';
}
void 0;
return 'left';
}
void 0;
return 'right';
}
void 0;
return 'bottom';
};
;
return Tooltip;
})();
ButterFaces.Tooltip = Tooltip;
})(ButterFaces || (ButterFaces = {}));
///
///
var ButterFaces;
(function (ButterFaces) {
var WaitingPanel = (function () {
function WaitingPanel(overlay) {
this.overlay = overlay;
}
WaitingPanel.prototype.processAjaxUpdate = function () {
var _this = this;
var ajaxRequestsRunning = 0;
return function (_a) {
var status = _a.status;
void 0;
if (status == 'begin') {
ajaxRequestsRunning++;
}
else if (status == 'success') {
ajaxRequestsRunning--;
}
if (ajaxRequestsRunning > 0) {
void 0;
_this.overlay.show();
}
else {
void 0;
_this.overlay.hide();
}
};
};
WaitingPanel.prototype.processOnError = function (data) {
if (data) {
void 0;
ButterFaces.Overlay.hideAll();
}
};
return WaitingPanel;
})();
ButterFaces.WaitingPanel = WaitingPanel;
})(ButterFaces || (ButterFaces = {}));
(function ($) {
// extend jQuery --------------------------------------------------------------------
var eventRegistered = false;
var overlay;
$.fn.waitingPanel = function (_a) {
var waitingPanelDelay = _a.waitingPanelDelay, blockpage = _a.blockpage;
return this.each(function () {
// I found no way to remove event listener from jsf js.
// I tried to register a callback once and change it on render waiting panel but after this
// no waiting panel appears anymore.
// Actually on each rendering of this component a new callback is put on event listener collection.
if (!eventRegistered) {
//console.log('waitingPanel - register: ' + _elementId);
overlay = new ButterFaces.Overlay(waitingPanelDelay, blockpage);
var waitingPanel = new ButterFaces.WaitingPanel(overlay);
jsf.ajax.addOnEvent(waitingPanel.processAjaxUpdate());
jsf.ajax.addOnError(waitingPanel.processOnError);
eventRegistered = true;
}
overlay.delay = waitingPanelDelay;
overlay.isTransparentBlockingOverlayActive = blockpage;
});
};
}(jQuery));
© 2015 - 2025 Weber Informatics LLC | Privacy Policy