2015-03-14 07:10:00 +08:00
|
|
|
|
2016-06-30 08:02:45 +08:00
|
|
|
var
|
|
|
|
window = require('window'),
|
|
|
|
_ = require('_'),
|
|
|
|
|
|
|
|
PromisesPopulator = require('Promises/User/Populator'),
|
|
|
|
AbstractAjaxPromises = require('Promises/AbstractAjax');
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
* @extends AbstractAjaxPromises
|
|
|
|
*/
|
|
|
|
function UserAjaxUserPromises()
|
|
|
|
{
|
|
|
|
AbstractAjaxPromises.call(this);
|
|
|
|
}
|
|
|
|
|
|
|
|
_.extend(UserAjaxUserPromises.prototype, AbstractAjaxPromises.prototype);
|
|
|
|
|
|
|
|
UserAjaxUserPromises.prototype.foldersReload = function(fTrigger)
|
|
|
|
{
|
|
|
|
return this.abort('Folders')
|
|
|
|
.postRequest('Folders', fTrigger).then(function(oData) {
|
|
|
|
PromisesPopulator.foldersList(oData.Result);
|
|
|
|
PromisesPopulator.foldersAdditionalParameters(oData.Result);
|
|
|
|
return true;
|
2015-03-17 22:12:19 +08:00
|
|
|
});
|
2016-06-30 08:02:45 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
UserAjaxUserPromises.prototype.foldersTimeout = 0;
|
|
|
|
UserAjaxUserPromises.prototype.foldersReloadWithTimeout = function(fTrigger)
|
|
|
|
{
|
|
|
|
this.setTrigger(fTrigger, true);
|
|
|
|
|
|
|
|
var self = this;
|
|
|
|
window.clearTimeout(this.foldersTimeout);
|
|
|
|
this.foldersTimeout = window.setTimeout(function() {
|
|
|
|
self.foldersReload(fTrigger);
|
|
|
|
}, 500);
|
|
|
|
};
|
|
|
|
|
|
|
|
UserAjaxUserPromises.prototype.folderDelete = function(sFolderFullNameRaw, fTrigger)
|
|
|
|
{
|
|
|
|
return this.postRequest('FolderDelete', fTrigger, {
|
|
|
|
'Folder': sFolderFullNameRaw
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
UserAjaxUserPromises.prototype.folderCreate = function(sNewFolderName, sParentName, fTrigger)
|
|
|
|
{
|
|
|
|
return this.postRequest('FolderCreate', fTrigger, {
|
|
|
|
'Folder': sNewFolderName,
|
|
|
|
'Parent': sParentName
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
UserAjaxUserPromises.prototype.folderRename = function(sPrevFolderFullNameRaw, sNewFolderName, fTrigger)
|
|
|
|
{
|
|
|
|
return this.postRequest('FolderRename', fTrigger, {
|
|
|
|
'Folder': sPrevFolderFullNameRaw,
|
|
|
|
'NewFolderName': sNewFolderName
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
UserAjaxUserPromises.prototype.attachmentsActions = function(sAction, aHashes, fTrigger)
|
|
|
|
{
|
|
|
|
return this.postRequest('AttachmentsActions', fTrigger, {
|
|
|
|
'Do': sAction,
|
|
|
|
'Hashes': aHashes
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
UserAjaxUserPromises.prototype.welcomeClose = function()
|
|
|
|
{
|
|
|
|
return this.postRequest('WelcomeClose');
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = new UserAjaxUserPromises();
|