We have introduce new wrapper class "AlertifyWrapper" and replace calls to alertify.success and alertify.error with following two lines in most of the files
var alertifyWrapper = new AlertifyWrapper();
alertifyWrapper.success(message); or alertifyWrapper.error(message);
For each call we are creating dynamic object of AlertifyWrapper and call the appropriate function. For example there are 20 such calls in a single js file every time are are creating object and call appropriate function.
I have tried to improve the logic here and implemented it as below:
Extend alertify and move success, error and info functions from "alertify_wrapper.js" file to "alertify.pgadmin.defaults.js", there will be no use of "alertify_wrapper.js"
Modify only "server.js" as POC, remove 'alertify' and replace 'sources/alerts/alertify_wrapper' with 'pgadmin.alertifyjs' which is nothing but mapping of "alertify.pgadmin.defaults.js" from defines and named the reference object to 'alertify' so no need to change any function call like "alertify.success, alertify.error".
One more benefit of the above approach is if in future we want to use the same style for alertify.warning, alertify.info, alertify.message etc.., we will just have to extend that method in "alertify.pgadmin.defaults.js" and no need to change the rest of the function call with AlertifyWrapper.
Attached is the POC patch, if it looks good then I'll start working on replacing AlertifyWrapper with the above mentioned approach.