/*
* The PageMessagesView is a wrapper to display errors on a page
*/
define([
'common/Class',
'/static/app/DA-ITSI-CP-windows-dashboards/js/common/contrib/underscore.js',
'/static/app/DA-ITSI-CP-windows-dashboards/js/common/contrib/jquery-3.5.0.min.js'
],
function(
Class,
_
) {
var PageMessagesView = function(pageSel) {
this._pageSel = pageSel;
this._messagesPaneSel = this._pageSel + ' #page-messages-view';
};
var PageMessagesViewClass = Class.makeClass(PageMessagesView);
PageMessagesViewClass.addMessage = function(message, messageType, messageId) {
if (!$(this._messagesPaneSel).length) {
$(this._pageSel).prepend(' \
\
'
);
}
$(this._messagesPaneSel).show();
if (_.isUndefined(messageType) || _.isNull(messageType)) {
messageType = PageMessagesViewClass.InfoMessageType;
}
var messageIdPart = !_.isUndefined(messageId) && !_.isNull(messageId) ?
'id="' + messageId + '"' : '';
$(this._messagesPaneSel).append(' \
'
);
return this;
};
PageMessagesViewClass.clearMessage = function(messageId) {
$(this._messagesPaneSel).find('#' + messageId).remove();
return this;
};
PageMessagesViewClass.clearAllMessages = function() {
$(this._messagesPaneSel).hide();
$(this._messagesPaneSel).empty();
return this;
};
PageMessagesViewClass.InfoMessageType = 'alert-info';
PageMessagesViewClass.WarningMessageType = 'alert-warning';
PageMessagesViewClass.ErrorMessageType = 'alert-error';
return PageMessagesView;
});