mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-30 12:39:20 +03:00
Sound notification
Additional code refactoring
This commit is contained in:
parent
b42ce01e7e
commit
aa84077ac4
87 changed files with 1573 additions and 574 deletions
|
|
@ -314,6 +314,10 @@
|
|||
});
|
||||
|
||||
ssm.ready();
|
||||
|
||||
require('Stores/Language').populate();
|
||||
require('Stores/Theme').populate();
|
||||
require('Stores/Social').populate();
|
||||
};
|
||||
|
||||
module.exports = AbstractApp;
|
||||
|
|
|
|||
115
dev/App/Admin.js
115
dev/App/Admin.js
|
|
@ -15,7 +15,11 @@
|
|||
Translator = require('Common/Translator'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
Data = require('Storage/Admin/Data'),
|
||||
DomainStore = require('Stores/Admin/Domain'),
|
||||
PluginStore = require('Stores/Admin/Plugin'),
|
||||
LicenseStore = require('Stores/Admin/License'),
|
||||
PackageStore = require('Stores/Admin/Package'),
|
||||
CoreStore = require('Stores/Admin/Core'),
|
||||
Remote = require('Storage/Admin/Remote'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
|
|
@ -38,17 +42,12 @@
|
|||
return Remote;
|
||||
};
|
||||
|
||||
AdminApp.prototype.data = function ()
|
||||
{
|
||||
return Data;
|
||||
};
|
||||
|
||||
AdminApp.prototype.reloadDomainList = function ()
|
||||
{
|
||||
Data.domains.loading(true);
|
||||
DomainStore.collection.loading(true);
|
||||
|
||||
Remote.domainList(function (sResult, oData) {
|
||||
Data.domains.loading(false);
|
||||
DomainStore.collection.loading(false);
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
var aList = _.map(oData.Result, function (bEnabled, sName) {
|
||||
|
|
@ -59,17 +58,18 @@
|
|||
};
|
||||
}, this);
|
||||
|
||||
Data.domains(aList);
|
||||
DomainStore.collection(aList);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
AdminApp.prototype.reloadPluginList = function ()
|
||||
{
|
||||
Data.plugins.loading(true);
|
||||
PluginStore.collection.loading(true);
|
||||
|
||||
Remote.pluginList(function (sResult, oData) {
|
||||
|
||||
Data.plugins.loading(false);
|
||||
PluginStore.collection.loading(false);
|
||||
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
|
|
@ -81,31 +81,31 @@
|
|||
};
|
||||
}, this);
|
||||
|
||||
Data.plugins(aList);
|
||||
PluginStore.collection(aList);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
AdminApp.prototype.reloadPackagesList = function ()
|
||||
{
|
||||
Data.packages.loading(true);
|
||||
Data.packagesReal(true);
|
||||
PackageStore.collection.loading(true);
|
||||
PackageStore.packagesReal(true);
|
||||
|
||||
Remote.packagesList(function (sResult, oData) {
|
||||
|
||||
Data.packages.loading(false);
|
||||
PackageStore.collection.loading(false);
|
||||
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
Data.packagesReal(!!oData.Result.Real);
|
||||
Data.packagesMainUpdatable(!!oData.Result.MainUpdatable);
|
||||
PackageStore.packagesReal(!!oData.Result.Real);
|
||||
PackageStore.packagesMainUpdatable(!!oData.Result.MainUpdatable);
|
||||
|
||||
var
|
||||
aList = [],
|
||||
aLoading = {}
|
||||
;
|
||||
|
||||
_.each(Data.packages(), function (oItem) {
|
||||
_.each(PackageStore.collection(), function (oItem) {
|
||||
if (oItem && oItem['loading']())
|
||||
{
|
||||
aLoading[oItem['file']] = oItem;
|
||||
|
|
@ -124,33 +124,33 @@
|
|||
}));
|
||||
}
|
||||
|
||||
Data.packages(aList);
|
||||
PackageStore.collection(aList);
|
||||
}
|
||||
else
|
||||
{
|
||||
Data.packagesReal(false);
|
||||
PackageStore.packagesReal(false);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
AdminApp.prototype.updateCoreData = function ()
|
||||
{
|
||||
Data.coreUpdating(true);
|
||||
CoreStore.coreUpdating(true);
|
||||
Remote.updateCoreData(function (sResult, oData) {
|
||||
|
||||
Data.coreUpdating(false);
|
||||
Data.coreRemoteVersion('');
|
||||
Data.coreRemoteRelease('');
|
||||
Data.coreVersionCompare(-2);
|
||||
CoreStore.coreUpdating(false);
|
||||
CoreStore.coreRemoteVersion('');
|
||||
CoreStore.coreRemoteRelease('');
|
||||
CoreStore.coreVersionCompare(-2);
|
||||
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
Data.coreReal(true);
|
||||
CoreStore.coreReal(true);
|
||||
window.location.reload();
|
||||
}
|
||||
else
|
||||
{
|
||||
Data.coreReal(false);
|
||||
CoreStore.coreReal(false);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -158,32 +158,32 @@
|
|||
|
||||
AdminApp.prototype.reloadCoreData = function ()
|
||||
{
|
||||
Data.coreChecking(true);
|
||||
Data.coreReal(true);
|
||||
CoreStore.coreChecking(true);
|
||||
CoreStore.coreReal(true);
|
||||
|
||||
Remote.coreData(function (sResult, oData) {
|
||||
|
||||
Data.coreChecking(false);
|
||||
CoreStore.coreChecking(false);
|
||||
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
Data.coreReal(!!oData.Result.Real);
|
||||
Data.coreChannel(oData.Result.Channel || 'stable');
|
||||
Data.coreType(oData.Result.Type || 'stable');
|
||||
Data.coreUpdatable(!!oData.Result.Updatable);
|
||||
Data.coreAccess(!!oData.Result.Access);
|
||||
Data.coreRemoteVersion(oData.Result.RemoteVersion || '');
|
||||
Data.coreRemoteRelease(oData.Result.RemoteRelease || '');
|
||||
Data.coreVersionCompare(Utils.pInt(oData.Result.VersionCompare));
|
||||
CoreStore.coreReal(!!oData.Result.Real);
|
||||
CoreStore.coreChannel(oData.Result.Channel || 'stable');
|
||||
CoreStore.coreType(oData.Result.Type || 'stable');
|
||||
CoreStore.coreUpdatable(!!oData.Result.Updatable);
|
||||
CoreStore.coreAccess(!!oData.Result.Access);
|
||||
CoreStore.coreRemoteVersion(oData.Result.RemoteVersion || '');
|
||||
CoreStore.coreRemoteRelease(oData.Result.RemoteRelease || '');
|
||||
CoreStore.coreVersionCompare(Utils.pInt(oData.Result.VersionCompare));
|
||||
}
|
||||
else
|
||||
{
|
||||
Data.coreReal(false);
|
||||
Data.coreChannel('stable');
|
||||
Data.coreType('stable');
|
||||
Data.coreRemoteVersion('');
|
||||
Data.coreRemoteRelease('');
|
||||
Data.coreVersionCompare(-2);
|
||||
CoreStore.coreReal(false);
|
||||
CoreStore.coreChannel('stable');
|
||||
CoreStore.coreType('stable');
|
||||
CoreStore.coreRemoteVersion('');
|
||||
CoreStore.coreRemoteRelease('');
|
||||
CoreStore.coreVersionCompare(-2);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
@ -196,18 +196,18 @@
|
|||
{
|
||||
bForce = Utils.isUnd(bForce) ? false : !!bForce;
|
||||
|
||||
Data.licensingProcess(true);
|
||||
Data.licenseError('');
|
||||
LicenseStore.licensingProcess(true);
|
||||
LicenseStore.licenseError('');
|
||||
|
||||
Remote.licensing(function (sResult, oData) {
|
||||
Data.licensingProcess(false);
|
||||
LicenseStore.licensingProcess(false);
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result && Utils.isNormal(oData.Result['Expired']))
|
||||
{
|
||||
Data.licenseValid(true);
|
||||
Data.licenseExpired(Utils.pInt(oData.Result['Expired']));
|
||||
Data.licenseError('');
|
||||
LicenseStore.licenseValid(true);
|
||||
LicenseStore.licenseExpired(Utils.pInt(oData.Result['Expired']));
|
||||
LicenseStore.licenseError('');
|
||||
|
||||
Data.licensing(true);
|
||||
LicenseStore.licensing(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -216,19 +216,19 @@
|
|||
Enums.Notification.LicensingExpired
|
||||
]))
|
||||
{
|
||||
Data.licenseError(Translator.getNotification(Utils.pInt(oData.ErrorCode)));
|
||||
Data.licensing(true);
|
||||
LicenseStore.licenseError(Translator.getNotification(Utils.pInt(oData.ErrorCode)));
|
||||
LicenseStore.licensing(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Enums.StorageResultType.Abort === sResult)
|
||||
{
|
||||
Data.licenseError(Translator.getNotification(Enums.Notification.LicensingServerIsUnavailable));
|
||||
Data.licensing(true);
|
||||
LicenseStore.licenseError(Translator.getNotification(Enums.Notification.LicensingServerIsUnavailable));
|
||||
LicenseStore.licensing(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
Data.licensing(false);
|
||||
LicenseStore.licensing(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -239,7 +239,8 @@
|
|||
{
|
||||
AbstractApp.prototype.bootstart.call(this);
|
||||
|
||||
Data.populateDataOnStart();
|
||||
require('Stores/Admin/App').populate();
|
||||
require('Stores/Admin/Capa').populate();
|
||||
|
||||
kn.hideLoading();
|
||||
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@
|
|||
kn = require('Knoin/Knoin'),
|
||||
|
||||
SocialStore = require('Stores/Social'),
|
||||
UserSettingsStore = require('Stores/UserSettings'),
|
||||
SettingsUserStore = require('Stores/User/Settings'),
|
||||
|
||||
Local = require('Storage/Local'),
|
||||
Local = require('Storage/Client'),
|
||||
Settings = require('Storage/Settings'),
|
||||
Data = require('Storage/User/Data'),
|
||||
Cache = require('Storage/User/Cache'),
|
||||
|
|
@ -136,11 +136,6 @@
|
|||
return Remote;
|
||||
};
|
||||
|
||||
AppUser.prototype.data = function ()
|
||||
{
|
||||
return Data;
|
||||
};
|
||||
|
||||
AppUser.prototype.reloadFlagsCurrentMessageListAndMessageFromCache = function ()
|
||||
{
|
||||
_.each(Data.messageList(), function (oMessage) {
|
||||
|
|
@ -158,7 +153,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
iOffset = (Data.messageListPage() - 1) * UserSettingsStore.messagesPerPage()
|
||||
iOffset = (Data.messageListPage() - 1) * SettingsUserStore.messagesPerPage()
|
||||
;
|
||||
|
||||
if (Utils.isUnd(bDropCurrenFolderCache) ? false : !!bDropCurrenFolderCache)
|
||||
|
|
@ -195,12 +190,12 @@
|
|||
);
|
||||
}
|
||||
|
||||
}, Data.currentFolderFullNameRaw(), iOffset, UserSettingsStore.messagesPerPage(), Data.messageListSearch());
|
||||
}, Data.currentFolderFullNameRaw(), iOffset, SettingsUserStore.messagesPerPage(), Data.messageListSearch());
|
||||
};
|
||||
|
||||
AppUser.prototype.recacheInboxMessageList = function ()
|
||||
{
|
||||
Remote.messageList(Utils.emptyFunction, Cache.getFolderInboxName(), 0, UserSettingsStore.messagesPerPage(), '', true);
|
||||
Remote.messageList(Utils.emptyFunction, Cache.getFolderInboxName(), 0, SettingsUserStore.messagesPerPage(), '', true);
|
||||
};
|
||||
|
||||
AppUser.prototype.reloadMessageListHelper = function (bEmptyList)
|
||||
|
|
@ -585,7 +580,7 @@
|
|||
Utils.isArray(oData.Result) && 1 < oData.Result.length &&
|
||||
Utils.isPosNumeric(oData.Result[0], true) && Utils.isPosNumeric(oData.Result[1], true))
|
||||
{
|
||||
require('Stores/Quota').populateData(
|
||||
require('Stores/User/Quota').populateData(
|
||||
Utils.pInt(oData.Result[1]), Utils.pInt(oData.Result[0]));
|
||||
}
|
||||
});
|
||||
|
|
@ -999,7 +994,7 @@
|
|||
|
||||
Data.messageListCount(iCount);
|
||||
Data.messageListSearch(Utils.isNormal(oData.Result.Search) ? oData.Result.Search : '');
|
||||
Data.messageListPage(window.Math.ceil((iOffset / UserSettingsStore.messagesPerPage()) + 1));
|
||||
Data.messageListPage(window.Math.ceil((iOffset / SettingsUserStore.messagesPerPage()) + 1));
|
||||
Data.messageListEndFolder(Utils.isNormal(oData.Result.Folder) ? oData.Result.Folder : '');
|
||||
Data.messageListEndSearch(Utils.isNormal(oData.Result.Search) ? oData.Result.Search : '');
|
||||
Data.messageListEndPage(Data.messageListPage());
|
||||
|
|
@ -1014,7 +1009,7 @@
|
|||
|
||||
Cache.clearNewMessageCache();
|
||||
|
||||
if (oFolder && (bCached || bUnreadCountChange || Data.useThreads()))
|
||||
if (oFolder && (bCached || bUnreadCountChange || SettingsUserStore.useThreads()))
|
||||
{
|
||||
this.folderInformation(oFolder.fullNameRaw, aList);
|
||||
}
|
||||
|
|
@ -1384,6 +1379,10 @@
|
|||
{
|
||||
AbstractApp.prototype.bootstart.call(this);
|
||||
|
||||
require('Stores/User/App').populate();
|
||||
require('Stores/User/Settings').populate();
|
||||
require('Stores/User/Notification').populate();
|
||||
|
||||
Data.populateDataOnStart();
|
||||
|
||||
var
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue