N°3795 - Replace JS alert native calls with centralized informative modals (#456)

* N°3795 - Replace JS alert native calls with centralized informative modals

* N°3795 - Add constants for severity

* N°3795 - Fix success severity value wrongfully set to 'error'

* N°3795 - Add constants for severity

* N°3795 - Simplify API consumption

* N°3795 - Allows to pass more options when consuming API
This commit is contained in:
Stephen Abello
2023-03-31 10:24:49 +02:00
committed by GitHub
parent 383b5623b1
commit a80506b8e8
12 changed files with 68 additions and 27 deletions

View File

@@ -1541,7 +1541,7 @@ class DisplayableGraph extends SimpleGraph
}
catch(err)
{
alert(err);
CombodoModal.OpenErrorModal(err);
}
}
EOF

View File

@@ -406,7 +406,7 @@ $(function()
{
if(data.result.error !== '')
{
alert(data.result.error);
CombodoModal.OpenErrorModal(data.result.error);
me.element.dialog('close');
}
else

View File

@@ -769,7 +769,7 @@ function ExtKeyWidget(id, sTargetClass, sFilter, sTitle, bSelectMode, oWizHelper
$('#fstatus_'+me.id).html('');
if (data.id == 0) {
$('#label_'+me.id).removeClass('ac_dlg_loading');
alert(data.error);
CombodoModal.OpenErrorModal(data.error);
} else if (me.bSelectMode) {
// Add the newly created object to the drop-down list and select it
/*$('<option/>', { value : data.id }).html(data.name).appendTo('#'+me.id);

View File

@@ -155,7 +155,7 @@ function CheckFields(sFormId, bDisplayAlert)
// if some fields are in wait, no submit is allowed
if ($('#'+sFormId+' .blockMsg').length>0)
{
alert(Dict.S('UI:Button:Wait'));
CombodoModal.OpenWarningModal(Dict.S('UI:Button:Wait'));
return false;
}
@@ -178,7 +178,7 @@ function CheckFields(sFormId, bDisplayAlert)
if (bDisplayAlert)
{
activateFirstTabWithError(sFormId);
alert(Dict.S('UI:FillAllMandatoryFields'));
CombodoModal.OpenErrorModal(Dict.S('UI:FillAllMandatoryFields'));
}
$('#'+sFormId+' :submit').prop('disable', false);
$('#'+sFormId+' :button[type=submit]').prop('disable', false);

View File

@@ -953,13 +953,11 @@ $(function()
'json'
)
.fail(function (oXHR, sStatus, sErrorThrown) {
// TODO 3.0.0: Maybe we could have a centralized dialog to display error messages?
alert(sErrorThrown);
CombodoModal.OpenErrorModal(sErrorThrown);
})
.done(function (oData) {
if (false === oData.data.success) {
// TODO 3.0.0: Same comment as the fail() callback
alert(oData.data.error_message);
CombodoModal.OpenErrorModal(oData.data.error_message);
return false;
}
@@ -1142,8 +1140,7 @@ $(function()
sNewLockStatus = me.enums.lock_status.locked_by_someone_else;
} else if ('expired' === oData.operation) {
sNewLockStatus = me.enums.lock_status.unknown;
// TODO 3.0.0: Maybe we could use a centralized dialog to display error message?
alert(oData.popup_message);
CombodoModal.OpenErrorModal(oData.popup_message);
}
} else {
sNewLockStatus = me.enums.lock_status.locked_by_myself;
@@ -1392,13 +1389,11 @@ $(function()
'json'
)
.fail(function (oXHR, sStatus, sErroThrown) {
// TODO 3.0.0: Maybe we could have a centralized dialog to display error messages?
alert(sErrorThrown);
CombodoModal.OpenErrorModal(sErrorThrown);
})
.done(function (oData) {
if (false === oData.data.success) {
// TODO 3.0.0: Same comment as the fail() callback
alert(oData.data.error_message);
CombodoModal.OpenErrorModal(oData.data.error_message);
return false;
}

View File

@@ -38,7 +38,7 @@ $(function()
if (data.data.success === true) {
me.$tableSettingsDialog.DataTableSettings('DoRefresh');
} else {
CombodoModal.OpenInformativeModal(data.data.error_message, 'error');
CombodoModal.OpenErrorModal(data.data.error_message);
}
});
},
@@ -59,7 +59,7 @@ $(function()
if (data.data.success === true) {
me.$tableSettingsDialog.DataTableSettings('DoRefresh');
} else {
CombodoModal.OpenInformativeModal(data.data.error_message, 'error');
CombodoModal.OpenErrorModal(data.data.error_message);
}
});
},

View File

@@ -553,7 +553,7 @@ function ExportInitButton(sSelector) {
var aMessages = $('#export-form').data('validation_messages');
if (aMessages.length > 0) {
alert(aMessages.join(''));
CombodoModal.OpenErrorModal(aMessages.join(''));
return;
}
if ($(this).hasClass('ui-button')) {
@@ -1210,6 +1210,12 @@ const CombodoInlineImage = {
* @since 3.1.0
*/
let CombodoModal = {
INFORMATIVE_MODAL_SEVERITY_SUCCESS : 'success',
INFORMATIVE_MODAL_SEVERITY_INFORMATION : 'information',
INFORMATIVE_MODAL_SEVERITY_WARNING : 'warning',
INFORMATIVE_MODAL_SEVERITY_ERROR : 'error',
/**
* Close all opened modals on the page
*
@@ -1421,5 +1427,45 @@ let CombodoModal = {
OpenInformativeModal: function(sMessage,sSeverity, oOptions) {
// Meant for overlaoding
CombodoJSConsole.Debug('CombodoModal.OpenInformativeModal not implemented');
}
},
/**
* Open a standard informative modal for success messages.
*
* @param sMessage string Informative success message to be displayed in the modal
* @param oOptions array @see CombodoModal.OpenModal
*/
OpenSuccessModal: function(sMessage, oOptions) {
CombodoModal.OpenInformativeModal(sMessage, CombodoModal.INFORMATIVE_MODAL_SEVERITY_SUCCESS, oOptions);
},
/**
* Open a standard informative modal for information messages.
*
* @param sMessage string Informative information success to be displayed in the modal
* @param oOptions array @see CombodoModal.OpenModal
*/
OpenInformationModal: function(sMessage, oOptions) {
CombodoModal.OpenInformativeModal(sMessage, CombodoModal.INFORMATIVE_MODAL_SEVERITY_INFORMATION, oOptions);
},
/**
* Open a standard informative modal for warning messages.
*
* @param sMessage string Informative warning message to be displayed in the modal
* @param oOptions array @see CombodoModal.OpenModal
*/
OpenWarningModal: function(sMessage, oOptions) {
CombodoModal.OpenInformativeModal(sMessage, CombodoModal.INFORMATIVE_MODAL_SEVERITY_WARNING, oOptions);
},
/**
* Open a standard informative error modal for success messages.
*
* @param sMessage string Informative error message to be displayed in the modal
* @param oOptions array @see CombodoModal.OpenModal
*/
OpenErrorModal: function(sMessage, oOptions) {
CombodoModal.OpenInformativeModal(sMessage, CombodoModal.INFORMATIVE_MODAL_SEVERITY_ERROR, oOptions);
},
};

View File

@@ -1415,7 +1415,7 @@ try
$sSeverity = 'info';
}
$sIssueDesc = Dict::Format('UI:ObjectCouldNotBeWritten',$sIssues);
$oP->add_ready_script("alert('".addslashes($sIssueDesc)."');");
$oP->add_ready_script("CombodoModal.OpenErrorModal('".addslashes($sIssueDesc)."');");
}
else
{

View File

@@ -1052,16 +1052,16 @@ EOF
});
if (!bMappingOk)
{
alert("$sAlertIncompleteMapping");
CombodoModal.OpenErrorModal('$sAlertIncompleteMapping');
}
if (bMultipleMapping)
{
alert("$sAlertMultipleMapping");
CombodoModal.OpenErrorModal('$sAlertMultipleMapping');
}
if (!bSearchOk)
{
bResult = false;
alert("$sAlertNoSearchCriteria");
CombodoModal.OpenErrorModal('$sAlertNoSearchCriteria');
}
if (bResult)

View File

@@ -101,7 +101,7 @@ class ObjectController extends AbstractController
window.bInSubmit = false;
oForm.attr('data-form-state', 'default');
/* Display error popup */
CombodoModal.OpenInformativeModal(data.data.error_message, 'error');
CombodoModal.OpenErrorModal(data.data.error_message);
}
});
}

View File

@@ -191,7 +191,7 @@ class LinkSetController extends AbstractController
window.bInSubmit = false;
oForm.attr('data-form-state', 'default');
/* Display error popup */
CombodoModal.OpenInformativeModal(data.data.error_message, 'error');
CombodoModal.OpenErrorModal(data.data.error_message);
}
});
}

View File

@@ -179,7 +179,7 @@ $('#export-form').on('submit', function() {
var sOQL = $('#textarea_oql').val();
if (sOQL == '')
{
alert($sJSEmptyOQL);
CombodoModal.OpenErrorModal($sJSEmptyOQL);
return false;
}
}
@@ -188,7 +188,7 @@ $('#export-form').on('submit', function() {
var sQueryId = $('#select_phrasebook').val();
if (sQueryId == '')
{
alert($sJSEmptyQueryId);
CombodoModal.OpenErrorModal($sJSEmptyQueryId);
return false;
}
}