File: /home/barbeatleanalyti/public_html/public_html/webmail/modules/MailWebclient/js/Ajax.js
'use strict';
var
Ajax = require('%PathToCoreWebclientModule%/js/Ajax.js'),
Settings = require('modules/%ModuleName%/js/Settings.js')
;
Ajax.registerAbortRequestHandler(Settings.ServerModuleName, function (oRequest, oOpenedRequest) {
var
oParameters = oRequest.Parameters,
oOpenedParameters = oOpenedRequest.Parameters
;
switch (oRequest.Method)
{
case 'MoveMessages':
case 'DeleteMessages':
return oOpenedRequest.Method === 'GetMessage' ||
oOpenedRequest.Method === 'GetMessages' && oOpenedParameters.Folder === oParameters.Folder;
case 'GetMessages':
case 'SetMessagesSeen':
case 'SetMessageFlagged':
return oOpenedRequest.Method === 'GetMessages' && oOpenedParameters.Folder === oParameters.Folder;
case 'SetAllMessagesSeen':
return (oOpenedRequest.Method === 'GetMessages' || oOpenedRequest.Method === 'GetMessages') &&
oOpenedParameters.Folder === oParameters.Folder;
case 'ClearFolder':
// GetRelevantFoldersInformation-request aborted during folder cleaning, not to get the wrong information.
return oOpenedRequest.Method === 'GetRelevantFoldersInformation' ||
oOpenedRequest.Method === 'GetMessages' && oOpenedParameters.Folder === oParameters.Folder;
case 'GetRelevantFoldersInformation':
return oOpenedRequest.Method === 'GetRelevantFoldersInformation' && oParameters.AccountID === oOpenedParameters.AccountID;
case 'GetMessagesFlags':
return oOpenedRequest.Method === 'GetMessagesFlags';
}
return false;
});
module.exports = {
getOpenedRequest: function (sMethod) {
Ajax.getOpenedRequest('Mail', sMethod);
},
hasOpenedRequests: function (sMethod) {
Ajax.hasOpenedRequests('Mail', sMethod);
},
registerOnAllRequestsClosedHandler: Ajax.registerOnAllRequestsClosedHandler,
send: function (sMethod, oParameters, fResponseHandler, oContext) {
var
MailCache = require('modules/%ModuleName%/js/Cache.js'),
iTimeout = (sMethod === 'GetMessagesBodies') ? 100000 : undefined
;
if (oParameters && !oParameters.AccountID)
{
oParameters.AccountID = MailCache.currentAccountId();
}
Ajax.send(Settings.ServerModuleName, sMethod, oParameters, fResponseHandler, oContext, iTimeout);
}
};