mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-09-20 15:45:55 +08:00
Code refactoring
This commit is contained in:
parent
36329110e5
commit
b4f416b6f8
|
@ -2,5 +2,5 @@
|
|||
|
||||
(function (require) {
|
||||
'use strict';
|
||||
require('./Boot.js')(require('./Apps/AdminApp.js'));
|
||||
require('App:Boot')(require('App:Admin'));
|
||||
}(require));
|
|
@ -9,7 +9,7 @@
|
|||
_ = require('_'),
|
||||
window = require('window'),
|
||||
$html = require('$html'),
|
||||
$window = require('$window'),
|
||||
$win = require('$win'),
|
||||
$doc = require('$doc'),
|
||||
|
||||
Globals = require('Globals'),
|
||||
|
@ -17,9 +17,9 @@
|
|||
LinkBuilder = require('LinkBuilder'),
|
||||
Events = require('Events'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
|
||||
KnoinAbstractBoot = require('KnoinAbstractBoot')
|
||||
KnoinAbstractBoot = require('Knoin:AbstractBoot')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -35,7 +35,7 @@
|
|||
|
||||
this.iframe = $('<iframe style="display:none" src="javascript:;" />').appendTo('body');
|
||||
|
||||
$window.on('error', function (oEvent) {
|
||||
$win.on('error', function (oEvent) {
|
||||
if (oEvent && oEvent.originalEvent && oEvent.originalEvent.message &&
|
||||
-1 === Utils.inArray(oEvent.originalEvent.message, [
|
||||
'Script error.', 'Uncaught Error: Error calling method on NPObject.'
|
||||
|
@ -129,7 +129,7 @@
|
|||
AbstractApp.prototype.setTitle = function (sTitle)
|
||||
{
|
||||
sTitle = ((Utils.isNormal(sTitle) && 0 < sTitle.length) ? sTitle + ' - ' : '') +
|
||||
AppSettings.settingsGet('Title') || '';
|
||||
Settings.settingsGet('Title') || '';
|
||||
|
||||
window.document.title = '_';
|
||||
window.document.title = sTitle;
|
||||
|
@ -142,9 +142,9 @@
|
|||
AbstractApp.prototype.loginAndLogoutReload = function (bLogout, bClose)
|
||||
{
|
||||
var
|
||||
kn = require('kn'),
|
||||
sCustomLogoutLink = Utils.pString(AppSettings.settingsGet('CustomLogoutLink')),
|
||||
bInIframe = !!AppSettings.settingsGet('InIframe')
|
||||
kn = require('App:Knoin'),
|
||||
sCustomLogoutLink = Utils.pString(Settings.settingsGet('CustomLogoutLink')),
|
||||
bInIframe = !!Settings.settingsGet('InIframe')
|
||||
;
|
||||
|
||||
bLogout = Utils.isUnd(bLogout) ? false : !!bLogout;
|
||||
|
@ -196,7 +196,7 @@
|
|||
{
|
||||
Events.pub('rl.bootstart');
|
||||
|
||||
var ssm = require('../External/ssm.js');
|
||||
var ssm = require('ssm');
|
||||
|
||||
Utils.initOnStartOrLangChange(function () {
|
||||
Utils.initNotificationLanguage();
|
||||
|
|
|
@ -13,16 +13,16 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
kn = require('kn'),
|
||||
kn = require('App:Knoin'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:Admin:Data'),
|
||||
Remote = require('Storage:Admin:Remote'),
|
||||
|
||||
AdminSettingsScreen = require('../Screens/AdminSettingsScreen.js'),
|
||||
AdminLoginScreen = require('../Screens/AdminLoginScreen.js'),
|
||||
AdminSettingsScreen = require('Screen:Admin:Settings'),
|
||||
AdminLoginScreen = require('Screen:Admin:Login'),
|
||||
|
||||
AbstractApp = require('./AbstractApp.js')
|
||||
AbstractApp = require('App:Abstract')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -48,40 +48,40 @@
|
|||
|
||||
AdminApp.prototype.setupSettings = function ()
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsGeneral.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:General'),
|
||||
'AdminSettingsGeneral', 'General', 'general', true);
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsLogin.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:Login'),
|
||||
'AdminSettingsLogin', 'Login', 'login');
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.Prem))
|
||||
if (Settings.capa(Enums.Capa.Prem))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsBranding.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:Branding'),
|
||||
'AdminSettingsBranding', 'Branding', 'branding');
|
||||
}
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsContacts.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:Contacts'),
|
||||
'AdminSettingsContacts', 'Contacts', 'contacts');
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsDomains.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:Domains'),
|
||||
'AdminSettingsDomains', 'Domains', 'domains');
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsSecurity.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:Security'),
|
||||
'AdminSettingsSecurity', 'Security', 'security');
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsSocial.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:Social'),
|
||||
'AdminSettingsSocial', 'Social', 'social');
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsPlugins.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:Plugins'),
|
||||
'AdminSettingsPlugins', 'Plugins', 'plugins');
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsPackages.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:Packages'),
|
||||
'AdminSettingsPackages', 'Packages', 'packages');
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsLicensing.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:Licensing'),
|
||||
'AdminSettingsLicensing', 'Licensing', 'licensing');
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsAbout.js'),
|
||||
kn.addSettingsViewModel(require('Settings:Admin:About'),
|
||||
'AdminSettingsAbout', 'About', 'about');
|
||||
|
||||
return true;
|
||||
|
@ -283,7 +283,7 @@
|
|||
|
||||
kn.hideLoading();
|
||||
|
||||
if (!AppSettings.settingsGet('AllowAdminPanel'))
|
||||
if (!Settings.settingsGet('AllowAdminPanel'))
|
||||
{
|
||||
kn.routeOff();
|
||||
kn.setHash(LinkBuilder.root(), true);
|
||||
|
@ -295,7 +295,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!!AppSettings.settingsGet('Auth'))
|
||||
if (!!Settings.settingsGet('Auth'))
|
||||
{
|
||||
kn.startScreens([AdminSettingsScreen]);
|
||||
}
|
||||
|
|
|
@ -18,30 +18,22 @@
|
|||
LinkBuilder = require('LinkBuilder'),
|
||||
Events = require('Events'),
|
||||
|
||||
kn = require('kn'),
|
||||
kn = require('App:Knoin'),
|
||||
|
||||
LocalStorage = require('../Storages/LocalStorage.js'),
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Cache = require('../Storages/WebMailCacheStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
LocalStorage = require('Storage:LocalStorage'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Cache = require('Storage:RainLoop:Cache'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
EmailModel = require('../Models/EmailModel.js'),
|
||||
FolderModel = require('../Models/FolderModel.js'),
|
||||
MessageModel = require('../Models/MessageModel.js'),
|
||||
AccountModel = require('../Models/AccountModel.js'),
|
||||
IdentityModel = require('../Models/IdentityModel.js'),
|
||||
OpenPgpKeyModel = require('../Models/OpenPgpKeyModel.js'),
|
||||
EmailModel = require('Model:Email'),
|
||||
FolderModel = require('Model:Folder'),
|
||||
MessageModel = require('Model:Message'),
|
||||
AccountModel = require('Model:Account'),
|
||||
IdentityModel = require('Model:Identity'),
|
||||
OpenPgpKeyModel = require('Model:OpenPgpKey'),
|
||||
|
||||
PopupsFolderSystemViewModel = require('../ViewModels/Popups/PopupsAskViewModel.js'),
|
||||
PopupsAskViewModel = require('../ViewModels/Popups/PopupsAskViewModel.js'),
|
||||
PopupsComposeViewModel = require('../ViewModels/Popups/PopupsComposeViewModel.js'),
|
||||
|
||||
MailBoxScreen = require('../Screens/MailBoxScreen.js'),
|
||||
SettingsScreen = require('../Screens/SettingsScreen.js'),
|
||||
LoginScreen = require('../Screens/LoginScreen.js'),
|
||||
|
||||
AbstractApp = require('./AbstractApp.js')
|
||||
AbstractApp = require('App:Abstract')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -94,7 +86,7 @@
|
|||
Remote.jsVersion(function (sResult, oData) {
|
||||
if (Enums.StorageResultType.Success === sResult && oData && !oData.Result)
|
||||
{
|
||||
if (window.parent && !!AppSettings.settingsGet('InIframe'))
|
||||
if (window.parent && !!Settings.settingsGet('InIframe'))
|
||||
{
|
||||
window.parent.location.reload();
|
||||
}
|
||||
|
@ -103,7 +95,7 @@
|
|||
window.location.reload();
|
||||
}
|
||||
}
|
||||
}, AppSettings.settingsGet('Version'));
|
||||
}, Settings.settingsGet('Version'));
|
||||
|
||||
}, {}, 60 * 60 * 1000);
|
||||
|
||||
|
@ -125,70 +117,70 @@
|
|||
|
||||
RainLoopApp.prototype.setupSettings = function ()
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsGeneral.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:General'),
|
||||
'SettingsGeneral', 'SETTINGS_LABELS/LABEL_GENERAL_NAME', 'general', true);
|
||||
|
||||
if (AppSettings.settingsGet('ContactsIsAllowed'))
|
||||
if (Settings.settingsGet('ContactsIsAllowed'))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsContacts.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:Contacts'),
|
||||
'SettingsContacts', 'SETTINGS_LABELS/LABEL_CONTACTS_NAME', 'contacts');
|
||||
}
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.AdditionalAccounts))
|
||||
if (Settings.capa(Enums.Capa.AdditionalAccounts))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsAccounts.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:Accounts'),
|
||||
'SettingsAccounts', 'SETTINGS_LABELS/LABEL_ACCOUNTS_NAME', 'accounts');
|
||||
}
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.AdditionalIdentities))
|
||||
if (Settings.capa(Enums.Capa.AdditionalIdentities))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsIdentities.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:Identities'),
|
||||
'SettingsIdentities', 'SETTINGS_LABELS/LABEL_IDENTITIES_NAME', 'identities');
|
||||
}
|
||||
else
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsIdentity.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:Identity'),
|
||||
'SettingsIdentity', 'SETTINGS_LABELS/LABEL_IDENTITY_NAME', 'identity');
|
||||
}
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.Filters))
|
||||
if (Settings.capa(Enums.Capa.Filters))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsFilters.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:Filters'),
|
||||
'SettingsFilters', 'SETTINGS_LABELS/LABEL_FILTERS_NAME', 'filters');
|
||||
}
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.TwoFactor))
|
||||
if (Settings.capa(Enums.Capa.TwoFactor))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsSecurity.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:Security'),
|
||||
'SettingsSecurity', 'SETTINGS_LABELS/LABEL_SECURITY_NAME', 'security');
|
||||
}
|
||||
|
||||
if (AppSettings.settingsGet('AllowGoogleSocial') ||
|
||||
AppSettings.settingsGet('AllowFacebookSocial') ||
|
||||
AppSettings.settingsGet('AllowTwitterSocial'))
|
||||
if (Settings.settingsGet('AllowGoogleSocial') ||
|
||||
Settings.settingsGet('AllowFacebookSocial') ||
|
||||
Settings.settingsGet('AllowTwitterSocial'))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsSocial.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:Social'),
|
||||
'SettingsSocial', 'SETTINGS_LABELS/LABEL_SOCIAL_NAME', 'social');
|
||||
}
|
||||
|
||||
if (AppSettings.settingsGet('ChangePasswordIsAllowed'))
|
||||
if (Settings.settingsGet('ChangePasswordIsAllowed'))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsChangePassword.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:ChangePassword'),
|
||||
'SettingsChangePassword', 'SETTINGS_LABELS/LABEL_CHANGE_PASSWORD_NAME', 'change-password');
|
||||
}
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsFolders.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:Folders'),
|
||||
'SettingsFolders', 'SETTINGS_LABELS/LABEL_FOLDERS_NAME', 'folders');
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.Themes))
|
||||
if (Settings.capa(Enums.Capa.Themes))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsThemes.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:Themes'),
|
||||
'SettingsThemes', 'SETTINGS_LABELS/LABEL_THEMES_NAME', 'themes');
|
||||
}
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.OpenPGP))
|
||||
if (Settings.capa(Enums.Capa.OpenPGP))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsOpenPGP.js'),
|
||||
kn.addSettingsViewModel(require('Settings:RainLoop:OpenPGP'),
|
||||
'SettingsOpenPGP', 'SETTINGS_LABELS/LABEL_OPEN_PGP_NAME', 'openpgp');
|
||||
}
|
||||
|
||||
|
@ -425,12 +417,12 @@
|
|||
|
||||
if (!oMoveFolder && bUseFolder)
|
||||
{
|
||||
kn.showScreenPopup(PopupsFolderSystemViewModel, [nSetSystemFoldersNotification]);
|
||||
kn.showScreenPopup(require('View:Popup:FolderSystem'), [nSetSystemFoldersNotification]);
|
||||
}
|
||||
else if (!bUseFolder || (Enums.FolderType.Trash === iDeleteType &&
|
||||
(sFromFolderFullNameRaw === Data.spamFolder() || sFromFolderFullNameRaw === Data.trashFolder())))
|
||||
{
|
||||
kn.showScreenPopup(PopupsAskViewModel, [Utils.i18n('POPUPS_ASK/DESC_WANT_DELETE_MESSAGES'), function () {
|
||||
kn.showScreenPopup(require('View:Popup:Ask'), [Utils.i18n('POPUPS_ASK/DESC_WANT_DELETE_MESSAGES'), function () {
|
||||
|
||||
self.messagesDeleteHelper(sFromFolderFullNameRaw, aUidForRemove);
|
||||
Data.removeMessagesFromList(sFromFolderFullNameRaw, aUidForRemove);
|
||||
|
@ -561,7 +553,7 @@
|
|||
if (Enums.StorageResultType.Success === sResult && oData.Result)
|
||||
{
|
||||
var
|
||||
sParentEmail = AppSettings.settingsGet('ParentEmail'),
|
||||
sParentEmail = Settings.settingsGet('ParentEmail'),
|
||||
sAccountEmail = Data.accountEmail()
|
||||
;
|
||||
|
||||
|
@ -1156,31 +1148,31 @@
|
|||
Data.namespace = oData.Result.Namespace;
|
||||
}
|
||||
|
||||
Data.threading(!!AppSettings.settingsGet('UseImapThread') && oData.Result.IsThreadsSupported && true);
|
||||
Data.threading(!!Settings.settingsGet('UseImapThread') && oData.Result.IsThreadsSupported && true);
|
||||
|
||||
aList = this.folderResponseParseRec(Data.namespace, oData.Result['@Collection']);
|
||||
Data.folderList(aList);
|
||||
|
||||
if (oData.Result['SystemFolders'] &&
|
||||
'' === '' + AppSettings.settingsGet('SentFolder') + AppSettings.settingsGet('DraftFolder') +
|
||||
AppSettings.settingsGet('SpamFolder') + AppSettings.settingsGet('TrashFolder') + AppSettings.settingsGet('ArchiveFolder') +
|
||||
AppSettings.settingsGet('NullFolder'))
|
||||
'' === '' + Settings.settingsGet('SentFolder') + Settings.settingsGet('DraftFolder') +
|
||||
Settings.settingsGet('SpamFolder') + Settings.settingsGet('TrashFolder') + Settings.settingsGet('ArchiveFolder') +
|
||||
Settings.settingsGet('NullFolder'))
|
||||
{
|
||||
// TODO Magic Numbers
|
||||
AppSettings.settingsSet('SentFolder', oData.Result['SystemFolders'][2] || null);
|
||||
AppSettings.settingsSet('DraftFolder', oData.Result['SystemFolders'][3] || null);
|
||||
AppSettings.settingsSet('SpamFolder', oData.Result['SystemFolders'][4] || null);
|
||||
AppSettings.settingsSet('TrashFolder', oData.Result['SystemFolders'][5] || null);
|
||||
AppSettings.settingsSet('ArchiveFolder', oData.Result['SystemFolders'][12] || null);
|
||||
Settings.settingsSet('SentFolder', oData.Result['SystemFolders'][2] || null);
|
||||
Settings.settingsSet('DraftFolder', oData.Result['SystemFolders'][3] || null);
|
||||
Settings.settingsSet('SpamFolder', oData.Result['SystemFolders'][4] || null);
|
||||
Settings.settingsSet('TrashFolder', oData.Result['SystemFolders'][5] || null);
|
||||
Settings.settingsSet('ArchiveFolder', oData.Result['SystemFolders'][12] || null);
|
||||
|
||||
bUpdate = true;
|
||||
}
|
||||
|
||||
Data.sentFolder(fNormalizeFolder(AppSettings.settingsGet('SentFolder')));
|
||||
Data.draftFolder(fNormalizeFolder(AppSettings.settingsGet('DraftFolder')));
|
||||
Data.spamFolder(fNormalizeFolder(AppSettings.settingsGet('SpamFolder')));
|
||||
Data.trashFolder(fNormalizeFolder(AppSettings.settingsGet('TrashFolder')));
|
||||
Data.archiveFolder(fNormalizeFolder(AppSettings.settingsGet('ArchiveFolder')));
|
||||
Data.sentFolder(fNormalizeFolder(Settings.settingsGet('SentFolder')));
|
||||
Data.draftFolder(fNormalizeFolder(Settings.settingsGet('DraftFolder')));
|
||||
Data.spamFolder(fNormalizeFolder(Settings.settingsGet('SpamFolder')));
|
||||
Data.trashFolder(fNormalizeFolder(Settings.settingsGet('TrashFolder')));
|
||||
Data.archiveFolder(fNormalizeFolder(Settings.settingsGet('ArchiveFolder')));
|
||||
|
||||
if (bUpdate)
|
||||
{
|
||||
|
@ -1327,7 +1319,7 @@
|
|||
if (oEmailModel && oEmailModel.email)
|
||||
{
|
||||
oParams = Utils.simpleQueryParser(sQueryString);
|
||||
kn.showScreenPopup(PopupsComposeViewModel, [Enums.ComposeType.Empty, null, [oEmailModel],
|
||||
kn.showScreenPopup(require('View:Popup:Compose'), [Enums.ComposeType.Empty, null, [oEmailModel],
|
||||
Utils.isUnd(oParams.subject) ? null : Utils.pString(oParams.subject),
|
||||
Utils.isUnd(oParams.body) ? null : Utils.plainToHtml(Utils.pString(oParams.body))
|
||||
]);
|
||||
|
@ -1339,6 +1331,32 @@
|
|||
return false;
|
||||
};
|
||||
|
||||
RainLoopApp.prototype.bootstartLoginScreen = function ()
|
||||
{
|
||||
var sCustomLoginLink = Utils.pString(Settings.settingsGet('CustomLoginLink'));
|
||||
if (!sCustomLoginLink)
|
||||
{
|
||||
kn.hideLoading();
|
||||
|
||||
kn.startScreens([
|
||||
require('Screen:RainLoop:Login')
|
||||
]);
|
||||
|
||||
Plugins.runHook('rl-start-login-screens');
|
||||
Events.pub('rl.bootstart-login-screens');
|
||||
}
|
||||
else
|
||||
{
|
||||
kn.routeOff();
|
||||
kn.setHash(LinkBuilder.root(), true);
|
||||
kn.routeOff();
|
||||
|
||||
_.defer(function () {
|
||||
window.location.href = sCustomLoginLink;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
RainLoopApp.prototype.bootstart = function ()
|
||||
{
|
||||
AbstractApp.prototype.bootstart.call(this);
|
||||
|
@ -1347,12 +1365,11 @@
|
|||
|
||||
var
|
||||
self = this,
|
||||
sCustomLoginLink = '',
|
||||
sJsHash = AppSettings.settingsGet('JsHash'),
|
||||
iContactsSyncInterval = Utils.pInt(AppSettings.settingsGet('ContactsSyncInterval')),
|
||||
bGoogle = AppSettings.settingsGet('AllowGoogleSocial'),
|
||||
bFacebook = AppSettings.settingsGet('AllowFacebookSocial'),
|
||||
bTwitter = AppSettings.settingsGet('AllowTwitterSocial')
|
||||
sJsHash = Settings.settingsGet('JsHash'),
|
||||
iContactsSyncInterval = Utils.pInt(Settings.settingsGet('ContactsSyncInterval')),
|
||||
bGoogle = Settings.settingsGet('AllowGoogleSocial'),
|
||||
bFacebook = Settings.settingsGet('AllowFacebookSocial'),
|
||||
bTwitter = Settings.settingsGet('AllowTwitterSocial')
|
||||
;
|
||||
|
||||
Utils.initOnStartOrLangChange(function () {
|
||||
|
@ -1385,7 +1402,7 @@
|
|||
Events.pub('left-panel.' + (bValue ? 'off' : 'on'));
|
||||
});
|
||||
|
||||
if (!!AppSettings.settingsGet('Auth'))
|
||||
if (!!Settings.settingsGet('Auth'))
|
||||
{
|
||||
this.setTitle(Utils.i18n('TITLES/LOADING'));
|
||||
|
||||
|
@ -1395,7 +1412,7 @@
|
|||
|
||||
if (bValue)
|
||||
{
|
||||
if (window.$LAB && window.crypto && window.crypto.getRandomValues && AppSettings.capa(Enums.Capa.OpenPGP))
|
||||
if (window.$LAB && window.crypto && window.crypto.getRandomValues && Settings.capa(Enums.Capa.OpenPGP))
|
||||
{
|
||||
window.$LAB.script(window.openpgp ? '' : LinkBuilder.openPgpJs()).wait(function () {
|
||||
if (window.openpgp)
|
||||
|
@ -1414,7 +1431,11 @@
|
|||
Data.capaOpenPGP(false);
|
||||
}
|
||||
|
||||
kn.startScreens([MailBoxScreen, SettingsScreen]);
|
||||
kn.startScreens([
|
||||
require('Screen:RainLoop:MailBox'),
|
||||
require('Screen:RainLoop:Settings'),
|
||||
require('Screen:RainLoop:About')
|
||||
]);
|
||||
|
||||
if (bGoogle || bFacebook || bTwitter)
|
||||
{
|
||||
|
@ -1463,28 +1484,32 @@
|
|||
Plugins.runHook('rl-start-user-screens');
|
||||
Events.pub('rl.bootstart-user-screens');
|
||||
|
||||
if (!!AppSettings.settingsGet('AccountSignMe') && window.navigator.registerProtocolHandler)
|
||||
if (!!Settings.settingsGet('AccountSignMe') && window.navigator.registerProtocolHandler)
|
||||
{
|
||||
_.delay(function () {
|
||||
try {
|
||||
window.navigator.registerProtocolHandler('mailto',
|
||||
window.location.protocol + '//' + window.location.host + window.location.pathname + '?mailto&to=%s',
|
||||
'' + (AppSettings.settingsGet('Title') || 'RainLoop'));
|
||||
'' + (Settings.settingsGet('Title') || 'RainLoop'));
|
||||
} catch(e) {}
|
||||
|
||||
if (AppSettings.settingsGet('MailToEmail'))
|
||||
if (Settings.settingsGet('MailToEmail'))
|
||||
{
|
||||
self.mailToHelper(AppSettings.settingsGet('MailToEmail'));
|
||||
self.mailToHelper(Settings.settingsGet('MailToEmail'));
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
|
||||
if (!Globals.bMobileDevice)
|
||||
{
|
||||
_.defer(function () {
|
||||
self.initLayoutResizer('#rl-left', '#rl-right', Enums.ClientSideKeyName.FolderListSize);
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
kn.startScreens([LoginScreen]);
|
||||
|
||||
Plugins.runHook('rl-start-login-screens');
|
||||
Events.pub('rl.bootstart-login-screens');
|
||||
self.bootstartLoginScreen();
|
||||
}
|
||||
|
||||
if (window.SimplePace)
|
||||
|
@ -1492,40 +1517,15 @@
|
|||
window.SimplePace.set(100);
|
||||
}
|
||||
|
||||
if (!Globals.bMobileDevice)
|
||||
{
|
||||
_.defer(function () {
|
||||
self.initLayoutResizer('#rl-left', '#rl-right', Enums.ClientSideKeyName.FolderListSize);
|
||||
});
|
||||
}
|
||||
|
||||
}, this));
|
||||
}
|
||||
else
|
||||
{
|
||||
sCustomLoginLink = Utils.pString(AppSettings.settingsGet('CustomLoginLink'));
|
||||
if (!sCustomLoginLink)
|
||||
this.bootstartLoginScreen();
|
||||
|
||||
if (window.SimplePace)
|
||||
{
|
||||
kn.hideLoading();
|
||||
kn.startScreens([LoginScreen]);
|
||||
|
||||
Plugins.runHook('rl-start-login-screens');
|
||||
Events.pub('rl.bootstart-login-screens');
|
||||
|
||||
if (window.SimplePace)
|
||||
{
|
||||
window.SimplePace.set(100);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
kn.routeOff();
|
||||
kn.setHash(LinkBuilder.root(), true);
|
||||
kn.routeOff();
|
||||
|
||||
_.defer(function () {
|
||||
window.location.href = sCustomLoginLink;
|
||||
});
|
||||
window.SimplePace.set(100);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
11
dev/Boot.js
11
dev/Boot.js
|
@ -10,7 +10,7 @@
|
|||
window = require('window'),
|
||||
_ = require('_'),
|
||||
$ = require('$'),
|
||||
$window = require('$window'),
|
||||
$win = require('$win'),
|
||||
$html = require('$html'),
|
||||
|
||||
Globals = require('Globals'),
|
||||
|
@ -18,7 +18,7 @@
|
|||
Utils = require('Utils'),
|
||||
Enums = require('Enums'),
|
||||
|
||||
EmailModel = require('./Models/EmailModel.js')
|
||||
EmailModel = require('Model:Email')
|
||||
;
|
||||
|
||||
Globals.__APP = App;
|
||||
|
@ -31,8 +31,9 @@
|
|||
|
||||
$html.addClass(Globals.bMobileDevice ? 'mobile' : 'no-mobile');
|
||||
|
||||
$window.keydown(Utils.killCtrlAandS).keyup(Utils.killCtrlAandS);
|
||||
$window.unload(function () {
|
||||
$win.keydown(Utils.killCtrlAandS).keyup(Utils.killCtrlAandS);
|
||||
|
||||
$win.unload(function () {
|
||||
Globals.bUnload = true;
|
||||
});
|
||||
|
||||
|
@ -65,7 +66,7 @@
|
|||
App.bootstart();
|
||||
$html.removeClass('no-js rl-booted-trigger').addClass('rl-booted');
|
||||
|
||||
}, 50);
|
||||
}, 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
window = require('window'),
|
||||
_ = require('_'),
|
||||
Globals = require('Globals'),
|
||||
AppSettings = require('../Storages/AppSettings.js')
|
||||
Settings = require('Storage:Settings')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -18,7 +18,7 @@
|
|||
* @param {Function=} fOnReady
|
||||
* @param {Function=} fOnModeChange
|
||||
*/
|
||||
function NewHtmlEditorWrapper(oElement, fOnBlur, fOnReady, fOnModeChange)
|
||||
function HtmlEditor(oElement, fOnBlur, fOnReady, fOnModeChange)
|
||||
{
|
||||
this.editor = null;
|
||||
this.iBlurTimer = 0;
|
||||
|
@ -33,7 +33,7 @@
|
|||
this.init();
|
||||
}
|
||||
|
||||
NewHtmlEditorWrapper.prototype.blurTrigger = function ()
|
||||
HtmlEditor.prototype.blurTrigger = function ()
|
||||
{
|
||||
if (this.fOnBlur)
|
||||
{
|
||||
|
@ -45,7 +45,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
NewHtmlEditorWrapper.prototype.focusTrigger = function ()
|
||||
HtmlEditor.prototype.focusTrigger = function ()
|
||||
{
|
||||
if (this.fOnBlur)
|
||||
{
|
||||
|
@ -56,7 +56,7 @@
|
|||
/**
|
||||
* @return {boolean}
|
||||
*/
|
||||
NewHtmlEditorWrapper.prototype.isHtml = function ()
|
||||
HtmlEditor.prototype.isHtml = function ()
|
||||
{
|
||||
return this.editor ? 'wysiwyg' === this.editor.mode : false;
|
||||
};
|
||||
|
@ -64,12 +64,12 @@
|
|||
/**
|
||||
* @return {boolean}
|
||||
*/
|
||||
NewHtmlEditorWrapper.prototype.checkDirty = function ()
|
||||
HtmlEditor.prototype.checkDirty = function ()
|
||||
{
|
||||
return this.editor ? this.editor.checkDirty() : false;
|
||||
};
|
||||
|
||||
NewHtmlEditorWrapper.prototype.resetDirty = function ()
|
||||
HtmlEditor.prototype.resetDirty = function ()
|
||||
{
|
||||
if (this.editor)
|
||||
{
|
||||
|
@ -80,7 +80,7 @@
|
|||
/**
|
||||
* @return {string}
|
||||
*/
|
||||
NewHtmlEditorWrapper.prototype.getData = function (bWrapIsHtml)
|
||||
HtmlEditor.prototype.getData = function (bWrapIsHtml)
|
||||
{
|
||||
if (this.editor)
|
||||
{
|
||||
|
@ -97,7 +97,7 @@
|
|||
return '';
|
||||
};
|
||||
|
||||
NewHtmlEditorWrapper.prototype.modeToggle = function (bPlain)
|
||||
HtmlEditor.prototype.modeToggle = function (bPlain)
|
||||
{
|
||||
if (this.editor)
|
||||
{
|
||||
|
@ -120,7 +120,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
NewHtmlEditorWrapper.prototype.setHtml = function (sHtml, bFocus)
|
||||
HtmlEditor.prototype.setHtml = function (sHtml, bFocus)
|
||||
{
|
||||
if (this.editor)
|
||||
{
|
||||
|
@ -134,7 +134,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
NewHtmlEditorWrapper.prototype.setPlain = function (sPlain, bFocus)
|
||||
HtmlEditor.prototype.setPlain = function (sPlain, bFocus)
|
||||
{
|
||||
if (this.editor)
|
||||
{
|
||||
|
@ -155,7 +155,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
NewHtmlEditorWrapper.prototype.init = function ()
|
||||
HtmlEditor.prototype.init = function ()
|
||||
{
|
||||
if (this.$element && this.$element[0])
|
||||
{
|
||||
|
@ -165,8 +165,8 @@
|
|||
|
||||
var
|
||||
oConfig = Globals.oHtmlEditorDefaultConfig,
|
||||
sLanguage = AppSettings.settingsGet('Language'),
|
||||
bSource = !!AppSettings.settingsGet('AllowHtmlEditorSourceButton')
|
||||
sLanguage = Settings.settingsGet('Language'),
|
||||
bSource = !!Settings.settingsGet('AllowHtmlEditorSourceButton')
|
||||
;
|
||||
|
||||
if (bSource && oConfig.toolbarGroups && !oConfig.toolbarGroups.__SourceInited)
|
||||
|
@ -236,7 +236,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
NewHtmlEditorWrapper.prototype.focus = function ()
|
||||
HtmlEditor.prototype.focus = function ()
|
||||
{
|
||||
if (this.editor)
|
||||
{
|
||||
|
@ -244,7 +244,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
NewHtmlEditorWrapper.prototype.blur = function ()
|
||||
HtmlEditor.prototype.blur = function ()
|
||||
{
|
||||
if (this.editor)
|
||||
{
|
||||
|
@ -252,7 +252,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
NewHtmlEditorWrapper.prototype.resize = function ()
|
||||
HtmlEditor.prototype.resize = function ()
|
||||
{
|
||||
if (this.editor && this.__resizable)
|
||||
{
|
||||
|
@ -264,12 +264,12 @@
|
|||
}
|
||||
};
|
||||
|
||||
NewHtmlEditorWrapper.prototype.clear = function (bFocus)
|
||||
HtmlEditor.prototype.clear = function (bFocus)
|
||||
{
|
||||
this.setHtml('', bFocus);
|
||||
};
|
||||
|
||||
|
||||
module.exports = NewHtmlEditorWrapper;
|
||||
module.exports = HtmlEditor;
|
||||
|
||||
}(module, require));
|
|
@ -14,13 +14,13 @@
|
|||
*/
|
||||
function LinkBuilder()
|
||||
{
|
||||
var AppSettings = require('../Storages/AppSettings.js');
|
||||
var Settings = require('Storage:Settings');
|
||||
|
||||
this.sBase = '#/';
|
||||
this.sServer = './?';
|
||||
this.sVersion = AppSettings.settingsGet('Version');
|
||||
this.sSpecSuffix = AppSettings.settingsGet('AuthAccountHash') || '0';
|
||||
this.sStaticPrefix = AppSettings.settingsGet('StaticPrefix') || 'rainloop/v/' + this.sVersion + '/static/';
|
||||
this.sVersion = Settings.settingsGet('Version');
|
||||
this.sSpecSuffix = Settings.settingsGet('AuthAccountHash') || '0';
|
||||
this.sStaticPrefix = Settings.settingsGet('StaticPrefix') || 'rainloop/v/' + this.sVersion + '/static/';
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -167,6 +167,14 @@
|
|||
return sResult;
|
||||
};
|
||||
|
||||
/**
|
||||
* @return {string}
|
||||
*/
|
||||
LinkBuilder.prototype.about = function ()
|
||||
{
|
||||
return this.sBase + 'about';
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {string} sScreenName
|
||||
* @return {string}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
},
|
||||
_ = require('_'),
|
||||
Utils = require('Utils'),
|
||||
AppSettings = require('../Storages/AppSettings.js')
|
||||
Settings = require('Storage:Settings')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -76,7 +76,7 @@
|
|||
*/
|
||||
Plugins.mainSettingsGet = function (sName)
|
||||
{
|
||||
return AppSettings.settingsGet(sName);
|
||||
return Settings.settingsGet(sName);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -102,7 +102,7 @@
|
|||
*/
|
||||
Plugins.settingsGet = function (sPluginSection, sName)
|
||||
{
|
||||
var oPlugin = AppSettings.settingsGet('Plugins');
|
||||
var oPlugin = Settings.settingsGet('Plugins');
|
||||
oPlugin = oPlugin && !Utils.isUnd(oPlugin[sPluginSection]) ? oPlugin[sPluginSection] : null;
|
||||
return oPlugin ? (Utils.isUnd(oPlugin[sName]) ? null : oPlugin[sName]) : null;
|
||||
};
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
_ = require('_'),
|
||||
ko = require('ko'),
|
||||
window = require('window'),
|
||||
$window = require('$window'),
|
||||
$win = require('$win'),
|
||||
$html = require('$html'),
|
||||
$div = require('$div'),
|
||||
$doc = require('$doc'),
|
||||
|
@ -42,12 +42,12 @@
|
|||
Utils.windowResize = _.debounce(function (iTimeout) {
|
||||
if (Utils.isUnd(iTimeout))
|
||||
{
|
||||
$window.resize();
|
||||
$win.resize();
|
||||
}
|
||||
else
|
||||
{
|
||||
window.setTimeout(function () {
|
||||
$window.resize();
|
||||
$win.resize();
|
||||
}, iTimeout);
|
||||
}
|
||||
}, 50);
|
||||
|
|
8
dev/External/ko.js
vendored
8
dev/External/ko.js
vendored
|
@ -8,7 +8,7 @@
|
|||
window = require('window'),
|
||||
_ = require('_'),
|
||||
$ = require('$'),
|
||||
$window = require('$window'),
|
||||
$win = require('$win'),
|
||||
$doc = require('$doc')
|
||||
;
|
||||
|
||||
|
@ -323,7 +323,7 @@
|
|||
if (0 < iOffset)
|
||||
{
|
||||
iOffset += Utils.pInt(aValues[2]);
|
||||
iSize = $window.height() - iOffset;
|
||||
iSize = $win.height() - iOffset;
|
||||
|
||||
if (iValue < iSize)
|
||||
{
|
||||
|
@ -570,7 +570,7 @@
|
|||
|
||||
var
|
||||
Utils = require('Utils'),
|
||||
EmailModel = require('../Models/EmailModel.js'),
|
||||
EmailModel = require('Model:Email'),
|
||||
|
||||
$oEl = $(oElement),
|
||||
fValue = fValueAccessor(),
|
||||
|
@ -644,7 +644,7 @@
|
|||
|
||||
var
|
||||
Utils = require('Utils'),
|
||||
ContactTagModel = require('../Models/ContactTagModel.js'),
|
||||
ContactTagModel = require('Model:ContactTag'),
|
||||
|
||||
$oEl = $(oElement),
|
||||
fValue = fValueAccessor(),
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
Plugins = require('Plugins'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -24,13 +24,13 @@
|
|||
*/
|
||||
function Knoin()
|
||||
{
|
||||
this.sDefaultScreenName = '';
|
||||
this.oScreens = {};
|
||||
this.sDefaultScreenName = '';
|
||||
this.oCurrentScreen = null;
|
||||
}
|
||||
|
||||
Knoin.prototype.sDefaultScreenName = '';
|
||||
Knoin.prototype.oScreens = {};
|
||||
Knoin.prototype.sDefaultScreenName = '';
|
||||
Knoin.prototype.oCurrentScreen = null;
|
||||
|
||||
Knoin.prototype.hideLoading = function ()
|
||||
|
@ -209,7 +209,7 @@
|
|||
Utils.log('Cannot find view model position: ' + sPosition);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return ViewModelClass ? ViewModelClass.__vm : null;
|
||||
};
|
||||
|
||||
|
@ -352,7 +352,7 @@
|
|||
}
|
||||
// --
|
||||
|
||||
oCross = oScreen.__cross();
|
||||
oCross = oScreen.__cross ? oScreen.__cross() : null;
|
||||
if (oCross)
|
||||
{
|
||||
oCross.parse(sSubPart);
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
var
|
||||
ko = require('ko'),
|
||||
$window = require('$window'),
|
||||
$win = require('$win'),
|
||||
|
||||
Enums = require('Enums'),
|
||||
Globals = require('Globals'),
|
||||
|
@ -88,7 +88,7 @@
|
|||
{
|
||||
var self = this;
|
||||
|
||||
$window.on('keydown', function (oEvent) {
|
||||
$win.on('keydown', function (oEvent) {
|
||||
if (oEvent && self.modalVisibility && self.modalVisibility())
|
||||
{
|
||||
if (!this.bDisabeCloseOnEsc && Enums.EventKeyCode.Esc === oEvent.keyCode)
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
ko = require('ko'),
|
||||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
FilterConditionModel = require('./FilterConditionModel.js')
|
||||
FilterConditionModel = require('Model:FilterCondition')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
var
|
||||
_ = require('_'),
|
||||
ko = require('ko'),
|
||||
$window = require('$window'),
|
||||
|
||||
Enums = require('Enums'),
|
||||
Globals = require('Globals'),
|
||||
|
@ -168,11 +167,11 @@
|
|||
return !this.isSystemFolder() && this.selectable && 'INBOX' !== this.fullNameRaw;
|
||||
}, this);
|
||||
|
||||
this.visible.subscribe(function () {
|
||||
Utils.timeOutAction('folder-list-folder-visibility-change', function () {
|
||||
$window.trigger('folder-list-folder-visibility-change');
|
||||
}, 100);
|
||||
});
|
||||
// this.visible.subscribe(function () {
|
||||
// Utils.timeOutAction('folder-list-folder-visibility-change', function () {
|
||||
// require('$win').trigger('folder-list-folder-visibility-change');
|
||||
// }, 100);
|
||||
// });
|
||||
|
||||
this.localName = ko.computed(function () {
|
||||
|
||||
|
|
|
@ -10,15 +10,15 @@
|
|||
_ = require('_'),
|
||||
ko = require('ko'),
|
||||
moment = require('moment'),
|
||||
$window = require('$window'),
|
||||
$win = require('$win'),
|
||||
$div = require('$div'),
|
||||
|
||||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
EmailModel = require('./EmailModel.js'),
|
||||
AttachmentModel = require('./AttachmentModel.js')
|
||||
EmailModel = require('Model:Email'),
|
||||
AttachmentModel = require('Model:Attachment')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -347,7 +347,7 @@
|
|||
MessageModel.prototype.computeSenderEmail = function ()
|
||||
{
|
||||
var
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
sSent = Data.sentFolder(),
|
||||
sDraft = Data.draftFolder()
|
||||
;
|
||||
|
@ -425,7 +425,7 @@
|
|||
MessageModel.prototype.initUpdateByMessageJson = function (oJsonMessage)
|
||||
{
|
||||
var
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
bResult = false,
|
||||
iPriority = Enums.MessagePriority.Normal
|
||||
;
|
||||
|
@ -976,7 +976,7 @@
|
|||
'container': $('.RL-MailMessageView .messageView .messageItem .content')[0]
|
||||
});
|
||||
|
||||
$window.resize();
|
||||
$win.resize();
|
||||
}
|
||||
|
||||
Utils.windowResize(500);
|
||||
|
@ -1081,7 +1081,7 @@
|
|||
|
||||
this.body.data('rl-plain-raw', this.plainRaw);
|
||||
|
||||
var Data = require('../Storages/WebMailDataStorage.js');
|
||||
var Data = require('Storage:RainLoop:Data');
|
||||
if (Data.capaOpenPGP())
|
||||
{
|
||||
this.body.data('rl-plain-pgp-signed', !!this.isPgpSigned());
|
||||
|
@ -1094,7 +1094,7 @@
|
|||
|
||||
MessageModel.prototype.storePgpVerifyDataToDom = function ()
|
||||
{
|
||||
var Data = require('../Storages/WebMailDataStorage.js');
|
||||
var Data = require('Storage:RainLoop:Data');
|
||||
if (this.body && Data.capaOpenPGP())
|
||||
{
|
||||
this.body.data('rl-pgp-verify-status', this.pgpSignedVerifyStatus());
|
||||
|
@ -1111,7 +1111,7 @@
|
|||
|
||||
this.plainRaw = Utils.pString(this.body.data('rl-plain-raw'));
|
||||
|
||||
var Data = require('../Storages/WebMailDataStorage.js');
|
||||
var Data = require('Storage:RainLoop:Data');
|
||||
if (Data.capaOpenPGP())
|
||||
{
|
||||
this.isPgpSigned(!!this.body.data('rl-plain-pgp-signed'));
|
||||
|
@ -1136,7 +1136,7 @@
|
|||
var
|
||||
aRes = [],
|
||||
mPgpMessage = null,
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
sFrom = this.from && this.from[0] && this.from[0].email ? this.from[0].email : '',
|
||||
aPublicKeys = Data.findPublicKeysByEmail(sFrom),
|
||||
oValidKey = null,
|
||||
|
@ -1200,7 +1200,7 @@
|
|||
aRes = [],
|
||||
mPgpMessage = null,
|
||||
mPgpMessageDecrypted = null,
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
sFrom = this.from && this.from[0] && this.from[0].email ? this.from[0].email : '',
|
||||
aPublicKey = Data.findPublicKeysByEmail(sFrom),
|
||||
oPrivateKey = Data.findSelfPrivateKey(sPassword),
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
|
||||
(function (require) {
|
||||
'use strict';
|
||||
require('./Boot.js')(require('./Apps/RainLoopApp.js'));
|
||||
require('App:Boot')(require('App:RainLoop'));
|
||||
}(require));
|
32
dev/Screens/AboutScreen.js
Normal file
32
dev/Screens/AboutScreen.js
Normal file
|
@ -0,0 +1,32 @@
|
|||
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||
|
||||
(function (module, require) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var
|
||||
_ = require('_'),
|
||||
KnoinAbstractScreen = require('Knoin:AbstractScreen')
|
||||
;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends KnoinAbstractScreen
|
||||
*/
|
||||
function AboutScreen()
|
||||
{
|
||||
KnoinAbstractScreen.call(this, 'about', [
|
||||
require('View:RainLoop:About')
|
||||
]);
|
||||
}
|
||||
|
||||
_.extend(AboutScreen.prototype, KnoinAbstractScreen.prototype);
|
||||
|
||||
AboutScreen.prototype.onShow = function ()
|
||||
{
|
||||
require('App:RainLoop').setTitle('RainLoop');
|
||||
};
|
||||
|
||||
module.exports = AboutScreen;
|
||||
|
||||
}(module, require));
|
|
@ -13,8 +13,8 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractScreen = require('KnoinAbstractScreen')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractScreen = require('Knoin:AbstractScreen')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
var
|
||||
_ = require('_'),
|
||||
KnoinAbstractScreen = require('KnoinAbstractScreen')
|
||||
KnoinAbstractScreen = require('Knoin:AbstractScreen')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -15,16 +15,16 @@
|
|||
*/
|
||||
function AdminLoginScreen()
|
||||
{
|
||||
var AdminLoginViewModel = require('../ViewModels/AdminLoginViewModel.js');
|
||||
KnoinAbstractScreen.call(this, 'login', [AdminLoginViewModel]);
|
||||
KnoinAbstractScreen.call(this, 'login', [
|
||||
require('View:Admin:Login')
|
||||
]);
|
||||
}
|
||||
|
||||
_.extend(AdminLoginScreen.prototype, KnoinAbstractScreen.prototype);
|
||||
|
||||
AdminLoginScreen.prototype.onShow = function ()
|
||||
{
|
||||
var App = require('../Apps/AdminApp.js');
|
||||
App.setTitle('');
|
||||
require('App:Admin').setTitle('');
|
||||
};
|
||||
|
||||
module.exports = AdminLoginScreen;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
var
|
||||
_ = require('_'),
|
||||
AbstractSettings = require('./AbstractSettings.js')
|
||||
AbstractSettings = require('Screen:AbstractSettings')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -15,14 +15,9 @@
|
|||
*/
|
||||
function AdminSettingsScreen()
|
||||
{
|
||||
var
|
||||
AdminMenuViewModel = require('../ViewModels/AdminMenuViewModel.js'),
|
||||
AdminPaneViewModel = require('../ViewModels/AdminPaneViewModel.js')
|
||||
;
|
||||
|
||||
AbstractSettings.call(this, [
|
||||
AdminMenuViewModel,
|
||||
AdminPaneViewModel
|
||||
require('View:Admin:SettingsMenu'),
|
||||
require('View:Admin:SettingsPane')
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -30,8 +25,7 @@
|
|||
|
||||
AdminSettingsScreen.prototype.onShow = function ()
|
||||
{
|
||||
var App = require('../Apps/AdminApp.js');
|
||||
App.setTitle('');
|
||||
require('App:Admin').setTitle('');
|
||||
};
|
||||
|
||||
module.exports = AdminSettingsScreen;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
var
|
||||
_ = require('_'),
|
||||
KnoinAbstractScreen = require('KnoinAbstractScreen')
|
||||
KnoinAbstractScreen = require('Knoin:AbstractScreen')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -15,16 +15,16 @@
|
|||
*/
|
||||
function LoginScreen()
|
||||
{
|
||||
var LoginViewModel = require('../ViewModels/LoginViewModel.js');
|
||||
KnoinAbstractScreen.call(this, 'login', [LoginViewModel]);
|
||||
KnoinAbstractScreen.call(this, 'login', [
|
||||
require('View:RainLoop:Login')
|
||||
]);
|
||||
}
|
||||
|
||||
_.extend(LoginScreen.prototype, KnoinAbstractScreen.prototype);
|
||||
|
||||
LoginScreen.prototype.onShow = function ()
|
||||
{
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
App.setTitle('');
|
||||
require('App:RainLoop').setTitle('');
|
||||
};
|
||||
|
||||
module.exports = LoginScreen;
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
Utils = require('Utils'),
|
||||
Events = require('Events'),
|
||||
|
||||
KnoinAbstractScreen = require('KnoinAbstractScreen'),
|
||||
KnoinAbstractScreen = require('Knoin:AbstractScreen'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Cache = require('../Storages/WebMailCacheStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js')
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Cache = require('Storage:RainLoop:Cache'),
|
||||
Remote = require('Storage:RainLoop:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -27,18 +27,11 @@
|
|||
*/
|
||||
function MailBoxScreen()
|
||||
{
|
||||
var
|
||||
MailBoxSystemDropDownViewModel = require('../ViewModels/MailBoxSystemDropDownViewModel.js'),
|
||||
MailBoxFolderListViewModel = require('../ViewModels/MailBoxFolderListViewModel.js'),
|
||||
MailBoxMessageListViewModel = require('../ViewModels/MailBoxMessageListViewModel.js'),
|
||||
MailBoxMessageViewViewModel = require('../ViewModels/MailBoxMessageViewViewModel.js')
|
||||
;
|
||||
|
||||
KnoinAbstractScreen.call(this, 'mailbox', [
|
||||
MailBoxSystemDropDownViewModel,
|
||||
MailBoxFolderListViewModel,
|
||||
MailBoxMessageListViewModel,
|
||||
MailBoxMessageViewViewModel
|
||||
require('View:RainLoop:MailBoxSystemDropDown'),
|
||||
require('View:RainLoop:MailBoxFolderList'),
|
||||
require('View:RainLoop:MailBoxMessageList'),
|
||||
require('View:RainLoop:MailBoxMessageView')
|
||||
]);
|
||||
|
||||
this.oLastRoute = {};
|
||||
|
@ -54,12 +47,11 @@
|
|||
MailBoxScreen.prototype.setNewTitle = function ()
|
||||
{
|
||||
var
|
||||
App = require('../Apps/RainLoopApp.js'),
|
||||
sEmail = Data.accountEmail(),
|
||||
nFoldersInboxUnreadCount = Data.foldersInboxUnreadCount()
|
||||
;
|
||||
|
||||
App.setTitle(('' === sEmail ? '' :
|
||||
require('App:RainLoop').setTitle(('' === sEmail ? '' :
|
||||
(0 < nFoldersInboxUnreadCount ? '(' + nFoldersInboxUnreadCount + ') ' : ' ') + sEmail + ' - ') + Utils.i18n('TITLES/MAILBOX'));
|
||||
};
|
||||
|
||||
|
@ -77,12 +69,11 @@
|
|||
*/
|
||||
MailBoxScreen.prototype.onRoute = function (sFolderHash, iPage, sSearch, bPreview)
|
||||
{
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
if (Utils.isUnd(bPreview) ? false : !!bPreview)
|
||||
{
|
||||
if (Enums.Layout.NoPreview === Data.layout() && !Data.message())
|
||||
{
|
||||
App.historyBack();
|
||||
require('App:RainLoop').historyBack();
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -105,7 +96,7 @@
|
|||
Data.message(null);
|
||||
}
|
||||
|
||||
App.reloadMessageList();
|
||||
require('App:RainLoop').reloadMessageList();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -113,26 +104,25 @@
|
|||
MailBoxScreen.prototype.onStart = function ()
|
||||
{
|
||||
var
|
||||
App = require('../Apps/RainLoopApp.js'),
|
||||
fResizeFunction = function () {
|
||||
Utils.windowResize();
|
||||
}
|
||||
;
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.AdditionalAccounts) || AppSettings.capa(Enums.Capa.AdditionalIdentities))
|
||||
if (Settings.capa(Enums.Capa.AdditionalAccounts) || Settings.capa(Enums.Capa.AdditionalIdentities))
|
||||
{
|
||||
App.accountsAndIdentities();
|
||||
require('App:RainLoop').accountsAndIdentities();
|
||||
}
|
||||
|
||||
_.delay(function () {
|
||||
if ('INBOX' !== Data.currentFolderFullNameRaw())
|
||||
{
|
||||
App.folderInformation('INBOX');
|
||||
require('App:RainLoop').folderInformation('INBOX');
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
_.delay(function () {
|
||||
App.quota();
|
||||
require('App:RainLoop').quota();
|
||||
}, 5000);
|
||||
|
||||
_.delay(function () {
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
Utils = require('Utils'),
|
||||
Globals = require('Globals'),
|
||||
|
||||
AbstractSettings = require('./AbstractSettings.js')
|
||||
AbstractSettings = require('Screen:AbstractSettings')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -20,24 +20,16 @@
|
|||
*/
|
||||
function SettingsScreen()
|
||||
{
|
||||
var
|
||||
App = require('../Apps/RainLoopApp.js'),
|
||||
|
||||
SettingsSystemDropDownViewModel = require('../ViewModels/SettingsSystemDropDownViewModel.js'),
|
||||
SettingsMenuViewModel = require('../ViewModels/SettingsMenuViewModel.js'),
|
||||
SettingsPaneViewModel = require('../ViewModels/SettingsPaneViewModel.js')
|
||||
;
|
||||
|
||||
AbstractSettings.call(this, [
|
||||
SettingsSystemDropDownViewModel,
|
||||
SettingsMenuViewModel,
|
||||
SettingsPaneViewModel
|
||||
require('View:RainLoop:SettingsSystemDropDown'),
|
||||
require('View:RainLoop:SettingsMenu'),
|
||||
require('View:RainLoop:SettingsPane')
|
||||
]);
|
||||
|
||||
Utils.initOnStartOrLangChange(function () {
|
||||
this.sSettingsTitle = Utils.i18n('TITLES/SETTINGS');
|
||||
}, this, function () {
|
||||
App.setTitle(this.sSettingsTitle);
|
||||
this.setSettingsTitle();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -45,11 +37,14 @@
|
|||
|
||||
SettingsScreen.prototype.onShow = function ()
|
||||
{
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
|
||||
App.setTitle(this.sSettingsTitle);
|
||||
this.setSettingsTitle();
|
||||
Globals.keyScope(Enums.KeyState.Settings);
|
||||
};
|
||||
|
||||
SettingsScreen.prototype.setSettingsTitle = function ()
|
||||
{
|
||||
require('App:RainLoop').setTitle(this.sSettingsTitle);
|
||||
};
|
||||
|
||||
module.exports = SettingsScreen;
|
||||
|
||||
|
|
|
@ -14,12 +14,12 @@
|
|||
function AdminSettingsAbout()
|
||||
{
|
||||
var
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js')
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:Admin:Data')
|
||||
;
|
||||
|
||||
this.version = ko.observable(AppSettings.settingsGet('Version'));
|
||||
this.access = ko.observable(!!AppSettings.settingsGet('CoreAccess'));
|
||||
this.version = ko.observable(Settings.settingsGet('Version'));
|
||||
this.access = ko.observable(!!Settings.settingsGet('CoreAccess'));
|
||||
this.errorDesc = ko.observable('');
|
||||
|
||||
this.coreReal = Data.coreReal;
|
||||
|
@ -72,7 +72,7 @@
|
|||
{
|
||||
if (this.access())
|
||||
{
|
||||
require('../../Apps/AdminApp.js').reloadCoreData();
|
||||
require('App:Admin').reloadCoreData();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -80,7 +80,7 @@
|
|||
{
|
||||
if (!this.coreUpdating())
|
||||
{
|
||||
require('../../Apps/AdminApp.js').updateCoreData();
|
||||
require('App:Admin').updateCoreData();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -18,22 +18,22 @@
|
|||
{
|
||||
var
|
||||
Enums = require('Enums'),
|
||||
AppSettings = require('../../Storages/AppSettings.js')
|
||||
Settings = require('Storage:Settings')
|
||||
;
|
||||
|
||||
this.title = ko.observable(AppSettings.settingsGet('Title'));
|
||||
this.title = ko.observable(Settings.settingsGet('Title'));
|
||||
this.title.trigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
|
||||
this.loadingDesc = ko.observable(AppSettings.settingsGet('LoadingDescription'));
|
||||
this.loadingDesc = ko.observable(Settings.settingsGet('LoadingDescription'));
|
||||
this.loadingDesc.trigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
|
||||
this.loginLogo = ko.observable(AppSettings.settingsGet('LoginLogo'));
|
||||
this.loginLogo = ko.observable(Settings.settingsGet('LoginLogo'));
|
||||
this.loginLogo.trigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
|
||||
this.loginDescription = ko.observable(AppSettings.settingsGet('LoginDescription'));
|
||||
this.loginDescription = ko.observable(Settings.settingsGet('LoginDescription'));
|
||||
this.loginDescription.trigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
|
||||
this.loginCss = ko.observable(AppSettings.settingsGet('LoginCss'));
|
||||
this.loginCss = ko.observable(Settings.settingsGet('LoginCss'));
|
||||
this.loginCss.trigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
_.delay(function () {
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
AppSettings = require('../../Storages/AppSettings.js')
|
||||
Settings = require('Storage:Settings')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -20,13 +20,13 @@
|
|||
function AdminSettingsContacts()
|
||||
{
|
||||
var
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
this.defautOptionsAfterRender = Utils.defautOptionsAfterRender;
|
||||
this.enableContacts = ko.observable(!!AppSettings.settingsGet('ContactsEnable'));
|
||||
this.contactsSharing = ko.observable(!!AppSettings.settingsGet('ContactsSharing'));
|
||||
this.contactsSync = ko.observable(!!AppSettings.settingsGet('ContactsSync'));
|
||||
this.enableContacts = ko.observable(!!Settings.settingsGet('ContactsEnable'));
|
||||
this.contactsSharing = ko.observable(!!Settings.settingsGet('ContactsSharing'));
|
||||
this.contactsSync = ko.observable(!!Settings.settingsGet('ContactsSync'));
|
||||
|
||||
var
|
||||
aTypes = ['sqlite', 'mysql', 'pgsql'],
|
||||
|
@ -49,15 +49,15 @@
|
|||
}
|
||||
;
|
||||
|
||||
if (!!AppSettings.settingsGet('SQLiteIsSupported'))
|
||||
if (!!Settings.settingsGet('SQLiteIsSupported'))
|
||||
{
|
||||
aSupportedTypes.push('sqlite');
|
||||
}
|
||||
if (!!AppSettings.settingsGet('MySqlIsSupported'))
|
||||
if (!!Settings.settingsGet('MySqlIsSupported'))
|
||||
{
|
||||
aSupportedTypes.push('mysql');
|
||||
}
|
||||
if (!!AppSettings.settingsGet('PostgreSqlIsSupported'))
|
||||
if (!!Settings.settingsGet('PostgreSqlIsSupported'))
|
||||
{
|
||||
aSupportedTypes.push('pgsql');
|
||||
}
|
||||
|
@ -105,9 +105,9 @@
|
|||
this.testContactsErrorMessage('');
|
||||
}, this);
|
||||
|
||||
this.pdoDsn = ko.observable(AppSettings.settingsGet('ContactsPdoDsn'));
|
||||
this.pdoUser = ko.observable(AppSettings.settingsGet('ContactsPdoUser'));
|
||||
this.pdoPassword = ko.observable(AppSettings.settingsGet('ContactsPdoPassword'));
|
||||
this.pdoDsn = ko.observable(Settings.settingsGet('ContactsPdoDsn'));
|
||||
this.pdoUser = ko.observable(Settings.settingsGet('ContactsPdoUser'));
|
||||
this.pdoPassword = ko.observable(Settings.settingsGet('ContactsPdoPassword'));
|
||||
|
||||
this.pdoDsnTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
this.pdoUserTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
|
@ -137,7 +137,7 @@
|
|||
return '' !== this.pdoDsn() && '' !== this.pdoUser();
|
||||
});
|
||||
|
||||
this.contactsType(AppSettings.settingsGet('ContactsPdoType'));
|
||||
this.contactsType(Settings.settingsGet('ContactsPdoType'));
|
||||
|
||||
this.onTestContactsResponse = _.bind(this.onTestContactsResponse, this);
|
||||
}
|
||||
|
@ -179,7 +179,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
_.delay(function () {
|
||||
|
@ -233,7 +233,7 @@
|
|||
});
|
||||
});
|
||||
|
||||
self.contactsType(AppSettings.settingsGet('ContactsPdoType'));
|
||||
self.contactsType(Settings.settingsGet('ContactsPdoType'));
|
||||
|
||||
}, 50);
|
||||
};
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
|
||||
Enums = require('Enums'),
|
||||
|
||||
PopupsDomainViewModel = require('../../ViewModels/Popups/PopupsDomainViewModel.js'),
|
||||
PopupsDomainViewModel = require('View:Popup:Domain'),
|
||||
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
Data = require('Storage:Admin:Data'),
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -58,7 +58,7 @@
|
|||
|
||||
AdminSettingsDomains.prototype.createDomain = function ()
|
||||
{
|
||||
require('kn').showScreenPopup(PopupsDomainViewModel);
|
||||
require('App:Knoin').showScreenPopup(PopupsDomainViewModel);
|
||||
};
|
||||
|
||||
AdminSettingsDomains.prototype.deleteDomain = function (oDomain)
|
||||
|
@ -86,20 +86,20 @@
|
|||
})
|
||||
;
|
||||
|
||||
require('../../Apps/AdminApp.js').reloadDomainList();
|
||||
require('App:Admin').reloadDomainList();
|
||||
};
|
||||
|
||||
AdminSettingsDomains.prototype.onDomainLoadRequest = function (sResult, oData)
|
||||
{
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
require('kn').showScreenPopup(PopupsDomainViewModel, [oData.Result]);
|
||||
require('App:Knoin').showScreenPopup(PopupsDomainViewModel, [oData.Result]);
|
||||
}
|
||||
};
|
||||
|
||||
AdminSettingsDomains.prototype.onDomainListChangeRequest = function ()
|
||||
{
|
||||
require('../../Apps/AdminApp.js').reloadDomainList();
|
||||
require('App:Admin').reloadDomainList();
|
||||
};
|
||||
|
||||
module.exports = AdminSettingsDomains;
|
||||
|
|
|
@ -12,10 +12,8 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
|
||||
PopupsLanguagesViewModel = require('../../ViewModels/Popups/PopupsLanguagesViewModel.js')
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:Admin:Data')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -35,8 +33,8 @@
|
|||
this.capaAdditionalAccounts = Data.capaAdditionalAccounts;
|
||||
this.capaAdditionalIdentities = Data.capaAdditionalIdentities;
|
||||
|
||||
this.mainAttachmentLimit = ko.observable(Utils.pInt(AppSettings.settingsGet('AttachmentLimit')) / (1024 * 1024)).extend({'posInterer': 25});
|
||||
this.uploadData = AppSettings.settingsGet('PhpUploadSizes');
|
||||
this.mainAttachmentLimit = ko.observable(Utils.pInt(Settings.settingsGet('AttachmentLimit')) / (1024 * 1024)).extend({'posInterer': 25});
|
||||
this.uploadData = Settings.settingsGet('PhpUploadSizes');
|
||||
this.uploadDataDesc = this.uploadData && (this.uploadData['upload_max_filesize'] || this.uploadData['post_max_size']) ?
|
||||
[
|
||||
this.uploadData['upload_max_filesize'] ? 'upload_max_filesize = ' + this.uploadData['upload_max_filesize'] + '; ' : '',
|
||||
|
@ -57,7 +55,7 @@
|
|||
return Utils.convertLangName(this.mainLanguage());
|
||||
}, this);
|
||||
|
||||
this.weakPassword = !!AppSettings.settingsGet('WeakPassword');
|
||||
this.weakPassword = !!Settings.settingsGet('WeakPassword');
|
||||
|
||||
this.attachmentLimitTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
this.languageTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
|
@ -68,7 +66,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
_.delay(function () {
|
||||
|
@ -132,7 +130,7 @@
|
|||
|
||||
AdminSettingsGeneral.prototype.selectLanguage = function ()
|
||||
{
|
||||
require('kn').showScreenPopup(PopupsLanguagesViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:Languages'));
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -8,10 +8,8 @@
|
|||
ko = require('ko'),
|
||||
moment = require('moment'),
|
||||
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
|
||||
PopupsActivateViewModel = require('../../ViewModels/Popups/PopupsActivateViewModel.js')
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:Admin:Data')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -27,12 +25,12 @@
|
|||
this.licenseTrigger = Data.licenseTrigger;
|
||||
|
||||
this.adminDomain = ko.observable('');
|
||||
this.subscriptionEnabled = ko.observable(!!AppSettings.settingsGet('SubscriptionEnabled'));
|
||||
this.subscriptionEnabled = ko.observable(!!Settings.settingsGet('SubscriptionEnabled'));
|
||||
|
||||
this.licenseTrigger.subscribe(function () {
|
||||
if (this.subscriptionEnabled())
|
||||
{
|
||||
require('../../Apps/AdminApp.js').reloadLicensing(true);
|
||||
require('App:Admin').reloadLicensing(true);
|
||||
}
|
||||
}, this);
|
||||
}
|
||||
|
@ -41,18 +39,18 @@
|
|||
{
|
||||
if (this.subscriptionEnabled())
|
||||
{
|
||||
require('../../Apps/AdminApp.js').reloadLicensing(false);
|
||||
require('App:Admin').reloadLicensing(false);
|
||||
}
|
||||
};
|
||||
|
||||
AdminSettingsLicensing.prototype.onShow = function ()
|
||||
{
|
||||
this.adminDomain(AppSettings.settingsGet('AdminDomain'));
|
||||
this.adminDomain(Settings.settingsGet('AdminDomain'));
|
||||
};
|
||||
|
||||
AdminSettingsLicensing.prototype.showActivationForm = function ()
|
||||
{
|
||||
require('kn').showScreenPopup(PopupsActivateViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:Activate'));
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js')
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:Admin:Data')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -23,7 +23,7 @@
|
|||
this.determineUserLanguage = Data.determineUserLanguage;
|
||||
this.determineUserDomain = Data.determineUserDomain;
|
||||
|
||||
this.defaultDomain = ko.observable(AppSettings.settingsGet('LoginDefaultDomain'));
|
||||
this.defaultDomain = ko.observable(Settings.settingsGet('LoginDefaultDomain'));
|
||||
|
||||
this.allowLanguagesOnLogin = Data.allowLanguagesOnLogin;
|
||||
this.defaultDomainTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
|
@ -33,7 +33,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
_.delay(function () {
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
Data = require('Storage:Admin:Data'),
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -51,7 +51,7 @@
|
|||
|
||||
AdminSettingsPackages.prototype.onBuild = function ()
|
||||
{
|
||||
require('../../Apps/AdminApp.js').reloadPackagesList();
|
||||
require('App:Admin').reloadPackagesList();
|
||||
};
|
||||
|
||||
AdminSettingsPackages.prototype.requestHelper = function (oPackage, bInstall)
|
||||
|
@ -86,7 +86,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
require('../../Apps/AdminApp.js').reloadPackagesList();
|
||||
require('App:Admin').reloadPackagesList();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
@ -11,11 +11,9 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js'),
|
||||
|
||||
PopupsPluginViewModel = require('../../ViewModels/Popups/PopupsPluginViewModel.js')
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:Admin:Data'),
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -23,7 +21,7 @@
|
|||
*/
|
||||
function AdminSettingsPlugins()
|
||||
{
|
||||
this.enabledPlugins = ko.observable(!!AppSettings.settingsGet('EnabledPlugins'));
|
||||
this.enabledPlugins = ko.observable(!!Settings.settingsGet('EnabledPlugins'));
|
||||
|
||||
this.pluginsError = ko.observable('');
|
||||
|
||||
|
@ -80,14 +78,14 @@
|
|||
AdminSettingsPlugins.prototype.onShow = function ()
|
||||
{
|
||||
this.pluginsError('');
|
||||
require('../../Apps/AdminApp.js').reloadPluginList();
|
||||
require('App:Admin').reloadPluginList();
|
||||
};
|
||||
|
||||
AdminSettingsPlugins.prototype.onPluginLoadRequest = function (sResult, oData)
|
||||
{
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
require('kn').showScreenPopup(PopupsPluginViewModel, [oData.Result]);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:Plugin'), [oData.Result]);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -108,7 +106,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
require('../../Apps/AdminApp.js').reloadPluginList();
|
||||
require('App:Admin').reloadPluginList();
|
||||
};
|
||||
|
||||
module.exports = AdminSettingsPlugins;
|
||||
|
|
|
@ -12,9 +12,9 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:Admin:Data'),
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -24,10 +24,10 @@
|
|||
{
|
||||
this.useLocalProxyForExternalImages = Data.useLocalProxyForExternalImages;
|
||||
|
||||
this.capaOpenPGP = ko.observable(AppSettings.capa(Enums.Capa.OpenPGP));
|
||||
this.capaTwoFactorAuth = ko.observable(AppSettings.capa(Enums.Capa.TwoFactor));
|
||||
this.capaOpenPGP = ko.observable(Settings.capa(Enums.Capa.OpenPGP));
|
||||
this.capaTwoFactorAuth = ko.observable(Settings.capa(Enums.Capa.TwoFactor));
|
||||
|
||||
this.adminLogin = ko.observable(AppSettings.settingsGet('AdminLogin'));
|
||||
this.adminLogin = ko.observable(Settings.settingsGet('AdminLogin'));
|
||||
this.adminPassword = ko.observable('');
|
||||
this.adminPasswordNew = ko.observable('');
|
||||
this.adminPasswordNew2 = ko.observable('');
|
||||
|
@ -95,7 +95,7 @@
|
|||
AdminSettingsSecurity.prototype.onBuild = function ()
|
||||
{
|
||||
var
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
this.capaOpenPGP.subscribe(function (bValue) {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
*/
|
||||
function AdminSettingsSocial()
|
||||
{
|
||||
var Data = require('../../Storages/AdminDataStorage.js');
|
||||
var Data = require('Storage:Admin:Data');
|
||||
|
||||
this.googleEnable = Data.googleEnable;
|
||||
this.googleClientID = Data.googleClientID;
|
||||
|
@ -49,7 +49,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('Storage:Admin:Remote')
|
||||
;
|
||||
|
||||
_.delay(function () {
|
||||
|
|
|
@ -13,11 +13,8 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
PopupsAddAccountViewModel = require('../../ViewModels/Popups/PopupsAddAccountViewModel.js')
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -52,7 +49,7 @@
|
|||
|
||||
SettingsAccounts.prototype.addNewAccount = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsAddAccountViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:AddAccount'));
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -65,7 +62,7 @@
|
|||
this.accountForDeletion(null);
|
||||
|
||||
var
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
kn = require('App:Knoin'),
|
||||
fRemoveAccount = function (oAccount) {
|
||||
return oAccountToRemove === oAccount;
|
||||
}
|
||||
|
@ -90,7 +87,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
App.accountsAndIdentities();
|
||||
require('App:RainLoop').accountsAndIdentities();
|
||||
}
|
||||
|
||||
}, oAccountToRemove.email);
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js')
|
||||
Remote = require('Storage:RainLoop:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js')
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
Data = require('Storage:RainLoop:Data')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -30,12 +30,11 @@
|
|||
SettingsFilters.prototype.addFilter = function ()
|
||||
{
|
||||
var
|
||||
kn = require('kn'),
|
||||
FilterModel = require('../../Models/FilterModel.js'),
|
||||
PopupsFilterViewModel = require('../../ViewModels/Popups/PopupsFilterViewModel.js')
|
||||
FilterModel = require('Model:Filter')
|
||||
;
|
||||
|
||||
kn.showScreenPopup(PopupsFilterViewModel, [new FilterModel()]);
|
||||
require('App:Knoin').showScreenPopup(
|
||||
require('View:Popup:Filter'), [new FilterModel()]);
|
||||
};
|
||||
|
||||
module.exports = SettingsFilters;
|
||||
|
|
|
@ -10,16 +10,11 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
kn = require('kn'),
|
||||
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
LocalStorage = require('../../Storages/LocalStorage.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Cache = require('../../Storages/WebMailCacheStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
|
||||
PopupsFolderCreateViewModel = require('../../ViewModels/Popups/PopupsFolderCreateViewModel.js'),
|
||||
PopupsFolderSystemViewModel = require('../../ViewModels/Popups/PopupsFolderSystemViewModel.js')
|
||||
Settings = require('Storage:Settings'),
|
||||
LocalStorage = require('Storage:LocalStorage'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Cache = require('Storage:RainLoop:Cache'),
|
||||
Remote = require('Storage:RainLoop:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -92,13 +87,12 @@
|
|||
}
|
||||
]});
|
||||
|
||||
this.useImapSubscribe = !!AppSettings.settingsGet('UseImapSubscribe');
|
||||
this.useImapSubscribe = !!Settings.settingsGet('UseImapSubscribe');
|
||||
}
|
||||
|
||||
SettingsFolders.prototype.folderEditOnEnter = function (oFolder)
|
||||
{
|
||||
var
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
sEditName = oFolder ? Utils.trim(oFolder.nameForEdit()) : ''
|
||||
;
|
||||
|
||||
|
@ -116,7 +110,7 @@
|
|||
oData && oData.ErrorCode ? Utils.getNotification(oData.ErrorCode) : Utils.i18n('NOTIFICATIONS/CANT_RENAME_FOLDER'));
|
||||
}
|
||||
|
||||
App.folders();
|
||||
require('App:RainLoop').folders();
|
||||
|
||||
}, oFolder.fullNameRaw, sEditName);
|
||||
|
||||
|
@ -143,12 +137,12 @@
|
|||
|
||||
SettingsFolders.prototype.createFolder = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsFolderCreateViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:FolderCreate'));
|
||||
};
|
||||
|
||||
SettingsFolders.prototype.systemFolder = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsFolderSystemViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:FolderSystem'));
|
||||
};
|
||||
|
||||
SettingsFolders.prototype.deleteFolder = function (oFolderToRemove)
|
||||
|
@ -159,7 +153,6 @@
|
|||
this.folderForDeletion(null);
|
||||
|
||||
var
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
fRemoveFolder = function (oFolder) {
|
||||
|
||||
if (oFolderToRemove === oFolder)
|
||||
|
@ -188,7 +181,7 @@
|
|||
oData && oData.ErrorCode ? Utils.getNotification(oData.ErrorCode) : Utils.i18n('NOTIFICATIONS/CANT_DELETE_FOLDER'));
|
||||
}
|
||||
|
||||
App.folders();
|
||||
require('App:RainLoop').folders();
|
||||
|
||||
}, oFolderToRemove.fullNameRaw);
|
||||
|
||||
|
|
|
@ -15,11 +15,8 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
PopupsLanguagesViewModel = require('../../ViewModels/Popups/PopupsLanguagesViewModel.js')
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -174,7 +171,7 @@
|
|||
|
||||
SettingsGeneral.prototype.selectLanguage = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsLanguagesViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:Languages'));
|
||||
};
|
||||
|
||||
module.exports = SettingsGeneral;
|
||||
|
|
|
@ -10,13 +10,10 @@
|
|||
|
||||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
NewHtmlEditorWrapper = require('NewHtmlEditorWrapper'),
|
||||
HtmlEditor = require('HtmlEditor'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
PopupsIdentityViewModel = require('../../ViewModels/Popups/PopupsIdentityViewModel.js')
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -116,12 +113,12 @@
|
|||
|
||||
SettingsIdentities.prototype.addNewIdentity = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsIdentityViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:Identity'));
|
||||
};
|
||||
|
||||
SettingsIdentities.prototype.editIdentity = function (oIdentity)
|
||||
{
|
||||
kn.showScreenPopup(PopupsIdentityViewModel, [oIdentity]);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:Identity'), [oIdentity]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -134,7 +131,6 @@
|
|||
this.identityForDeletion(null);
|
||||
|
||||
var
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
fRemoveFolder = function (oIdentity) {
|
||||
return oIdentityToRemove === oIdentity;
|
||||
}
|
||||
|
@ -145,7 +141,7 @@
|
|||
this.identities.remove(fRemoveFolder);
|
||||
|
||||
Remote.identityDelete(function () {
|
||||
App.accountsAndIdentities();
|
||||
require('App:RainLoop').accountsAndIdentities();
|
||||
}, oIdentityToRemove.id);
|
||||
}
|
||||
}
|
||||
|
@ -160,7 +156,7 @@
|
|||
sSignature = Data.signature()
|
||||
;
|
||||
|
||||
this.editor = new NewHtmlEditorWrapper(self.signatureDom(), function () {
|
||||
this.editor = new HtmlEditor(self.signatureDom(), function () {
|
||||
Data.signature(
|
||||
(self.editor.isHtml() ? ':HTML:' : '') + self.editor.getData()
|
||||
);
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
|
||||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
NewHtmlEditorWrapper = require('NewHtmlEditorWrapper'),
|
||||
HtmlEditor = require('HtmlEditor'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js')
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -44,7 +44,7 @@
|
|||
sSignature = Data.signature()
|
||||
;
|
||||
|
||||
this.editor = new NewHtmlEditorWrapper(self.signatureDom(), function () {
|
||||
this.editor = new HtmlEditor(self.signatureDom(), function () {
|
||||
Data.signature(
|
||||
(self.editor.isHtml() ? ':HTML:' : '') + self.editor.getData()
|
||||
);
|
||||
|
|
|
@ -6,14 +6,8 @@
|
|||
|
||||
var
|
||||
ko = require('ko'),
|
||||
|
||||
kn = require('kn'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
|
||||
PopupsAddOpenPgpKeyViewModel = require('../../ViewModels/Popups/PopupsAddOpenPgpKeyViewModel.js'),
|
||||
PopupsGenerateNewOpenPgpKeyViewModel = require('../../ViewModels/Popups/PopupsGenerateNewOpenPgpKeyViewModel.js'),
|
||||
PopupsViewOpenPgpKeyViewModel = require('../../ViewModels/Popups/PopupsViewOpenPgpKeyViewModel.js')
|
||||
kn = require('App:Knoin'),
|
||||
Data = require('Storage:RainLoop:Data')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -42,19 +36,19 @@
|
|||
|
||||
SettingsOpenPGP.prototype.addOpenPgpKey = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsAddOpenPgpKeyViewModel);
|
||||
kn.showScreenPopup(require('View:Popup:AddOpenPgpKey'));
|
||||
};
|
||||
|
||||
SettingsOpenPGP.prototype.generateOpenPgpKey = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsGenerateNewOpenPgpKeyViewModel);
|
||||
kn.showScreenPopup(require('View:Popup:NewOpenPgpKey'));
|
||||
};
|
||||
|
||||
SettingsOpenPGP.prototype.viewOpenPgpKey = function (oOpenPgpKey)
|
||||
{
|
||||
if (oOpenPgpKey)
|
||||
{
|
||||
kn.showScreenPopup(PopupsViewOpenPgpKeyViewModel, [oOpenPgpKey]);
|
||||
kn.showScreenPopup(require('View:Popup:ViewOpenPgpKey'), [oOpenPgpKey]);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -78,8 +72,7 @@
|
|||
|
||||
Data.openpgpKeyring.store();
|
||||
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
App.reloadOpenPgpKeys();
|
||||
require('App:RainLoop').reloadOpenPgpKeys();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -11,10 +11,7 @@
|
|||
Globals = require('Globals'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
PopupsTwoFactorTestViewModel = require('../../ViewModels/Popups/PopupsTwoFactorTestViewModel.js')
|
||||
Remote = require('Storage:RainLoop:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -77,7 +74,7 @@
|
|||
|
||||
SettingsSecurity.prototype.testTwoFactor = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsTwoFactorTestViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:TwoFactorTest'));
|
||||
};
|
||||
|
||||
SettingsSecurity.prototype.clearTwoFactor = function ()
|
||||
|
|
|
@ -11,8 +11,7 @@
|
|||
{
|
||||
var
|
||||
Utils = require('Utils'),
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js')
|
||||
Data = require('Storage:RainLoop:Data')
|
||||
;
|
||||
|
||||
this.googleEnable = Data.googleEnable;
|
||||
|
@ -36,40 +35,40 @@
|
|||
this.connectGoogle = Utils.createCommand(this, function () {
|
||||
if (!this.googleLoggined())
|
||||
{
|
||||
App.googleConnect();
|
||||
require('App:RainLoop').googleConnect();
|
||||
}
|
||||
}, function () {
|
||||
return !this.googleLoggined() && !this.googleActions();
|
||||
});
|
||||
|
||||
this.disconnectGoogle = Utils.createCommand(this, function () {
|
||||
App.googleDisconnect();
|
||||
require('App:RainLoop').googleDisconnect();
|
||||
});
|
||||
|
||||
this.connectFacebook = Utils.createCommand(this, function () {
|
||||
if (!this.facebookLoggined())
|
||||
{
|
||||
App.facebookConnect();
|
||||
require('App:RainLoop').facebookConnect();
|
||||
}
|
||||
}, function () {
|
||||
return !this.facebookLoggined() && !this.facebookActions();
|
||||
});
|
||||
|
||||
this.disconnectFacebook = Utils.createCommand(this, function () {
|
||||
App.facebookDisconnect();
|
||||
require('App:RainLoop').facebookDisconnect();
|
||||
});
|
||||
|
||||
this.connectTwitter = Utils.createCommand(this, function () {
|
||||
if (!this.twitterLoggined())
|
||||
{
|
||||
App.twitterConnect();
|
||||
require('App:RainLoop').twitterConnect();
|
||||
}
|
||||
}, function () {
|
||||
return !this.twitterLoggined() && !this.twitterActions();
|
||||
});
|
||||
|
||||
this.disconnectTwitter = Utils.createCommand(this, function () {
|
||||
App.twitterDisconnect();
|
||||
require('App:RainLoop').twitterDisconnect();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js')
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
AppSettings = require('./AppSettings.js')
|
||||
Settings = require('Storage:Settings')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -22,9 +22,9 @@
|
|||
AbstractData.prototype.populateDataOnStart = function()
|
||||
{
|
||||
var
|
||||
mLayout = Utils.pInt(AppSettings.settingsGet('Layout')),
|
||||
aLanguages = AppSettings.settingsGet('Languages'),
|
||||
aThemes = AppSettings.settingsGet('Themes')
|
||||
mLayout = Utils.pInt(Settings.settingsGet('Layout')),
|
||||
aLanguages = Settings.settingsGet('Languages'),
|
||||
aThemes = Settings.settingsGet('Themes')
|
||||
;
|
||||
|
||||
if (Utils.isArray(aLanguages))
|
||||
|
@ -37,55 +37,55 @@
|
|||
this.themes(aThemes);
|
||||
}
|
||||
|
||||
this.mainLanguage(AppSettings.settingsGet('Language'));
|
||||
this.mainTheme(AppSettings.settingsGet('Theme'));
|
||||
this.mainLanguage(Settings.settingsGet('Language'));
|
||||
this.mainTheme(Settings.settingsGet('Theme'));
|
||||
|
||||
this.capaAdditionalAccounts(AppSettings.capa(Enums.Capa.AdditionalAccounts));
|
||||
this.capaAdditionalIdentities(AppSettings.capa(Enums.Capa.AdditionalIdentities));
|
||||
this.capaGravatar(AppSettings.capa(Enums.Capa.Gravatar));
|
||||
this.determineUserLanguage(!!AppSettings.settingsGet('DetermineUserLanguage'));
|
||||
this.determineUserDomain(!!AppSettings.settingsGet('DetermineUserDomain'));
|
||||
this.capaAdditionalAccounts(Settings.capa(Enums.Capa.AdditionalAccounts));
|
||||
this.capaAdditionalIdentities(Settings.capa(Enums.Capa.AdditionalIdentities));
|
||||
this.capaGravatar(Settings.capa(Enums.Capa.Gravatar));
|
||||
this.determineUserLanguage(!!Settings.settingsGet('DetermineUserLanguage'));
|
||||
this.determineUserDomain(!!Settings.settingsGet('DetermineUserDomain'));
|
||||
|
||||
this.capaThemes(AppSettings.capa(Enums.Capa.Themes));
|
||||
this.allowLanguagesOnLogin(!!AppSettings.settingsGet('AllowLanguagesOnLogin'));
|
||||
this.allowLanguagesOnSettings(!!AppSettings.settingsGet('AllowLanguagesOnSettings'));
|
||||
this.useLocalProxyForExternalImages(!!AppSettings.settingsGet('UseLocalProxyForExternalImages'));
|
||||
this.capaThemes(Settings.capa(Enums.Capa.Themes));
|
||||
this.allowLanguagesOnLogin(!!Settings.settingsGet('AllowLanguagesOnLogin'));
|
||||
this.allowLanguagesOnSettings(!!Settings.settingsGet('AllowLanguagesOnSettings'));
|
||||
this.useLocalProxyForExternalImages(!!Settings.settingsGet('UseLocalProxyForExternalImages'));
|
||||
|
||||
this.editorDefaultType(AppSettings.settingsGet('EditorDefaultType'));
|
||||
this.showImages(!!AppSettings.settingsGet('ShowImages'));
|
||||
this.contactsAutosave(!!AppSettings.settingsGet('ContactsAutosave'));
|
||||
this.interfaceAnimation(AppSettings.settingsGet('InterfaceAnimation'));
|
||||
this.editorDefaultType(Settings.settingsGet('EditorDefaultType'));
|
||||
this.showImages(!!Settings.settingsGet('ShowImages'));
|
||||
this.contactsAutosave(!!Settings.settingsGet('ContactsAutosave'));
|
||||
this.interfaceAnimation(Settings.settingsGet('InterfaceAnimation'));
|
||||
|
||||
this.mainMessagesPerPage(AppSettings.settingsGet('MPP'));
|
||||
this.mainMessagesPerPage(Settings.settingsGet('MPP'));
|
||||
|
||||
this.desktopNotifications(!!AppSettings.settingsGet('DesktopNotifications'));
|
||||
this.useThreads(!!AppSettings.settingsGet('UseThreads'));
|
||||
this.replySameFolder(!!AppSettings.settingsGet('ReplySameFolder'));
|
||||
this.useCheckboxesInList(!!AppSettings.settingsGet('UseCheckboxesInList'));
|
||||
this.desktopNotifications(!!Settings.settingsGet('DesktopNotifications'));
|
||||
this.useThreads(!!Settings.settingsGet('UseThreads'));
|
||||
this.replySameFolder(!!Settings.settingsGet('ReplySameFolder'));
|
||||
this.useCheckboxesInList(!!Settings.settingsGet('UseCheckboxesInList'));
|
||||
|
||||
this.layout(Enums.Layout.SidePreview);
|
||||
if (-1 < Utils.inArray(mLayout, [Enums.Layout.NoPreview, Enums.Layout.SidePreview, Enums.Layout.BottomPreview]))
|
||||
{
|
||||
this.layout(mLayout);
|
||||
}
|
||||
this.facebookSupported(!!AppSettings.settingsGet('SupportedFacebookSocial'));
|
||||
this.facebookEnable(!!AppSettings.settingsGet('AllowFacebookSocial'));
|
||||
this.facebookAppID(AppSettings.settingsGet('FacebookAppID'));
|
||||
this.facebookAppSecret(AppSettings.settingsGet('FacebookAppSecret'));
|
||||
this.facebookSupported(!!Settings.settingsGet('SupportedFacebookSocial'));
|
||||
this.facebookEnable(!!Settings.settingsGet('AllowFacebookSocial'));
|
||||
this.facebookAppID(Settings.settingsGet('FacebookAppID'));
|
||||
this.facebookAppSecret(Settings.settingsGet('FacebookAppSecret'));
|
||||
|
||||
this.twitterEnable(!!AppSettings.settingsGet('AllowTwitterSocial'));
|
||||
this.twitterConsumerKey(AppSettings.settingsGet('TwitterConsumerKey'));
|
||||
this.twitterConsumerSecret(AppSettings.settingsGet('TwitterConsumerSecret'));
|
||||
this.twitterEnable(!!Settings.settingsGet('AllowTwitterSocial'));
|
||||
this.twitterConsumerKey(Settings.settingsGet('TwitterConsumerKey'));
|
||||
this.twitterConsumerSecret(Settings.settingsGet('TwitterConsumerSecret'));
|
||||
|
||||
this.googleEnable(!!AppSettings.settingsGet('AllowGoogleSocial'));
|
||||
this.googleClientID(AppSettings.settingsGet('GoogleClientID'));
|
||||
this.googleClientSecret(AppSettings.settingsGet('GoogleClientSecret'));
|
||||
this.googleApiKey(AppSettings.settingsGet('GoogleApiKey'));
|
||||
this.googleEnable(!!Settings.settingsGet('AllowGoogleSocial'));
|
||||
this.googleClientID(Settings.settingsGet('GoogleClientID'));
|
||||
this.googleClientSecret(Settings.settingsGet('GoogleClientSecret'));
|
||||
this.googleApiKey(Settings.settingsGet('GoogleApiKey'));
|
||||
|
||||
this.dropboxEnable(!!AppSettings.settingsGet('AllowDropboxSocial'));
|
||||
this.dropboxApiKey(AppSettings.settingsGet('DropboxApiKey'));
|
||||
this.dropboxEnable(!!Settings.settingsGet('AllowDropboxSocial'));
|
||||
this.dropboxApiKey(Settings.settingsGet('DropboxApiKey'));
|
||||
|
||||
this.contactsIsAllowed(!!AppSettings.settingsGet('ContactsIsAllowed'));
|
||||
this.contactsIsAllowed(!!Settings.settingsGet('ContactsIsAllowed'));
|
||||
};
|
||||
|
||||
module.exports = AbstractData;
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
var
|
||||
window = require('window'),
|
||||
$ = require('$'),
|
||||
_ = require('_'),
|
||||
|
||||
Consts = require('Consts'),
|
||||
Enums = require('Enums'),
|
||||
|
@ -15,18 +16,18 @@
|
|||
Plugins = require('Plugins'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
AppSettings = require('./AppSettings.js')
|
||||
Settings = require('Storage:Settings')
|
||||
;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
function AbstractAjaxRemoteStorage()
|
||||
function AbstractRemoteStorage()
|
||||
{
|
||||
this.oRequests = {};
|
||||
}
|
||||
|
||||
AbstractAjaxRemoteStorage.prototype.oRequests = {};
|
||||
AbstractRemoteStorage.prototype.oRequests = {};
|
||||
|
||||
/**
|
||||
* @param {?Function} fCallback
|
||||
|
@ -36,7 +37,7 @@
|
|||
* @param {boolean} bCached
|
||||
* @param {*=} oRequestParameters
|
||||
*/
|
||||
AbstractAjaxRemoteStorage.prototype.defaultResponse = function (fCallback, sRequestAction, sType, oData, bCached, oRequestParameters)
|
||||
AbstractRemoteStorage.prototype.defaultResponse = function (fCallback, sRequestAction, sType, oData, bCached, oRequestParameters)
|
||||
{
|
||||
var
|
||||
fCall = function () {
|
||||
|
@ -134,7 +135,7 @@
|
|||
* @param {Array=} aAbortActions = []
|
||||
* @return {jQuery.jqXHR}
|
||||
*/
|
||||
AbstractAjaxRemoteStorage.prototype.ajaxRequest = function (fResultCallback, oParameters, iTimeOut, sGetAdd, aAbortActions)
|
||||
AbstractRemoteStorage.prototype.ajaxRequest = function (fResultCallback, oParameters, iTimeOut, sGetAdd, aAbortActions)
|
||||
{
|
||||
var
|
||||
self = this,
|
||||
|
@ -169,7 +170,7 @@
|
|||
|
||||
if (bPost)
|
||||
{
|
||||
oParameters['XToken'] = AppSettings.settingsGet('Token');
|
||||
oParameters['XToken'] = Settings.settingsGet('Token');
|
||||
}
|
||||
|
||||
oDefAjax = $.ajax({
|
||||
|
@ -230,7 +231,7 @@
|
|||
* @param {string=} sGetAdd = ''
|
||||
* @param {Array=} aAbortActions = []
|
||||
*/
|
||||
AbstractAjaxRemoteStorage.prototype.defaultRequest = function (fCallback, sAction, oParameters, iTimeout, sGetAdd, aAbortActions)
|
||||
AbstractRemoteStorage.prototype.defaultRequest = function (fCallback, sAction, oParameters, iTimeout, sGetAdd, aAbortActions)
|
||||
{
|
||||
oParameters = oParameters || {};
|
||||
oParameters.Action = sAction;
|
||||
|
@ -246,7 +247,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
AbstractAjaxRemoteStorage.prototype.noop = function (fCallback)
|
||||
AbstractRemoteStorage.prototype.noop = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'Noop');
|
||||
};
|
||||
|
@ -260,7 +261,7 @@
|
|||
* @param {string} sHtmlCapa
|
||||
* @param {number} iTime
|
||||
*/
|
||||
AbstractAjaxRemoteStorage.prototype.jsError = function (fCallback, sMessage, sFileName, iLineNo, sLocation, sHtmlCapa, iTime)
|
||||
AbstractRemoteStorage.prototype.jsError = function (fCallback, sMessage, sFileName, iLineNo, sLocation, sHtmlCapa, iTime)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'JsError', {
|
||||
'Message': sMessage,
|
||||
|
@ -278,7 +279,7 @@
|
|||
* @param {Array=} mData = null
|
||||
* @param {boolean=} bIsError = false
|
||||
*/
|
||||
AbstractAjaxRemoteStorage.prototype.jsInfo = function (fCallback, sType, mData, bIsError)
|
||||
AbstractRemoteStorage.prototype.jsInfo = function (fCallback, sType, mData, bIsError)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'JsInfo', {
|
||||
'Type': sType,
|
||||
|
@ -290,7 +291,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
AbstractAjaxRemoteStorage.prototype.getPublicKey = function (fCallback)
|
||||
AbstractRemoteStorage.prototype.getPublicKey = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'GetPublicKey');
|
||||
};
|
||||
|
@ -299,13 +300,13 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {string} sVersion
|
||||
*/
|
||||
AbstractAjaxRemoteStorage.prototype.jsVersion = function (fCallback, sVersion)
|
||||
AbstractRemoteStorage.prototype.jsVersion = function (fCallback, sVersion)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'Version', {
|
||||
'Version': sVersion
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = AbstractAjaxRemoteStorage;
|
||||
module.exports = AbstractRemoteStorage;
|
||||
|
||||
}(module, require));
|
|
@ -8,7 +8,7 @@
|
|||
_ = require('_'),
|
||||
ko = require('ko'),
|
||||
|
||||
AbstractData = require('./AbstractData.js')
|
||||
AbstractData = require('Storage:Abstract:Data')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -7,28 +7,28 @@
|
|||
var
|
||||
_ = require('_'),
|
||||
|
||||
AbstractAjaxRemoteStorage = require('./AbstractAjaxRemoteStorage.js')
|
||||
AbstractRemoteStorage = require('Storage:Abstract:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends AbstractAjaxRemoteStorage
|
||||
* @extends AbstractRemoteStorage
|
||||
*/
|
||||
function AdminAjaxRemoteStorage()
|
||||
function AdminRemoteStorage()
|
||||
{
|
||||
AbstractAjaxRemoteStorage.call(this);
|
||||
AbstractRemoteStorage.call(this);
|
||||
|
||||
this.oRequests = {};
|
||||
}
|
||||
|
||||
_.extend(AdminAjaxRemoteStorage.prototype, AbstractAjaxRemoteStorage.prototype);
|
||||
_.extend(AdminRemoteStorage.prototype, AbstractRemoteStorage.prototype);
|
||||
|
||||
/**
|
||||
* @param {?Function} fCallback
|
||||
* @param {string} sLogin
|
||||
* @param {string} sPassword
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.adminLogin = function (fCallback, sLogin, sPassword)
|
||||
AdminRemoteStorage.prototype.adminLogin = function (fCallback, sLogin, sPassword)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminLogin', {
|
||||
'Login': sLogin,
|
||||
|
@ -39,7 +39,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.adminLogout = function (fCallback)
|
||||
AdminRemoteStorage.prototype.adminLogout = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminLogout');
|
||||
};
|
||||
|
@ -48,7 +48,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {?} oData
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.saveAdminConfig = function (fCallback, oData)
|
||||
AdminRemoteStorage.prototype.saveAdminConfig = function (fCallback, oData)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminSettingsUpdate', oData);
|
||||
};
|
||||
|
@ -56,7 +56,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.domainList = function (fCallback)
|
||||
AdminRemoteStorage.prototype.domainList = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminDomainList');
|
||||
};
|
||||
|
@ -64,7 +64,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.pluginList = function (fCallback)
|
||||
AdminRemoteStorage.prototype.pluginList = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminPluginList');
|
||||
};
|
||||
|
@ -72,7 +72,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.packagesList = function (fCallback)
|
||||
AdminRemoteStorage.prototype.packagesList = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminPackagesList');
|
||||
};
|
||||
|
@ -80,7 +80,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.coreData = function (fCallback)
|
||||
AdminRemoteStorage.prototype.coreData = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminCoreData');
|
||||
};
|
||||
|
@ -88,7 +88,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.updateCoreData = function (fCallback)
|
||||
AdminRemoteStorage.prototype.updateCoreData = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminUpdateCoreData', {}, 90000);
|
||||
};
|
||||
|
@ -97,7 +97,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {Object} oPackage
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.packageInstall = function (fCallback, oPackage)
|
||||
AdminRemoteStorage.prototype.packageInstall = function (fCallback, oPackage)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminPackageInstall', {
|
||||
'Id': oPackage.id,
|
||||
|
@ -110,7 +110,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {Object} oPackage
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.packageDelete = function (fCallback, oPackage)
|
||||
AdminRemoteStorage.prototype.packageDelete = function (fCallback, oPackage)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminPackageDelete', {
|
||||
'Id': oPackage.id
|
||||
|
@ -121,7 +121,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {string} sName
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.domain = function (fCallback, sName)
|
||||
AdminRemoteStorage.prototype.domain = function (fCallback, sName)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminDomainLoad', {
|
||||
'Name': sName
|
||||
|
@ -132,7 +132,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {string} sName
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.plugin = function (fCallback, sName)
|
||||
AdminRemoteStorage.prototype.plugin = function (fCallback, sName)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminPluginLoad', {
|
||||
'Name': sName
|
||||
|
@ -143,7 +143,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {string} sName
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.domainDelete = function (fCallback, sName)
|
||||
AdminRemoteStorage.prototype.domainDelete = function (fCallback, sName)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminDomainDelete', {
|
||||
'Name': sName
|
||||
|
@ -155,7 +155,7 @@
|
|||
* @param {string} sName
|
||||
* @param {boolean} bDisabled
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.domainDisable = function (fCallback, sName, bDisabled)
|
||||
AdminRemoteStorage.prototype.domainDisable = function (fCallback, sName, bDisabled)
|
||||
{
|
||||
return this.defaultRequest(fCallback, 'AdminDomainDisable', {
|
||||
'Name': sName,
|
||||
|
@ -167,7 +167,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {Object} oConfig
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.pluginSettingsUpdate = function (fCallback, oConfig)
|
||||
AdminRemoteStorage.prototype.pluginSettingsUpdate = function (fCallback, oConfig)
|
||||
{
|
||||
return this.defaultRequest(fCallback, 'AdminPluginSettingsUpdate', oConfig);
|
||||
};
|
||||
|
@ -176,7 +176,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {boolean} bForce
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.licensing = function (fCallback, bForce)
|
||||
AdminRemoteStorage.prototype.licensing = function (fCallback, bForce)
|
||||
{
|
||||
return this.defaultRequest(fCallback, 'AdminLicensing', {
|
||||
'Force' : bForce ? '1' : '0'
|
||||
|
@ -188,7 +188,7 @@
|
|||
* @param {string} sDomain
|
||||
* @param {string} sKey
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.licensingActivate = function (fCallback, sDomain, sKey)
|
||||
AdminRemoteStorage.prototype.licensingActivate = function (fCallback, sDomain, sKey)
|
||||
{
|
||||
return this.defaultRequest(fCallback, 'AdminLicensingActivate', {
|
||||
'Domain' : sDomain,
|
||||
|
@ -201,7 +201,7 @@
|
|||
* @param {string} sName
|
||||
* @param {boolean} bDisabled
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.pluginDisable = function (fCallback, sName, bDisabled)
|
||||
AdminRemoteStorage.prototype.pluginDisable = function (fCallback, sName, bDisabled)
|
||||
{
|
||||
return this.defaultRequest(fCallback, 'AdminPluginDisable', {
|
||||
'Name': sName,
|
||||
|
@ -209,7 +209,7 @@
|
|||
});
|
||||
};
|
||||
|
||||
AdminAjaxRemoteStorage.prototype.createOrUpdateDomain = function (fCallback,
|
||||
AdminRemoteStorage.prototype.createOrUpdateDomain = function (fCallback,
|
||||
bCreate, sName, sIncHost, iIncPort, sIncSecure, bIncShortLogin,
|
||||
sOutHost, iOutPort, sOutSecure, bOutShortLogin, bOutAuth, sWhiteList)
|
||||
{
|
||||
|
@ -229,7 +229,7 @@
|
|||
});
|
||||
};
|
||||
|
||||
AdminAjaxRemoteStorage.prototype.testConnectionForDomain = function (fCallback, sName,
|
||||
AdminRemoteStorage.prototype.testConnectionForDomain = function (fCallback, sName,
|
||||
sIncHost, iIncPort, sIncSecure,
|
||||
sOutHost, iOutPort, sOutSecure, bOutAuth)
|
||||
{
|
||||
|
@ -249,7 +249,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {?} oData
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.testContacts = function (fCallback, oData)
|
||||
AdminRemoteStorage.prototype.testContacts = function (fCallback, oData)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminContactsTest', oData);
|
||||
};
|
||||
|
@ -258,7 +258,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {?} oData
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.saveNewAdminPassword = function (fCallback, oData)
|
||||
AdminRemoteStorage.prototype.saveNewAdminPassword = function (fCallback, oData)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminPasswordUpdate', oData);
|
||||
};
|
||||
|
@ -266,11 +266,11 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
AdminAjaxRemoteStorage.prototype.adminPing = function (fCallback)
|
||||
AdminRemoteStorage.prototype.adminPing = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AdminPing');
|
||||
};
|
||||
|
||||
module.exports = new AdminAjaxRemoteStorage();
|
||||
module.exports = new AdminRemoteStorage();
|
||||
|
||||
}(module, require));
|
|
@ -11,13 +11,13 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
AppSettings = require('./AppSettings.js')
|
||||
Settings = require('Storage:Settings')
|
||||
;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
function WebMailCacheStorage()
|
||||
function CacheStorage()
|
||||
{
|
||||
this.oFoldersCache = {};
|
||||
this.oFoldersNamesCache = {};
|
||||
|
@ -28,60 +28,60 @@
|
|||
this.oNewMessage = {};
|
||||
this.oRequestedMessage = {};
|
||||
|
||||
this.bCapaGravatar = AppSettings.capa(Enums.Capa.Gravatar);
|
||||
this.bCapaGravatar = Settings.capa(Enums.Capa.Gravatar);
|
||||
}
|
||||
|
||||
/**
|
||||
* @type {boolean}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.bCapaGravatar = false;
|
||||
CacheStorage.prototype.bCapaGravatar = false;
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.oFoldersCache = {};
|
||||
CacheStorage.prototype.oFoldersCache = {};
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.oFoldersNamesCache = {};
|
||||
CacheStorage.prototype.oFoldersNamesCache = {};
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.oFolderHashCache = {};
|
||||
CacheStorage.prototype.oFolderHashCache = {};
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.oFolderUidNextCache = {};
|
||||
CacheStorage.prototype.oFolderUidNextCache = {};
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.oMessageListHashCache = {};
|
||||
CacheStorage.prototype.oMessageListHashCache = {};
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.oMessageFlagsCache = {};
|
||||
CacheStorage.prototype.oMessageFlagsCache = {};
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.oBodies = {};
|
||||
CacheStorage.prototype.oBodies = {};
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.oNewMessage = {};
|
||||
CacheStorage.prototype.oNewMessage = {};
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.oRequestedMessage = {};
|
||||
CacheStorage.prototype.oRequestedMessage = {};
|
||||
|
||||
WebMailCacheStorage.prototype.clear = function ()
|
||||
CacheStorage.prototype.clear = function ()
|
||||
{
|
||||
this.oFoldersCache = {};
|
||||
this.oFoldersNamesCache = {};
|
||||
|
@ -98,7 +98,7 @@
|
|||
* @param {Function} fCallback
|
||||
* @return {string}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.getUserPic = function (sEmail, fCallback)
|
||||
CacheStorage.prototype.getUserPic = function (sEmail, fCallback)
|
||||
{
|
||||
sEmail = Utils.trim(sEmail);
|
||||
fCallback(this.bCapaGravatar && '' !== sEmail ? LinkBuilder.avatarLink(sEmail) : '', sEmail);
|
||||
|
@ -109,7 +109,7 @@
|
|||
* @param {string} sUid
|
||||
* @return {string}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.getMessageKey = function (sFolderFullNameRaw, sUid)
|
||||
CacheStorage.prototype.getMessageKey = function (sFolderFullNameRaw, sUid)
|
||||
{
|
||||
return sFolderFullNameRaw + '#' + sUid;
|
||||
};
|
||||
|
@ -118,7 +118,7 @@
|
|||
* @param {string} sFolder
|
||||
* @param {string} sUid
|
||||
*/
|
||||
WebMailCacheStorage.prototype.addRequestedMessage = function (sFolder, sUid)
|
||||
CacheStorage.prototype.addRequestedMessage = function (sFolder, sUid)
|
||||
{
|
||||
this.oRequestedMessage[this.getMessageKey(sFolder, sUid)] = true;
|
||||
};
|
||||
|
@ -128,7 +128,7 @@
|
|||
* @param {string} sUid
|
||||
* @return {boolean}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.hasRequestedMessage = function (sFolder, sUid)
|
||||
CacheStorage.prototype.hasRequestedMessage = function (sFolder, sUid)
|
||||
{
|
||||
return true === this.oRequestedMessage[this.getMessageKey(sFolder, sUid)];
|
||||
};
|
||||
|
@ -137,7 +137,7 @@
|
|||
* @param {string} sFolderFullNameRaw
|
||||
* @param {string} sUid
|
||||
*/
|
||||
WebMailCacheStorage.prototype.addNewMessageCache = function (sFolderFullNameRaw, sUid)
|
||||
CacheStorage.prototype.addNewMessageCache = function (sFolderFullNameRaw, sUid)
|
||||
{
|
||||
this.oNewMessage[this.getMessageKey(sFolderFullNameRaw, sUid)] = true;
|
||||
};
|
||||
|
@ -146,7 +146,7 @@
|
|||
* @param {string} sFolderFullNameRaw
|
||||
* @param {string} sUid
|
||||
*/
|
||||
WebMailCacheStorage.prototype.hasNewMessageAndRemoveFromCache = function (sFolderFullNameRaw, sUid)
|
||||
CacheStorage.prototype.hasNewMessageAndRemoveFromCache = function (sFolderFullNameRaw, sUid)
|
||||
{
|
||||
if (this.oNewMessage[this.getMessageKey(sFolderFullNameRaw, sUid)])
|
||||
{
|
||||
|
@ -157,7 +157,7 @@
|
|||
return false;
|
||||
};
|
||||
|
||||
WebMailCacheStorage.prototype.clearNewMessageCache = function ()
|
||||
CacheStorage.prototype.clearNewMessageCache = function ()
|
||||
{
|
||||
this.oNewMessage = {};
|
||||
};
|
||||
|
@ -166,7 +166,7 @@
|
|||
* @param {string} sFolderHash
|
||||
* @return {string}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.getFolderFullNameRaw = function (sFolderHash)
|
||||
CacheStorage.prototype.getFolderFullNameRaw = function (sFolderHash)
|
||||
{
|
||||
return '' !== sFolderHash && this.oFoldersNamesCache[sFolderHash] ? this.oFoldersNamesCache[sFolderHash] : '';
|
||||
};
|
||||
|
@ -175,7 +175,7 @@
|
|||
* @param {string} sFolderHash
|
||||
* @param {string} sFolderFullNameRaw
|
||||
*/
|
||||
WebMailCacheStorage.prototype.setFolderFullNameRaw = function (sFolderHash, sFolderFullNameRaw)
|
||||
CacheStorage.prototype.setFolderFullNameRaw = function (sFolderHash, sFolderFullNameRaw)
|
||||
{
|
||||
this.oFoldersNamesCache[sFolderHash] = sFolderFullNameRaw;
|
||||
};
|
||||
|
@ -184,7 +184,7 @@
|
|||
* @param {string} sFolderFullNameRaw
|
||||
* @return {string}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.getFolderHash = function (sFolderFullNameRaw)
|
||||
CacheStorage.prototype.getFolderHash = function (sFolderFullNameRaw)
|
||||
{
|
||||
return '' !== sFolderFullNameRaw && this.oFolderHashCache[sFolderFullNameRaw] ? this.oFolderHashCache[sFolderFullNameRaw] : '';
|
||||
};
|
||||
|
@ -193,7 +193,7 @@
|
|||
* @param {string} sFolderFullNameRaw
|
||||
* @param {string} sFolderHash
|
||||
*/
|
||||
WebMailCacheStorage.prototype.setFolderHash = function (sFolderFullNameRaw, sFolderHash)
|
||||
CacheStorage.prototype.setFolderHash = function (sFolderFullNameRaw, sFolderHash)
|
||||
{
|
||||
this.oFolderHashCache[sFolderFullNameRaw] = sFolderHash;
|
||||
};
|
||||
|
@ -202,7 +202,7 @@
|
|||
* @param {string} sFolderFullNameRaw
|
||||
* @return {string}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.getFolderUidNext = function (sFolderFullNameRaw)
|
||||
CacheStorage.prototype.getFolderUidNext = function (sFolderFullNameRaw)
|
||||
{
|
||||
return '' !== sFolderFullNameRaw && this.oFolderUidNextCache[sFolderFullNameRaw] ? this.oFolderUidNextCache[sFolderFullNameRaw] : '';
|
||||
};
|
||||
|
@ -211,7 +211,7 @@
|
|||
* @param {string} sFolderFullNameRaw
|
||||
* @param {string} sUidNext
|
||||
*/
|
||||
WebMailCacheStorage.prototype.setFolderUidNext = function (sFolderFullNameRaw, sUidNext)
|
||||
CacheStorage.prototype.setFolderUidNext = function (sFolderFullNameRaw, sUidNext)
|
||||
{
|
||||
this.oFolderUidNextCache[sFolderFullNameRaw] = sUidNext;
|
||||
};
|
||||
|
@ -220,7 +220,7 @@
|
|||
* @param {string} sFolderFullNameRaw
|
||||
* @return {?FolderModel}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.getFolderFromCacheList = function (sFolderFullNameRaw)
|
||||
CacheStorage.prototype.getFolderFromCacheList = function (sFolderFullNameRaw)
|
||||
{
|
||||
return '' !== sFolderFullNameRaw && this.oFoldersCache[sFolderFullNameRaw] ? this.oFoldersCache[sFolderFullNameRaw] : null;
|
||||
};
|
||||
|
@ -229,7 +229,7 @@
|
|||
* @param {string} sFolderFullNameRaw
|
||||
* @param {?FolderModel} oFolder
|
||||
*/
|
||||
WebMailCacheStorage.prototype.setFolderToCacheList = function (sFolderFullNameRaw, oFolder)
|
||||
CacheStorage.prototype.setFolderToCacheList = function (sFolderFullNameRaw, oFolder)
|
||||
{
|
||||
this.oFoldersCache[sFolderFullNameRaw] = oFolder;
|
||||
};
|
||||
|
@ -237,7 +237,7 @@
|
|||
/**
|
||||
* @param {string} sFolderFullNameRaw
|
||||
*/
|
||||
WebMailCacheStorage.prototype.removeFolderFromCacheList = function (sFolderFullNameRaw)
|
||||
CacheStorage.prototype.removeFolderFromCacheList = function (sFolderFullNameRaw)
|
||||
{
|
||||
this.setFolderToCacheList(sFolderFullNameRaw, null);
|
||||
};
|
||||
|
@ -247,7 +247,7 @@
|
|||
* @param {string} sUid
|
||||
* @return {?Array}
|
||||
*/
|
||||
WebMailCacheStorage.prototype.getMessageFlagsFromCache = function (sFolderFullName, sUid)
|
||||
CacheStorage.prototype.getMessageFlagsFromCache = function (sFolderFullName, sUid)
|
||||
{
|
||||
return this.oMessageFlagsCache[sFolderFullName] && this.oMessageFlagsCache[sFolderFullName][sUid] ?
|
||||
this.oMessageFlagsCache[sFolderFullName][sUid] : null;
|
||||
|
@ -258,7 +258,7 @@
|
|||
* @param {string} sUid
|
||||
* @param {Array} aFlagsCache
|
||||
*/
|
||||
WebMailCacheStorage.prototype.setMessageFlagsToCache = function (sFolderFullName, sUid, aFlagsCache)
|
||||
CacheStorage.prototype.setMessageFlagsToCache = function (sFolderFullName, sUid, aFlagsCache)
|
||||
{
|
||||
if (!this.oMessageFlagsCache[sFolderFullName])
|
||||
{
|
||||
|
@ -271,7 +271,7 @@
|
|||
/**
|
||||
* @param {string} sFolderFullName
|
||||
*/
|
||||
WebMailCacheStorage.prototype.clearMessageFlagsFromCacheByFolder = function (sFolderFullName)
|
||||
CacheStorage.prototype.clearMessageFlagsFromCacheByFolder = function (sFolderFullName)
|
||||
{
|
||||
this.oMessageFlagsCache[sFolderFullName] = {};
|
||||
};
|
||||
|
@ -279,7 +279,7 @@
|
|||
/**
|
||||
* @param {(MessageModel|null)} oMessage
|
||||
*/
|
||||
WebMailCacheStorage.prototype.initMessageFlagsFromCache = function (oMessage)
|
||||
CacheStorage.prototype.initMessageFlagsFromCache = function (oMessage)
|
||||
{
|
||||
if (oMessage)
|
||||
{
|
||||
|
@ -320,7 +320,7 @@
|
|||
/**
|
||||
* @param {(MessageModel|null)} oMessage
|
||||
*/
|
||||
WebMailCacheStorage.prototype.storeMessageFlagsToCache = function (oMessage)
|
||||
CacheStorage.prototype.storeMessageFlagsToCache = function (oMessage)
|
||||
{
|
||||
if (oMessage)
|
||||
{
|
||||
|
@ -336,7 +336,7 @@
|
|||
* @param {string} sUid
|
||||
* @param {Array} aFlags
|
||||
*/
|
||||
WebMailCacheStorage.prototype.storeMessageFlagsToCacheByFolderAndUid = function (sFolder, sUid, aFlags)
|
||||
CacheStorage.prototype.storeMessageFlagsToCacheByFolderAndUid = function (sFolder, sUid, aFlags)
|
||||
{
|
||||
if (Utils.isArray(aFlags) && 0 < aFlags.length)
|
||||
{
|
||||
|
@ -344,6 +344,6 @@
|
|||
}
|
||||
};
|
||||
|
||||
module.exports = new WebMailCacheStorage();
|
||||
module.exports = new CacheStorage();
|
||||
|
||||
}(module, require));
|
|
@ -19,22 +19,22 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
AppSettings = require('./AppSettings.js'),
|
||||
Cache = require('./WebMailCacheStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Cache = require('Storage:RainLoop:Cache'),
|
||||
|
||||
kn = require('kn'),
|
||||
kn = require('App:Knoin'),
|
||||
|
||||
MessageModel = require('../Models/MessageModel.js'),
|
||||
MessageModel = require('Model:Message'),
|
||||
|
||||
LocalStorage = require('./LocalStorage.js'),
|
||||
AbstractData = require('./AbstractData.js')
|
||||
LocalStorage = require('Storage:LocalStorage'),
|
||||
AbstractData = require('Storage:Abstract:Data')
|
||||
;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends AbstractData
|
||||
*/
|
||||
function WebMailDataStorage()
|
||||
function DataStorage()
|
||||
{
|
||||
AbstractData.call(this);
|
||||
|
||||
|
@ -127,11 +127,11 @@
|
|||
this.contactsSyncUser = ko.observable('');
|
||||
this.contactsSyncPass = ko.observable('');
|
||||
|
||||
this.allowContactsSync = ko.observable(!!AppSettings.settingsGet('ContactsSyncIsAllowed'));
|
||||
this.enableContactsSync = ko.observable(!!AppSettings.settingsGet('EnableContactsSync'));
|
||||
this.contactsSyncUrl = ko.observable(AppSettings.settingsGet('ContactsSyncUrl'));
|
||||
this.contactsSyncUser = ko.observable(AppSettings.settingsGet('ContactsSyncUser'));
|
||||
this.contactsSyncPass = ko.observable(AppSettings.settingsGet('ContactsSyncPassword'));
|
||||
this.allowContactsSync = ko.observable(!!Settings.settingsGet('ContactsSyncIsAllowed'));
|
||||
this.enableContactsSync = ko.observable(!!Settings.settingsGet('EnableContactsSync'));
|
||||
this.contactsSyncUrl = ko.observable(Settings.settingsGet('ContactsSyncUrl'));
|
||||
this.contactsSyncUser = ko.observable(Settings.settingsGet('ContactsSyncUser'));
|
||||
this.contactsSyncPass = ko.observable(Settings.settingsGet('ContactsSyncPassword'));
|
||||
|
||||
// folders
|
||||
this.namespace = '';
|
||||
|
@ -475,9 +475,9 @@
|
|||
this.purgeMessageBodyCacheThrottle = _.throttle(this.purgeMessageBodyCache, 1000 * 30);
|
||||
}
|
||||
|
||||
_.extend(WebMailDataStorage.prototype, AbstractData.prototype);
|
||||
_.extend(DataStorage.prototype, AbstractData.prototype);
|
||||
|
||||
WebMailDataStorage.prototype.purgeMessageBodyCache = function()
|
||||
DataStorage.prototype.purgeMessageBodyCache = function()
|
||||
{
|
||||
var
|
||||
iCount = 0,
|
||||
|
@ -509,32 +509,32 @@
|
|||
}
|
||||
};
|
||||
|
||||
WebMailDataStorage.prototype.populateDataOnStart = function()
|
||||
DataStorage.prototype.populateDataOnStart = function()
|
||||
{
|
||||
AbstractData.prototype.populateDataOnStart.call(this);
|
||||
|
||||
this.accountEmail(AppSettings.settingsGet('Email'));
|
||||
this.accountIncLogin(AppSettings.settingsGet('IncLogin'));
|
||||
this.accountOutLogin(AppSettings.settingsGet('OutLogin'));
|
||||
this.projectHash(AppSettings.settingsGet('ProjectHash'));
|
||||
this.accountEmail(Settings.settingsGet('Email'));
|
||||
this.accountIncLogin(Settings.settingsGet('IncLogin'));
|
||||
this.accountOutLogin(Settings.settingsGet('OutLogin'));
|
||||
this.projectHash(Settings.settingsGet('ProjectHash'));
|
||||
|
||||
this.defaultIdentityID(AppSettings.settingsGet('DefaultIdentityID'));
|
||||
this.defaultIdentityID(Settings.settingsGet('DefaultIdentityID'));
|
||||
|
||||
this.displayName(AppSettings.settingsGet('DisplayName'));
|
||||
this.replyTo(AppSettings.settingsGet('ReplyTo'));
|
||||
this.signature(AppSettings.settingsGet('Signature'));
|
||||
this.signatureToAll(!!AppSettings.settingsGet('SignatureToAll'));
|
||||
this.enableTwoFactor(!!AppSettings.settingsGet('EnableTwoFactor'));
|
||||
this.displayName(Settings.settingsGet('DisplayName'));
|
||||
this.replyTo(Settings.settingsGet('ReplyTo'));
|
||||
this.signature(Settings.settingsGet('Signature'));
|
||||
this.signatureToAll(!!Settings.settingsGet('SignatureToAll'));
|
||||
this.enableTwoFactor(!!Settings.settingsGet('EnableTwoFactor'));
|
||||
|
||||
this.lastFoldersHash = LocalStorage.get(Enums.ClientSideKeyName.FoldersLashHash) || '';
|
||||
|
||||
this.remoteSuggestions = !!AppSettings.settingsGet('RemoteSuggestions');
|
||||
this.remoteSuggestions = !!Settings.settingsGet('RemoteSuggestions');
|
||||
|
||||
this.devEmail = AppSettings.settingsGet('DevEmail');
|
||||
this.devPassword = AppSettings.settingsGet('DevPassword');
|
||||
this.devEmail = Settings.settingsGet('DevEmail');
|
||||
this.devPassword = Settings.settingsGet('DevPassword');
|
||||
};
|
||||
|
||||
WebMailDataStorage.prototype.initUidNextAndNewMessages = function (sFolder, sUidNext, aNewMessages)
|
||||
DataStorage.prototype.initUidNextAndNewMessages = function (sFolder, sUidNext, aNewMessages)
|
||||
{
|
||||
if ('INBOX' === sFolder && Utils.isNormal(sUidNext) && sUidNext !== '')
|
||||
{
|
||||
|
@ -609,7 +609,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
WebMailDataStorage.prototype.hideMessageBodies = function ()
|
||||
DataStorage.prototype.hideMessageBodies = function ()
|
||||
{
|
||||
var oMessagesBodiesDom = this.messagesBodiesDom();
|
||||
if (oMessagesBodiesDom)
|
||||
|
@ -622,7 +622,7 @@
|
|||
* @param {boolean=} bBoot = false
|
||||
* @returns {Array}
|
||||
*/
|
||||
WebMailDataStorage.prototype.getNextFolderNames = function (bBoot)
|
||||
DataStorage.prototype.getNextFolderNames = function (bBoot)
|
||||
{
|
||||
bBoot = Utils.isUnd(bBoot) ? false : !!bBoot;
|
||||
|
||||
|
@ -685,7 +685,7 @@
|
|||
* @param {string=} sToFolderFullNameRaw = ''
|
||||
* @param {bCopy=} bCopy = false
|
||||
*/
|
||||
WebMailDataStorage.prototype.removeMessagesFromList = function (
|
||||
DataStorage.prototype.removeMessagesFromList = function (
|
||||
sFromFolderFullNameRaw, aUidForRemove, sToFolderFullNameRaw, bCopy)
|
||||
{
|
||||
sToFolderFullNameRaw = Utils.isNormal(sToFolderFullNameRaw) ? sToFolderFullNameRaw : '';
|
||||
|
@ -779,7 +779,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
WebMailDataStorage.prototype.setMessage = function (oData, bCached)
|
||||
DataStorage.prototype.setMessage = function (oData, bCached)
|
||||
{
|
||||
var
|
||||
bIsHtml = false,
|
||||
|
@ -939,21 +939,21 @@
|
|||
* @param {Array} aList
|
||||
* @returns {string}
|
||||
*/
|
||||
WebMailDataStorage.prototype.calculateMessageListHash = function (aList)
|
||||
DataStorage.prototype.calculateMessageListHash = function (aList)
|
||||
{
|
||||
return _.map(aList, function (oMessage) {
|
||||
return '' + oMessage.hash + '_' + oMessage.threadsLen() + '_' + oMessage.flagHash();
|
||||
}).join('|');
|
||||
};
|
||||
|
||||
WebMailDataStorage.prototype.findPublicKeyByHex = function (sHash)
|
||||
DataStorage.prototype.findPublicKeyByHex = function (sHash)
|
||||
{
|
||||
return _.find(this.openpgpkeysPublic(), function (oItem) {
|
||||
return oItem && sHash === oItem.id;
|
||||
});
|
||||
};
|
||||
|
||||
WebMailDataStorage.prototype.findPublicKeysByEmail = function (sEmail)
|
||||
DataStorage.prototype.findPublicKeysByEmail = function (sEmail)
|
||||
{
|
||||
return _.compact(_.map(this.openpgpkeysPublic(), function (oItem) {
|
||||
|
||||
|
@ -981,7 +981,7 @@
|
|||
* @param {string=} sPassword
|
||||
* @returns {?}
|
||||
*/
|
||||
WebMailDataStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPassword)
|
||||
DataStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPassword)
|
||||
{
|
||||
var
|
||||
oPrivateKey = null,
|
||||
|
@ -1018,11 +1018,11 @@
|
|||
* @param {string=} sPassword
|
||||
* @returns {?}
|
||||
*/
|
||||
WebMailDataStorage.prototype.findSelfPrivateKey = function (sPassword)
|
||||
DataStorage.prototype.findSelfPrivateKey = function (sPassword)
|
||||
{
|
||||
return this.findPrivateKeyByEmail(this.accountEmail(), sPassword);
|
||||
};
|
||||
|
||||
module.exports = new WebMailDataStorage();
|
||||
module.exports = new DataStorage();
|
||||
|
||||
}(module, require));
|
|
@ -4,20 +4,17 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
var
|
||||
_ = require('_'),
|
||||
|
||||
CookieDriver = require('./LocalStorages/CookieDriver.js'),
|
||||
LocalStorageDriver = require('./LocalStorages/LocalStorageDriver.js')
|
||||
;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
function LocalStorage()
|
||||
{
|
||||
var
|
||||
NextStorageDriver = _.find([LocalStorageDriver, CookieDriver], function (NextStorageDriver) {
|
||||
_ = require('_'),
|
||||
NextStorageDriver = _.find([
|
||||
require('Storage:LocalStorage:Cookie'),
|
||||
require('Storage:LocalStorage:LocalStorage')
|
||||
], function (NextStorageDriver) {
|
||||
return NextStorageDriver.supported();
|
||||
})
|
||||
;
|
||||
|
@ -26,7 +23,6 @@
|
|||
|
||||
if (NextStorageDriver)
|
||||
{
|
||||
NextStorageDriver = /** @type {?Function} */ NextStorageDriver;
|
||||
this.oDriver = new NextStorageDriver();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,37 +12,37 @@
|
|||
Globals = require('Globals'),
|
||||
Base64 = require('Base64'),
|
||||
|
||||
AppSettings = require('./AppSettings.js'),
|
||||
Cache = require('./WebMailCacheStorage.js'),
|
||||
Data = require('./WebMailDataStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Cache = require('Storage:RainLoop:Cache'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
|
||||
AbstractAjaxRemoteStorage = require('./AbstractAjaxRemoteStorage.js')
|
||||
AbstractRemoteStorage = require('Storage:Abstract:Remote')
|
||||
;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends AbstractAjaxRemoteStorage
|
||||
* @extends AbstractRemoteStorage
|
||||
*/
|
||||
function WebMailAjaxRemoteStorage()
|
||||
function RemoteStorage()
|
||||
{
|
||||
AbstractAjaxRemoteStorage.call(this);
|
||||
AbstractRemoteStorage.call(this);
|
||||
|
||||
this.oRequests = {};
|
||||
}
|
||||
|
||||
_.extend(WebMailAjaxRemoteStorage.prototype, AbstractAjaxRemoteStorage.prototype);
|
||||
_.extend(RemoteStorage.prototype, AbstractRemoteStorage.prototype);
|
||||
|
||||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.folders = function (fCallback)
|
||||
RemoteStorage.prototype.folders = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'Folders', {
|
||||
'SentFolder': AppSettings.settingsGet('SentFolder'),
|
||||
'DraftFolder': AppSettings.settingsGet('DraftFolder'),
|
||||
'SpamFolder': AppSettings.settingsGet('SpamFolder'),
|
||||
'TrashFolder': AppSettings.settingsGet('TrashFolder'),
|
||||
'ArchiveFolder': AppSettings.settingsGet('ArchiveFolder')
|
||||
'SentFolder': Settings.settingsGet('SentFolder'),
|
||||
'DraftFolder': Settings.settingsGet('DraftFolder'),
|
||||
'SpamFolder': Settings.settingsGet('SpamFolder'),
|
||||
'TrashFolder': Settings.settingsGet('TrashFolder'),
|
||||
'ArchiveFolder': Settings.settingsGet('ArchiveFolder')
|
||||
}, null, '', ['Folders']);
|
||||
};
|
||||
|
||||
|
@ -56,7 +56,7 @@
|
|||
* @param {string=} sAdditionalCode
|
||||
* @param {boolean=} bAdditionalCodeSignMe
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.login = function (fCallback, sEmail, sLogin, sPassword, bSignMe, sLanguage, sAdditionalCode, bAdditionalCodeSignMe)
|
||||
RemoteStorage.prototype.login = function (fCallback, sEmail, sLogin, sPassword, bSignMe, sLanguage, sAdditionalCode, bAdditionalCodeSignMe)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'Login', {
|
||||
'Email': sEmail,
|
||||
|
@ -72,7 +72,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.getTwoFactor = function (fCallback)
|
||||
RemoteStorage.prototype.getTwoFactor = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'GetTwoFactorInfo');
|
||||
};
|
||||
|
@ -80,7 +80,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.createTwoFactor = function (fCallback)
|
||||
RemoteStorage.prototype.createTwoFactor = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'CreateTwoFactorSecret');
|
||||
};
|
||||
|
@ -88,7 +88,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.clearTwoFactor = function (fCallback)
|
||||
RemoteStorage.prototype.clearTwoFactor = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'ClearTwoFactorInfo');
|
||||
};
|
||||
|
@ -96,7 +96,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.showTwoFactorSecret = function (fCallback)
|
||||
RemoteStorage.prototype.showTwoFactorSecret = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'ShowTwoFactorSecret');
|
||||
};
|
||||
|
@ -105,7 +105,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {string} sCode
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.testTwoFactor = function (fCallback, sCode)
|
||||
RemoteStorage.prototype.testTwoFactor = function (fCallback, sCode)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'TestTwoFactorInfo', {
|
||||
'Code': sCode
|
||||
|
@ -116,7 +116,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {boolean} bEnable
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.enableTwoFactor = function (fCallback, bEnable)
|
||||
RemoteStorage.prototype.enableTwoFactor = function (fCallback, bEnable)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'EnableTwoFactor', {
|
||||
'Enable': bEnable ? '1' : '0'
|
||||
|
@ -126,7 +126,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.clearTwoFactorInfo = function (fCallback)
|
||||
RemoteStorage.prototype.clearTwoFactorInfo = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'ClearTwoFactorInfo');
|
||||
};
|
||||
|
@ -134,7 +134,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.contactsSync = function (fCallback)
|
||||
RemoteStorage.prototype.contactsSync = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'ContactsSync', null, Consts.Defaults.ContactsSyncAjaxTimeout);
|
||||
};
|
||||
|
@ -146,7 +146,7 @@
|
|||
* @param {string} sUser
|
||||
* @param {string} sPassword
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.saveContactsSyncData = function (fCallback, bEnable, sUrl, sUser, sPassword)
|
||||
RemoteStorage.prototype.saveContactsSyncData = function (fCallback, bEnable, sUrl, sUser, sPassword)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SaveContactsSyncData', {
|
||||
'Enable': bEnable ? '1' : '0',
|
||||
|
@ -162,7 +162,7 @@
|
|||
* @param {string} sLogin
|
||||
* @param {string} sPassword
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.accountAdd = function (fCallback, sEmail, sLogin, sPassword)
|
||||
RemoteStorage.prototype.accountAdd = function (fCallback, sEmail, sLogin, sPassword)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AccountAdd', {
|
||||
'Email': sEmail,
|
||||
|
@ -175,7 +175,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {string} sEmailToDelete
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.accountDelete = function (fCallback, sEmailToDelete)
|
||||
RemoteStorage.prototype.accountDelete = function (fCallback, sEmailToDelete)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AccountDelete', {
|
||||
'EmailToDelete': sEmailToDelete
|
||||
|
@ -190,7 +190,7 @@
|
|||
* @param {string} sReplyTo
|
||||
* @param {string} sBcc
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.identityUpdate = function (fCallback, sId, sEmail, sName, sReplyTo, sBcc)
|
||||
RemoteStorage.prototype.identityUpdate = function (fCallback, sId, sEmail, sName, sReplyTo, sBcc)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'IdentityUpdate', {
|
||||
'Id': sId,
|
||||
|
@ -205,7 +205,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {string} sIdToDelete
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.identityDelete = function (fCallback, sIdToDelete)
|
||||
RemoteStorage.prototype.identityDelete = function (fCallback, sIdToDelete)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'IdentityDelete', {
|
||||
'IdToDelete': sIdToDelete
|
||||
|
@ -215,7 +215,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.accountsAndIdentities = function (fCallback)
|
||||
RemoteStorage.prototype.accountsAndIdentities = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AccountsAndIdentities');
|
||||
};
|
||||
|
@ -228,7 +228,7 @@
|
|||
* @param {string=} sSearch = ''
|
||||
* @param {boolean=} bSilent = false
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.messageList = function (fCallback, sFolderFullNameRaw, iOffset, iLimit, sSearch, bSilent)
|
||||
RemoteStorage.prototype.messageList = function (fCallback, sFolderFullNameRaw, iOffset, iLimit, sSearch, bSilent)
|
||||
{
|
||||
sFolderFullNameRaw = Utils.pString(sFolderFullNameRaw);
|
||||
|
||||
|
@ -275,7 +275,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {Array} aDownloads
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.messageUploadAttachments = function (fCallback, aDownloads)
|
||||
RemoteStorage.prototype.messageUploadAttachments = function (fCallback, aDownloads)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'MessageUploadAttachments', {
|
||||
'Attachments': aDownloads
|
||||
|
@ -288,7 +288,7 @@
|
|||
* @param {number} iUid
|
||||
* @return {boolean}
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.message = function (fCallback, sFolderFullNameRaw, iUid)
|
||||
RemoteStorage.prototype.message = function (fCallback, sFolderFullNameRaw, iUid)
|
||||
{
|
||||
sFolderFullNameRaw = Utils.pString(sFolderFullNameRaw);
|
||||
iUid = Utils.pInt(iUid);
|
||||
|
@ -313,7 +313,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {Array} aExternals
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.composeUploadExternals = function (fCallback, aExternals)
|
||||
RemoteStorage.prototype.composeUploadExternals = function (fCallback, aExternals)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'ComposeUploadExternals', {
|
||||
'Externals': aExternals
|
||||
|
@ -325,7 +325,7 @@
|
|||
* @param {string} sUrl
|
||||
* @param {string} sAccessToken
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.composeUploadDrive = function (fCallback, sUrl, sAccessToken)
|
||||
RemoteStorage.prototype.composeUploadDrive = function (fCallback, sUrl, sAccessToken)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'ComposeUploadDrive', {
|
||||
'AccessToken': sAccessToken,
|
||||
|
@ -338,7 +338,7 @@
|
|||
* @param {string} sFolder
|
||||
* @param {Array=} aList = []
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.folderInformation = function (fCallback, sFolder, aList)
|
||||
RemoteStorage.prototype.folderInformation = function (fCallback, sFolder, aList)
|
||||
{
|
||||
var
|
||||
bRequest = true,
|
||||
|
@ -392,7 +392,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {Array} aFolders
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.folderInformationMultiply = function (fCallback, aFolders)
|
||||
RemoteStorage.prototype.folderInformationMultiply = function (fCallback, aFolders)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'FolderInformationMultiply', {
|
||||
'Folders': aFolders
|
||||
|
@ -402,7 +402,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.logout = function (fCallback)
|
||||
RemoteStorage.prototype.logout = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'Logout');
|
||||
};
|
||||
|
@ -413,7 +413,7 @@
|
|||
* @param {Array} aUids
|
||||
* @param {boolean} bSetFlagged
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.messageSetFlagged = function (fCallback, sFolderFullNameRaw, aUids, bSetFlagged)
|
||||
RemoteStorage.prototype.messageSetFlagged = function (fCallback, sFolderFullNameRaw, aUids, bSetFlagged)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'MessageSetFlagged', {
|
||||
'Folder': sFolderFullNameRaw,
|
||||
|
@ -428,7 +428,7 @@
|
|||
* @param {Array} aUids
|
||||
* @param {boolean} bSetSeen
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.messageSetSeen = function (fCallback, sFolderFullNameRaw, aUids, bSetSeen)
|
||||
RemoteStorage.prototype.messageSetSeen = function (fCallback, sFolderFullNameRaw, aUids, bSetSeen)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'MessageSetSeen', {
|
||||
'Folder': sFolderFullNameRaw,
|
||||
|
@ -442,7 +442,7 @@
|
|||
* @param {string} sFolderFullNameRaw
|
||||
* @param {boolean} bSetSeen
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.messageSetSeenToAll = function (fCallback, sFolderFullNameRaw, bSetSeen)
|
||||
RemoteStorage.prototype.messageSetSeenToAll = function (fCallback, sFolderFullNameRaw, bSetSeen)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'MessageSetSeenToAll', {
|
||||
'Folder': sFolderFullNameRaw,
|
||||
|
@ -467,7 +467,7 @@
|
|||
* @param {string} sInReplyTo
|
||||
* @param {string} sReferences
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.saveMessage = function (fCallback, sMessageFolder, sMessageUid, sDraftFolder,
|
||||
RemoteStorage.prototype.saveMessage = function (fCallback, sMessageFolder, sMessageUid, sDraftFolder,
|
||||
sFrom, sTo, sCc, sBcc, sSubject, bTextIsHtml, sText, aAttachments, aDraftInfo, sInReplyTo, sReferences)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SaveMessage', {
|
||||
|
@ -497,7 +497,7 @@
|
|||
* @param {string} sSubject
|
||||
* @param {string} sText
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.sendReadReceiptMessage = function (fCallback, sMessageFolder, sMessageUid, sReadReceipt, sSubject, sText)
|
||||
RemoteStorage.prototype.sendReadReceiptMessage = function (fCallback, sMessageFolder, sMessageUid, sReadReceipt, sSubject, sText)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SendReadReceiptMessage', {
|
||||
'MessageFolder': sMessageFolder,
|
||||
|
@ -526,7 +526,7 @@
|
|||
* @param {string} sReferences
|
||||
* @param {boolean} bRequestReadReceipt
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.sendMessage = function (fCallback, sMessageFolder, sMessageUid, sSentFolder,
|
||||
RemoteStorage.prototype.sendMessage = function (fCallback, sMessageFolder, sMessageUid, sSentFolder,
|
||||
sFrom, sTo, sCc, sBcc, sSubject, bTextIsHtml, sText, aAttachments, aDraftInfo, sInReplyTo, sReferences, bRequestReadReceipt)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SendMessage', {
|
||||
|
@ -552,7 +552,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {Object} oData
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.saveSystemFolders = function (fCallback, oData)
|
||||
RemoteStorage.prototype.saveSystemFolders = function (fCallback, oData)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SystemFoldersUpdate', oData);
|
||||
};
|
||||
|
@ -561,7 +561,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {Object} oData
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.saveSettings = function (fCallback, oData)
|
||||
RemoteStorage.prototype.saveSettings = function (fCallback, oData)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SettingsUpdate', oData);
|
||||
};
|
||||
|
@ -571,7 +571,7 @@
|
|||
* @param {string} sPrevPassword
|
||||
* @param {string} sNewPassword
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.changePassword = function (fCallback, sPrevPassword, sNewPassword)
|
||||
RemoteStorage.prototype.changePassword = function (fCallback, sPrevPassword, sNewPassword)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'ChangePassword', {
|
||||
'PrevPassword': sPrevPassword,
|
||||
|
@ -584,7 +584,7 @@
|
|||
* @param {string} sNewFolderName
|
||||
* @param {string} sParentName
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.folderCreate = function (fCallback, sNewFolderName, sParentName)
|
||||
RemoteStorage.prototype.folderCreate = function (fCallback, sNewFolderName, sParentName)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'FolderCreate', {
|
||||
'Folder': sNewFolderName,
|
||||
|
@ -596,7 +596,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {string} sFolderFullNameRaw
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.folderDelete = function (fCallback, sFolderFullNameRaw)
|
||||
RemoteStorage.prototype.folderDelete = function (fCallback, sFolderFullNameRaw)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'FolderDelete', {
|
||||
'Folder': sFolderFullNameRaw
|
||||
|
@ -608,7 +608,7 @@
|
|||
* @param {string} sPrevFolderFullNameRaw
|
||||
* @param {string} sNewFolderName
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.folderRename = function (fCallback, sPrevFolderFullNameRaw, sNewFolderName)
|
||||
RemoteStorage.prototype.folderRename = function (fCallback, sPrevFolderFullNameRaw, sNewFolderName)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'FolderRename', {
|
||||
'Folder': sPrevFolderFullNameRaw,
|
||||
|
@ -620,7 +620,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {string} sFolderFullNameRaw
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.folderClear = function (fCallback, sFolderFullNameRaw)
|
||||
RemoteStorage.prototype.folderClear = function (fCallback, sFolderFullNameRaw)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'FolderClear', {
|
||||
'Folder': sFolderFullNameRaw
|
||||
|
@ -632,7 +632,7 @@
|
|||
* @param {string} sFolderFullNameRaw
|
||||
* @param {boolean} bSubscribe
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.folderSetSubscribe = function (fCallback, sFolderFullNameRaw, bSubscribe)
|
||||
RemoteStorage.prototype.folderSetSubscribe = function (fCallback, sFolderFullNameRaw, bSubscribe)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'FolderSubscribe', {
|
||||
'Folder': sFolderFullNameRaw,
|
||||
|
@ -647,7 +647,7 @@
|
|||
* @param {Array} aUids
|
||||
* @param {string=} sLearning
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.messagesMove = function (fCallback, sFolder, sToFolder, aUids, sLearning)
|
||||
RemoteStorage.prototype.messagesMove = function (fCallback, sFolder, sToFolder, aUids, sLearning)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'MessageMove', {
|
||||
'FromFolder': sFolder,
|
||||
|
@ -663,7 +663,7 @@
|
|||
* @param {string} sToFolder
|
||||
* @param {Array} aUids
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.messagesCopy = function (fCallback, sFolder, sToFolder, aUids)
|
||||
RemoteStorage.prototype.messagesCopy = function (fCallback, sFolder, sToFolder, aUids)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'MessageCopy', {
|
||||
'FromFolder': sFolder,
|
||||
|
@ -677,7 +677,7 @@
|
|||
* @param {string} sFolder
|
||||
* @param {Array} aUids
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.messagesDelete = function (fCallback, sFolder, aUids)
|
||||
RemoteStorage.prototype.messagesDelete = function (fCallback, sFolder, aUids)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'MessageDelete', {
|
||||
'Folder': sFolder,
|
||||
|
@ -688,7 +688,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.appDelayStart = function (fCallback)
|
||||
RemoteStorage.prototype.appDelayStart = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'AppDelayStart');
|
||||
};
|
||||
|
@ -696,7 +696,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.quota = function (fCallback)
|
||||
RemoteStorage.prototype.quota = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'Quota');
|
||||
};
|
||||
|
@ -707,7 +707,7 @@
|
|||
* @param {number} iLimit
|
||||
* @param {string} sSearch
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.contacts = function (fCallback, iOffset, iLimit, sSearch)
|
||||
RemoteStorage.prototype.contacts = function (fCallback, iOffset, iLimit, sSearch)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'Contacts', {
|
||||
'Offset': iOffset,
|
||||
|
@ -719,7 +719,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.contactSave = function (fCallback, sRequestUid, sUid, sTags, aProperties)
|
||||
RemoteStorage.prototype.contactSave = function (fCallback, sRequestUid, sUid, sTags, aProperties)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'ContactSave', {
|
||||
'RequestUid': sRequestUid,
|
||||
|
@ -733,7 +733,7 @@
|
|||
* @param {?Function} fCallback
|
||||
* @param {Array} aUids
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.contactsDelete = function (fCallback, aUids)
|
||||
RemoteStorage.prototype.contactsDelete = function (fCallback, aUids)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'ContactsDelete', {
|
||||
'Uids': aUids.join(',')
|
||||
|
@ -745,7 +745,7 @@
|
|||
* @param {string} sQuery
|
||||
* @param {number} iPage
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.suggestions = function (fCallback, sQuery, iPage)
|
||||
RemoteStorage.prototype.suggestions = function (fCallback, sQuery, iPage)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'Suggestions', {
|
||||
'Query': sQuery,
|
||||
|
@ -756,7 +756,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.facebookUser = function (fCallback)
|
||||
RemoteStorage.prototype.facebookUser = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SocialFacebookUserInformation');
|
||||
};
|
||||
|
@ -764,7 +764,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.facebookDisconnect = function (fCallback)
|
||||
RemoteStorage.prototype.facebookDisconnect = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SocialFacebookDisconnect');
|
||||
};
|
||||
|
@ -772,7 +772,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.twitterUser = function (fCallback)
|
||||
RemoteStorage.prototype.twitterUser = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SocialTwitterUserInformation');
|
||||
};
|
||||
|
@ -780,7 +780,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.twitterDisconnect = function (fCallback)
|
||||
RemoteStorage.prototype.twitterDisconnect = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SocialTwitterDisconnect');
|
||||
};
|
||||
|
@ -788,7 +788,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.googleUser = function (fCallback)
|
||||
RemoteStorage.prototype.googleUser = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SocialGoogleUserInformation');
|
||||
};
|
||||
|
@ -796,7 +796,7 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.googleDisconnect = function (fCallback)
|
||||
RemoteStorage.prototype.googleDisconnect = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SocialGoogleDisconnect');
|
||||
};
|
||||
|
@ -804,11 +804,11 @@
|
|||
/**
|
||||
* @param {?Function} fCallback
|
||||
*/
|
||||
WebMailAjaxRemoteStorage.prototype.socialUsers = function (fCallback)
|
||||
RemoteStorage.prototype.socialUsers = function (fCallback)
|
||||
{
|
||||
this.defaultRequest(fCallback, 'SocialUsers');
|
||||
};
|
||||
|
||||
module.exports = new WebMailAjaxRemoteStorage();
|
||||
module.exports = new RemoteStorage();
|
||||
|
||||
}(module, require));
|
|
@ -5,31 +5,26 @@
|
|||
'use strict';
|
||||
|
||||
var
|
||||
AppData = require('AppData'),
|
||||
Utils = require('Utils')
|
||||
;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
function AppSettings()
|
||||
function SettingsStorage()
|
||||
{
|
||||
this.oSettings = null;
|
||||
this.oSettings = require('AppData');
|
||||
this.oSettings = Utils.isNormal(this.oSettings) ? this.oSettings : {};
|
||||
}
|
||||
|
||||
AppSettings.prototype.oSettings = null;
|
||||
SettingsStorage.prototype.oSettings = null;
|
||||
|
||||
/**
|
||||
* @param {string} sName
|
||||
* @return {?}
|
||||
*/
|
||||
AppSettings.prototype.settingsGet = function (sName)
|
||||
SettingsStorage.prototype.settingsGet = function (sName)
|
||||
{
|
||||
if (null === this.oSettings)
|
||||
{
|
||||
this.oSettings = Utils.isNormal(AppData) ? AppData : {};
|
||||
}
|
||||
|
||||
return Utils.isUnd(this.oSettings[sName]) ? null : this.oSettings[sName];
|
||||
};
|
||||
|
||||
|
@ -37,13 +32,8 @@
|
|||
* @param {string} sName
|
||||
* @param {?} mValue
|
||||
*/
|
||||
AppSettings.prototype.settingsSet = function (sName, mValue)
|
||||
SettingsStorage.prototype.settingsSet = function (sName, mValue)
|
||||
{
|
||||
if (null === this.oSettings)
|
||||
{
|
||||
this.oSettings = Utils.isNormal(AppData) ? AppData : {};
|
||||
}
|
||||
|
||||
this.oSettings[sName] = mValue;
|
||||
};
|
||||
|
||||
|
@ -51,13 +41,13 @@
|
|||
* @param {string} sName
|
||||
* @return {boolean}
|
||||
*/
|
||||
AppSettings.prototype.capa = function (sName)
|
||||
SettingsStorage.prototype.capa = function (sName)
|
||||
{
|
||||
var mCapa = this.settingsGet('Capa');
|
||||
return Utils.isArray(mCapa) && Utils.isNormal(sName) && -1 < Utils.inArray(sName, mCapa);
|
||||
};
|
||||
|
||||
|
||||
module.exports = new AppSettings();
|
||||
module.exports = new SettingsStorage();
|
||||
|
||||
}(module, require));
|
|
@ -1,12 +1,4 @@
|
|||
|
||||
.rl-view-model {
|
||||
&.RL-Login, &.RL-LoginNew, &.RL-AdminLogin {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
z-index: 5;
|
||||
}
|
||||
}
|
||||
|
||||
.b-login-content {
|
||||
|
||||
height: 100%;
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
.rl-view-model {
|
||||
&.RL-Login, &.RL-LoginNew, &.RL-AdminLogin, &.RL-About {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
z-index: 5;
|
||||
}
|
||||
}
|
33
dev/ViewModels/AboutViewModel.js
Normal file
33
dev/ViewModels/AboutViewModel.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||
|
||||
(function (module, require) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var
|
||||
ko = require('ko'),
|
||||
|
||||
kn = require('App:Knoin'),
|
||||
Settings = require('Storage:Settings'),
|
||||
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends KnoinAbstractViewModel
|
||||
*/
|
||||
function AboutViewModel()
|
||||
{
|
||||
KnoinAbstractViewModel.call(this, 'Center', 'About');
|
||||
|
||||
this.version = ko.observable(Settings.settingsGet('Version'));
|
||||
|
||||
kn.constructorEnd(this);
|
||||
}
|
||||
|
||||
kn.extendAsViewModel('AboutViewModel', AboutViewModel);
|
||||
|
||||
module.exports = AboutViewModel;
|
||||
|
||||
}(module, require));
|
|
@ -14,15 +14,11 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
PopupsKeyboardShortcutsHelpViewModel = require('../ViewModels/Popups/PopupsKeyboardShortcutsHelpViewModel.js'),
|
||||
PopupsAddAccountViewModel = require('../ViewModels/Popups/PopupsKeyboardShortcutsHelpViewModel.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -39,7 +35,7 @@
|
|||
|
||||
this.accountMenuDropdownTrigger = ko.observable(false);
|
||||
|
||||
this.capaAdditionalAccounts = AppSettings.capa(Enums.Capa.AdditionalAccounts);
|
||||
this.capaAdditionalAccounts = Settings.capa(Enums.Capa.AdditionalAccounts);
|
||||
|
||||
this.loading = ko.computed(function () {
|
||||
return this.accountsLoading();
|
||||
|
@ -71,32 +67,32 @@
|
|||
|
||||
AbstractSystemDropDownViewModel.prototype.settingsClick = function ()
|
||||
{
|
||||
kn.setHash(LinkBuilder.settings());
|
||||
require('App:Knoin').setHash(LinkBuilder.settings());
|
||||
};
|
||||
|
||||
AbstractSystemDropDownViewModel.prototype.settingsHelp = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsKeyboardShortcutsHelpViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:KeyboardShortcutsHelp'));
|
||||
};
|
||||
|
||||
AbstractSystemDropDownViewModel.prototype.addAccountClick = function ()
|
||||
{
|
||||
if (this.capaAdditionalAccounts)
|
||||
{
|
||||
kn.showScreenPopup(PopupsAddAccountViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:AddAccount'));
|
||||
}
|
||||
};
|
||||
|
||||
AbstractSystemDropDownViewModel.prototype.logoutClick = function ()
|
||||
{
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
Remote.logout(function () {
|
||||
if (window.__rlah_clear)
|
||||
{
|
||||
window.__rlah_clear();
|
||||
}
|
||||
|
||||
App.loginAndLogoutReload(true, AppSettings.settingsGet('ParentEmail') && 0 < AppSettings.settingsGet('ParentEmail').length);
|
||||
require('App:RainLoop').loginAndLogoutReload(true,
|
||||
Settings.settingsGet('ParentEmail') && 0 < Settings.settingsGet('ParentEmail').length);
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -114,7 +110,7 @@
|
|||
key('shift+/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView, Enums.KeyState.Settings], function () {
|
||||
if (self.viewModelVisibility())
|
||||
{
|
||||
kn.showScreenPopup(PopupsKeyboardShortcutsHelpViewModel);
|
||||
require('App:Knoin').showScreenPopup(require('View:Popup:KeyboardShortcutsHelp'));
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js'),
|
||||
Remote = require('Storage:Admin:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -64,8 +64,7 @@
|
|||
{
|
||||
if (oData.Result)
|
||||
{
|
||||
var App = require('../Apps/AdminApp.js');
|
||||
App.loginAndLogoutReload();
|
||||
require('App:Admin').loginAndLogoutReload();
|
||||
}
|
||||
else if (oData.ErrorCode)
|
||||
{
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
'use strict';
|
||||
|
||||
var
|
||||
kn = require('kn'),
|
||||
kn = require('App:Knoin'),
|
||||
Globals = require('Globals'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
|
@ -7,12 +7,12 @@
|
|||
var
|
||||
ko = require('ko'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:Admin:Data'),
|
||||
Remote = require('Storage:Admin:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -23,8 +23,8 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Right', 'AdminPane');
|
||||
|
||||
this.adminDomain = ko.observable(AppSettings.settingsGet('AdminDomain'));
|
||||
this.version = ko.observable(AppSettings.settingsGet('Version'));
|
||||
this.adminDomain = ko.observable(Settings.settingsGet('AdminDomain'));
|
||||
this.version = ko.observable(Settings.settingsGet('Version'));
|
||||
|
||||
this.adminManLoadingVisibility = Data.adminManLoadingVisibility;
|
||||
|
||||
|
@ -36,8 +36,7 @@
|
|||
AdminPaneViewModel.prototype.logoutClick = function ()
|
||||
{
|
||||
Remote.adminLogout(function () {
|
||||
var App = require('../Apps/AdminApp.js');
|
||||
App.loginAndLogoutReload();
|
||||
require('App:Admin').loginAndLogoutReload();
|
||||
});
|
||||
};
|
||||
|
|
@ -14,14 +14,12 @@
|
|||
Enums = require('Enums'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel'),
|
||||
|
||||
PopupsLanguagesViewModel = require('../ViewModels/Popups/PopupsLanguagesViewModel.js')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -42,9 +40,9 @@
|
|||
this.additionalCode.visibility = ko.observable(false);
|
||||
this.additionalCodeSignMe = ko.observable(false);
|
||||
|
||||
this.logoImg = Utils.trim(AppSettings.settingsGet('LoginLogo'));
|
||||
this.loginDescription = Utils.trim(AppSettings.settingsGet('LoginDescription'));
|
||||
this.logoCss = Utils.trim(AppSettings.settingsGet('LoginCss'));
|
||||
this.logoImg = Utils.trim(Settings.settingsGet('LoginLogo'));
|
||||
this.loginDescription = Utils.trim(Settings.settingsGet('LoginDescription'));
|
||||
this.logoCss = Utils.trim(Settings.settingsGet('LoginCss'));
|
||||
|
||||
this.emailError = ko.observable(false);
|
||||
this.passwordError = ko.observable(false);
|
||||
|
@ -133,8 +131,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
App.loginAndLogoutReload();
|
||||
require('App:RainLoop').loginAndLogoutReload();
|
||||
}
|
||||
}
|
||||
else if (oData.ErrorCode)
|
||||
|
@ -167,7 +164,7 @@
|
|||
}, this)
|
||||
;
|
||||
|
||||
if (!!AppSettings.settingsGet('UseRsaEncryption') && Utils.rsaEncode.supported)
|
||||
if (!!Settings.settingsGet('UseRsaEncryption') && Utils.rsaEncode.supported)
|
||||
{
|
||||
Remote.getPublicKey(_.bind(function (sResult, oData) {
|
||||
|
||||
|
@ -269,7 +266,7 @@
|
|||
this.emailFocus(true);
|
||||
}
|
||||
|
||||
if (AppSettings.settingsGet('UserLanguage'))
|
||||
if (Settings.settingsGet('UserLanguage'))
|
||||
{
|
||||
$.cookie('rllang', Data.language(), {'expires': 30});
|
||||
}
|
||||
|
@ -287,15 +284,13 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
sJsHash = AppSettings.settingsGet('JsHash'),
|
||||
sJsHash = Settings.settingsGet('JsHash'),
|
||||
fSocial = function (iErrorCode) {
|
||||
iErrorCode = Utils.pInt(iErrorCode);
|
||||
if (0 === iErrorCode)
|
||||
{
|
||||
self.submitRequest(true);
|
||||
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
App.loginAndLogoutReload();
|
||||
require('App:RainLoop').loginAndLogoutReload();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -304,11 +299,11 @@
|
|||
}
|
||||
;
|
||||
|
||||
this.facebookLoginEnabled(!!AppSettings.settingsGet('AllowFacebookSocial'));
|
||||
this.twitterLoginEnabled(!!AppSettings.settingsGet('AllowTwitterSocial'));
|
||||
this.googleLoginEnabled(!!AppSettings.settingsGet('AllowGoogleSocial'));
|
||||
this.facebookLoginEnabled(!!Settings.settingsGet('AllowFacebookSocial'));
|
||||
this.twitterLoginEnabled(!!Settings.settingsGet('AllowTwitterSocial'));
|
||||
this.googleLoginEnabled(!!Settings.settingsGet('AllowGoogleSocial'));
|
||||
|
||||
switch ((AppSettings.settingsGet('SignMe') || 'unused').toLowerCase())
|
||||
switch ((Settings.settingsGet('SignMe') || 'unused').toLowerCase())
|
||||
{
|
||||
case Enums.LoginSignMeTypeAsString.DefaultOff:
|
||||
this.signMeType(Enums.LoginSignMeType.DefaultOff);
|
||||
|
@ -367,7 +362,7 @@
|
|||
|
||||
LoginViewModel.prototype.selectLanguage = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsLanguagesViewModel);
|
||||
kn.showScreenPopup(require('View:Popup:Languages'));
|
||||
};
|
||||
|
||||
module.exports = LoginViewModel;
|
||||
|
|
|
@ -16,16 +16,12 @@
|
|||
Globals = require('Globals'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Cache = require('../Storages/WebMailCacheStorage.js'),
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Cache = require('Storage:RainLoop:Cache'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
|
||||
PopupsComposeViewModel = require('./Popups/PopupsComposeViewModel.js'),
|
||||
PopupsFolderCreateViewModel = require('./Popups/PopupsFolderCreateViewModel.js'),
|
||||
PopupsContactsViewModel = require('./Popups/PopupsContactsViewModel.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -48,7 +44,7 @@
|
|||
|
||||
this.iDropOverTimer = 0;
|
||||
|
||||
this.allowContacts = !!AppSettings.settingsGet('ContactsIsAllowed');
|
||||
this.allowContacts = !!Settings.settingsGet('ContactsIsAllowed');
|
||||
|
||||
kn.constructorEnd(this);
|
||||
}
|
||||
|
@ -60,10 +56,7 @@
|
|||
this.oContentVisible = $('.b-content', oDom);
|
||||
this.oContentScrollable = $('.content', this.oContentVisible);
|
||||
|
||||
var
|
||||
self = this,
|
||||
App = require('../Apps/RainLoopApp.js')
|
||||
;
|
||||
var self = this;
|
||||
|
||||
oDom
|
||||
.on('click', '.b-folders .e-item .e-link .e-collapsed-sign', function (oEvent) {
|
||||
|
@ -76,7 +69,7 @@
|
|||
if (oFolder && oEvent)
|
||||
{
|
||||
bCollapsed = oFolder.collapsed();
|
||||
App.setExpandedFolder(oFolder.fullNameHash, bCollapsed);
|
||||
require('App:RainLoop').setExpandedFolder(oFolder.fullNameHash, bCollapsed);
|
||||
|
||||
oFolder.collapsed(!bCollapsed);
|
||||
oEvent.preventDefault();
|
||||
|
@ -159,7 +152,7 @@
|
|||
if (oFolder)
|
||||
{
|
||||
bCollapsed = oFolder.collapsed();
|
||||
App.setExpandedFolder(oFolder.fullNameHash, bCollapsed);
|
||||
require('App:RainLoop').setExpandedFolder(oFolder.fullNameHash, bCollapsed);
|
||||
oFolder.collapsed(!bCollapsed);
|
||||
}
|
||||
}
|
||||
|
@ -186,10 +179,9 @@
|
|||
window.clearTimeout(this.iDropOverTimer);
|
||||
if (oFolder && oFolder.collapsed())
|
||||
{
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
this.iDropOverTimer = window.setTimeout(function () {
|
||||
oFolder.collapsed(false);
|
||||
App.setExpandedFolder(oFolder.fullNameHash, true);
|
||||
require('App:RainLoop').setExpandedFolder(oFolder.fullNameHash, true);
|
||||
Utils.windowResize();
|
||||
}, 500);
|
||||
}
|
||||
|
@ -242,7 +234,6 @@
|
|||
if (oToFolder && oUi && oUi.helper)
|
||||
{
|
||||
var
|
||||
App = require('../Apps/RainLoopApp.js'),
|
||||
sFromFolderFullNameRaw = oUi.helper.data('rl-folder'),
|
||||
bCopy = $html.hasClass('rl-ctrl-key-pressed'),
|
||||
aUids = oUi.helper.data('rl-uids')
|
||||
|
@ -250,19 +241,19 @@
|
|||
|
||||
if (Utils.isNormal(sFromFolderFullNameRaw) && '' !== sFromFolderFullNameRaw && Utils.isArray(aUids))
|
||||
{
|
||||
App.moveMessagesToFolder(sFromFolderFullNameRaw, aUids, oToFolder.fullNameRaw, bCopy);
|
||||
require('App:RainLoop').moveMessagesToFolder(sFromFolderFullNameRaw, aUids, oToFolder.fullNameRaw, bCopy);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
MailBoxFolderListViewModel.prototype.composeClick = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsComposeViewModel);
|
||||
kn.showScreenPopup(require('View:Popup:Compose'));
|
||||
};
|
||||
|
||||
MailBoxFolderListViewModel.prototype.createFolder = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsFolderCreateViewModel);
|
||||
kn.showScreenPopup(require('View:Popup:FolderCreate'));
|
||||
};
|
||||
|
||||
MailBoxFolderListViewModel.prototype.configureFolders = function ()
|
||||
|
@ -274,7 +265,7 @@
|
|||
{
|
||||
if (this.allowContacts)
|
||||
{
|
||||
kn.showScreenPopup(PopupsContactsViewModel);
|
||||
kn.showScreenPopup(require('View:Popup:Contacts'));
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -20,17 +20,13 @@
|
|||
Events = require('Events'),
|
||||
Selector = require('Selector'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Cache = require('../Storages/WebMailCacheStorage.js'),
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Cache = require('Storage:RainLoop:Cache'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel'),
|
||||
|
||||
PopupsComposeViewModel = require('./Popups/PopupsComposeViewModel.js'),
|
||||
PopupsAdvancedSearchViewModel = require('./Popups/PopupsAdvancedSearchViewModel.js'),
|
||||
PopupsFolderClearViewModel = require('./Popups/PopupsFolderClearViewModel.js')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -39,15 +35,13 @@
|
|||
*/
|
||||
function MailBoxMessageListViewModel()
|
||||
{
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
|
||||
KnoinAbstractViewModel.call(this, 'Right', 'MailMessageList');
|
||||
|
||||
this.sLastUid = null;
|
||||
this.bPrefetch = false;
|
||||
this.emptySubjectValue = '';
|
||||
|
||||
this.hideDangerousActions = !!AppSettings.settingsGet('HideDangerousActions');
|
||||
this.hideDangerousActions = !!Settings.settingsGet('HideDangerousActions');
|
||||
|
||||
this.popupVisibility = Globals.popupVisibility;
|
||||
|
||||
|
@ -175,39 +169,40 @@
|
|||
this.canBeMoved = this.hasCheckedOrSelectedLines;
|
||||
|
||||
this.clearCommand = Utils.createCommand(this, function () {
|
||||
kn.showScreenPopup(PopupsFolderClearViewModel, [Data.currentFolder()]);
|
||||
kn.showScreenPopup(require('View:Popup:FolderClear'), [Data.currentFolder()]);
|
||||
});
|
||||
|
||||
this.multyForwardCommand = Utils.createCommand(this, function () {
|
||||
kn.showScreenPopup(PopupsComposeViewModel, [Enums.ComposeType.ForwardAsAttachment, Data.messageListCheckedOrSelected()]);
|
||||
kn.showScreenPopup(require('View:Popup:Compose'), [
|
||||
Enums.ComposeType.ForwardAsAttachment, Data.messageListCheckedOrSelected()]);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.deleteWithoutMoveCommand = Utils.createCommand(this, function () {
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
require('App:RainLoop').deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), false);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.deleteCommand = Utils.createCommand(this, function () {
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
require('App:RainLoop').deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.archiveCommand = Utils.createCommand(this, function () {
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Archive,
|
||||
require('App:RainLoop').deleteMessagesFromFolder(Enums.FolderType.Archive,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.spamCommand = Utils.createCommand(this, function () {
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Spam,
|
||||
require('App:RainLoop').deleteMessagesFromFolder(Enums.FolderType.Spam,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.notSpamCommand = Utils.createCommand(this, function () {
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.NotSpam,
|
||||
require('App:RainLoop').deleteMessagesFromFolder(Enums.FolderType.NotSpam,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
@ -217,7 +212,7 @@
|
|||
this.reloadCommand = Utils.createCommand(this, function () {
|
||||
if (!Data.messageListCompleteLoadingThrottle())
|
||||
{
|
||||
App.reloadMessageList(false, true);
|
||||
require('App:RainLoop').reloadMessageList(false, true);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -301,14 +296,14 @@
|
|||
|
||||
/**
|
||||
* @param {string} sToFolderFullNameRaw
|
||||
* @param {boolean} bCopy
|
||||
* @return {boolean}
|
||||
*/
|
||||
MailBoxMessageListViewModel.prototype.moveSelectedMessagesToFolder = function (sToFolderFullNameRaw, bCopy)
|
||||
{
|
||||
if (this.canBeMoved())
|
||||
{
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
App.moveMessagesToFolder(
|
||||
require('App:RainLoop').moveMessagesToFolder(
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), sToFolderFullNameRaw, bCopy);
|
||||
}
|
||||
|
@ -395,8 +390,7 @@
|
|||
var
|
||||
aUids = [],
|
||||
oFolder = null,
|
||||
iAlreadyUnread = 0,
|
||||
App = require('../Apps/RainLoopApp.js')
|
||||
iAlreadyUnread = 0
|
||||
;
|
||||
|
||||
if (Utils.isUnd(aMessages))
|
||||
|
@ -464,7 +458,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
App.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
require('App:RainLoop').reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -476,8 +470,7 @@
|
|||
{
|
||||
var
|
||||
oFolder = null,
|
||||
aMessages = Data.messageList(),
|
||||
App = require('../Apps/RainLoopApp.js')
|
||||
aMessages = Data.messageList()
|
||||
;
|
||||
|
||||
if ('' !== sFolderFullNameRaw)
|
||||
|
@ -516,7 +509,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
App.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
require('App:RainLoop').reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -629,10 +622,7 @@
|
|||
|
||||
MailBoxMessageListViewModel.prototype.onBuild = function (oDom)
|
||||
{
|
||||
var
|
||||
self = this,
|
||||
App = require('../Apps/RainLoopApp.js')
|
||||
;
|
||||
var self = this;
|
||||
|
||||
this.oContentVisible = $('.b-content', oDom);
|
||||
this.oContentScrollable = $('.content', this.oContentVisible);
|
||||
|
@ -663,7 +653,7 @@
|
|||
oMessage.lastInCollapsedThreadLoading(true);
|
||||
oMessage.lastInCollapsedThread(!oMessage.lastInCollapsedThread());
|
||||
|
||||
App.reloadMessageList();
|
||||
require('App:RainLoop').reloadMessageList();
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -700,7 +690,7 @@
|
|||
this.initUploaderForAppend();
|
||||
this.initShortcuts();
|
||||
|
||||
if (!Globals.bMobileDevice && AppSettings.capa(Enums.Capa.Prefetch) && ifvisible)
|
||||
if (!Globals.bMobileDevice && Settings.capa(Enums.Capa.Prefetch) && ifvisible)
|
||||
{
|
||||
ifvisible.setIdleDuration(10);
|
||||
|
||||
|
@ -759,7 +749,7 @@
|
|||
|
||||
// write/compose (open compose popup)
|
||||
key('w,c', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||
kn.showScreenPopup(PopupsComposeViewModel);
|
||||
kn.showScreenPopup(require('View:Popup:Compose'));
|
||||
return false;
|
||||
});
|
||||
|
||||
|
@ -869,12 +859,12 @@
|
|||
|
||||
MailBoxMessageListViewModel.prototype.composeClick = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsComposeViewModel);
|
||||
kn.showScreenPopup(require('View:Popup:Compose'));
|
||||
};
|
||||
|
||||
MailBoxMessageListViewModel.prototype.advancedSearchClick = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsAdvancedSearchViewModel);
|
||||
kn.showScreenPopup(require('View:Popup:AdvancedSearch'));
|
||||
};
|
||||
|
||||
MailBoxMessageListViewModel.prototype.quotaTooltip = function ()
|
||||
|
@ -888,7 +878,7 @@
|
|||
|
||||
MailBoxMessageListViewModel.prototype.initUploaderForAppend = function ()
|
||||
{
|
||||
if (!AppSettings.settingsGet('AllowAppendMessage') || !this.dragOverArea())
|
||||
if (!Settings.settingsGet('AllowAppendMessage') || !this.dragOverArea())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -933,7 +923,7 @@
|
|||
return false;
|
||||
}, this))
|
||||
.on('onComplete', _.bind(function () {
|
||||
require('../Apps/RainLoopApp.js').reloadMessageList(true, true);
|
||||
require('App:RainLoop').reloadMessageList(true, true);
|
||||
}, this))
|
||||
;
|
||||
|
||||
|
|
|
@ -16,14 +16,12 @@
|
|||
Utils = require('Utils'),
|
||||
Events = require('Events'),
|
||||
|
||||
Cache = require('../Storages/WebMailCacheStorage.js'),
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Cache = require('Storage:RainLoop:Cache'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
PopupsComposeViewModel = require('./Popups/PopupsComposeViewModel.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -37,7 +35,6 @@
|
|||
var
|
||||
self = this,
|
||||
sLastEmail = '',
|
||||
App = require('../Apps/RainLoopApp.js'),
|
||||
createCommandHelper = function (sType) {
|
||||
return Utils.createCommand(self, function () {
|
||||
this.replyOrforward(sType);
|
||||
|
@ -102,7 +99,7 @@
|
|||
this.deleteCommand = Utils.createCommand(this, function () {
|
||||
if (this.message())
|
||||
{
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
require('App:RainLoop').deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
this.message().folderFullNameRaw,
|
||||
[this.message().uid], true);
|
||||
}
|
||||
|
@ -111,7 +108,7 @@
|
|||
this.deleteWithoutMoveCommand = Utils.createCommand(this, function () {
|
||||
if (this.message())
|
||||
{
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
require('App:RainLoop').deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
[this.message().uid], false);
|
||||
}
|
||||
|
@ -120,7 +117,7 @@
|
|||
this.archiveCommand = Utils.createCommand(this, function () {
|
||||
if (this.message())
|
||||
{
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Archive,
|
||||
require('App:RainLoop').deleteMessagesFromFolder(Enums.FolderType.Archive,
|
||||
this.message().folderFullNameRaw,
|
||||
[this.message().uid], true);
|
||||
}
|
||||
|
@ -129,7 +126,7 @@
|
|||
this.spamCommand = Utils.createCommand(this, function () {
|
||||
if (this.message())
|
||||
{
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Spam,
|
||||
require('App:RainLoop').deleteMessagesFromFolder(Enums.FolderType.Spam,
|
||||
this.message().folderFullNameRaw,
|
||||
[this.message().uid], true);
|
||||
}
|
||||
|
@ -138,7 +135,7 @@
|
|||
this.notSpamCommand = Utils.createCommand(this, function () {
|
||||
if (this.message())
|
||||
{
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.NotSpam,
|
||||
require('App:RainLoop').deleteMessagesFromFolder(Enums.FolderType.NotSpam,
|
||||
this.message().folderFullNameRaw,
|
||||
[this.message().uid], true);
|
||||
}
|
||||
|
@ -336,16 +333,12 @@
|
|||
*/
|
||||
MailBoxMessageViewViewModel.prototype.replyOrforward = function (sType)
|
||||
{
|
||||
kn.showScreenPopup(PopupsComposeViewModel, [sType, Data.message()]);
|
||||
kn.showScreenPopup(require('View:Popup:Compose'), [sType, Data.message()]);
|
||||
};
|
||||
|
||||
MailBoxMessageViewViewModel.prototype.onBuild = function (oDom)
|
||||
{
|
||||
var
|
||||
self = this,
|
||||
App = require('../Apps/RainLoopApp.js')
|
||||
;
|
||||
|
||||
var self = this;
|
||||
this.fullScreenMode.subscribe(function (bValue) {
|
||||
if (bValue)
|
||||
{
|
||||
|
@ -382,7 +375,7 @@
|
|||
})
|
||||
.on('click', 'a', function (oEvent) {
|
||||
// setup maito protocol
|
||||
return !(!!oEvent && 3 !== oEvent['which'] && App.mailToHelper($(this).attr('href')));
|
||||
return !(!!oEvent && 3 !== oEvent['which'] && require('App:RainLoop').mailToHelper($(this).attr('href')));
|
||||
})
|
||||
.on('click', '.attachmentsPlace .attachmentPreview', function (oEvent) {
|
||||
if (oEvent && oEvent.stopPropagation)
|
||||
|
@ -398,7 +391,7 @@
|
|||
|
||||
if (oAttachment && oAttachment.download)
|
||||
{
|
||||
App.download(oAttachment.linkDownload());
|
||||
require('App:RainLoop').download(oAttachment.linkDownload());
|
||||
}
|
||||
})
|
||||
;
|
||||
|
@ -635,14 +628,14 @@
|
|||
|
||||
MailBoxMessageViewViewModel.prototype.composeClick = function ()
|
||||
{
|
||||
kn.showScreenPopup(PopupsComposeViewModel);
|
||||
kn.showScreenPopup(require('View:Popup:Compose'));
|
||||
};
|
||||
|
||||
MailBoxMessageViewViewModel.prototype.editMessage = function ()
|
||||
{
|
||||
if (Data.message())
|
||||
{
|
||||
kn.showScreenPopup(PopupsComposeViewModel, [Enums.ComposeType.Draft, Data.message()]);
|
||||
kn.showScreenPopup(require('View:Popup:Compose'), [Enums.ComposeType.Draft, Data.message()]);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -713,8 +706,7 @@
|
|||
|
||||
Cache.storeMessageFlagsToCache(oMessage);
|
||||
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
App.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
require('App:RainLoop').reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
'use strict';
|
||||
|
||||
var
|
||||
kn = require('kn'),
|
||||
AbstractSystemDropDownViewModel = require('./AbstractSystemDropDownViewModel.js')
|
||||
kn = require('App:Knoin'),
|
||||
AbstractSystemDropDownViewModel = require('View:RainLoop:AbstractSystemDropDown')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -10,12 +10,12 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:Admin:Data'),
|
||||
Remote = require('Storage:Admin:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -108,7 +108,7 @@
|
|||
|
||||
PopupsActivateViewModel.prototype.onShow = function ()
|
||||
{
|
||||
this.domain(AppSettings.settingsGet('AdminDomain'));
|
||||
this.domain(Settings.settingsGet('AdminDomain'));
|
||||
if (!this.activateProcess())
|
||||
{
|
||||
this.key('');
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -25,8 +25,6 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsAddAccount');
|
||||
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.email = ko.observable('');
|
||||
this.password = ko.observable('');
|
||||
|
||||
|
@ -65,7 +63,7 @@
|
|||
{
|
||||
if (oData.Result)
|
||||
{
|
||||
App.accountsAndIdentities();
|
||||
require('App:RainLoop').accountsAndIdentities();
|
||||
this.cancelCommand();
|
||||
}
|
||||
else if (oData.ErrorCode)
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
|
||||
Utils = require('Utils'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -23,8 +23,6 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsAddOpenPgpKey');
|
||||
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.key = ko.observable('');
|
||||
this.key.error = ko.observable(false);
|
||||
this.key.focus = ko.observable(false);
|
||||
|
@ -79,7 +77,7 @@
|
|||
|
||||
oOpenpgpKeyring.store();
|
||||
|
||||
App.reloadOpenPgpKeys();
|
||||
require('App:RainLoop').reloadOpenPgpKeys();
|
||||
Utils.delegateRun(this, 'cancelCommand');
|
||||
|
||||
return true;
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
|
||||
Utils = require('Utils'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
Utils = require('Utils'),
|
||||
Enums = require('Enums'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
|
||||
EmailModel = require('../../Models/EmailModel.js'),
|
||||
EmailModel = require('Model:Email'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
_ = require('_'),
|
||||
ko = require('ko'),
|
||||
moment = require('moment'),
|
||||
$window = require('$window'),
|
||||
$win = require('$win'),
|
||||
JSON = require('JSON'),
|
||||
Jua = require('Jua'),
|
||||
|
||||
|
@ -20,21 +20,17 @@
|
|||
Globals = require('Globals'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
Events = require('Events'),
|
||||
NewHtmlEditorWrapper = require('NewHtmlEditorWrapper'),
|
||||
HtmlEditor = require('HtmlEditor'),
|
||||
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Cache = require('../../Storages/WebMailCacheStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Cache = require('Storage:RainLoop:Cache'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
ComposeAttachmentModel = require('../../Models/ComposeAttachmentModel.js'),
|
||||
ComposeAttachmentModel = require('Model:ComposeAttachment'),
|
||||
|
||||
PopupsComposeOpenPgpViewModel = require('./PopupsComposeOpenPgpViewModel.js'),
|
||||
PopupsFolderSystemViewModel = require('./PopupsFolderSystemViewModel.js'),
|
||||
PopupsAskViewModel = require('./PopupsAskViewModel.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -45,8 +41,6 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsCompose');
|
||||
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.oEditor = null;
|
||||
this.aDraftInfo = null;
|
||||
this.sInReplyTo = '';
|
||||
|
@ -54,7 +48,7 @@
|
|||
this.bSkipNext = false;
|
||||
this.sReferences = '';
|
||||
|
||||
this.bCapaAdditionalIdentities = AppSettings.capa(Enums.Capa.AdditionalIdentities);
|
||||
this.bCapaAdditionalIdentities = Settings.capa(Enums.Capa.AdditionalIdentities);
|
||||
|
||||
var
|
||||
self = this,
|
||||
|
@ -219,7 +213,7 @@
|
|||
|
||||
this.deleteCommand = Utils.createCommand(this, function () {
|
||||
|
||||
App.deleteMessagesFromFolderWithoutCheck(this.draftFolder(), [this.draftUid()]);
|
||||
require('App:RainLoop').deleteMessagesFromFolderWithoutCheck(this.draftFolder(), [this.draftUid()]);
|
||||
kn.hideScreenPopup(PopupsComposeViewModel);
|
||||
|
||||
}, function () {
|
||||
|
@ -256,7 +250,7 @@
|
|||
|
||||
if ('' === sSentFolder)
|
||||
{
|
||||
kn.showScreenPopup(PopupsFolderSystemViewModel, [Enums.SetSystemFoldersNotification.Sent]);
|
||||
kn.showScreenPopup(require('View:Popup:FolderSystem'), [Enums.SetSystemFoldersNotification.Sent]);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -278,7 +272,7 @@
|
|||
}
|
||||
|
||||
Cache.setMessageFlagsToCache(this.aDraftInfo[2], this.aDraftInfo[1], aFlagsCache);
|
||||
App.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
require('App:RainLoop').reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
Cache.setFolderHash(this.aDraftInfo[2], '');
|
||||
}
|
||||
}
|
||||
|
@ -314,7 +308,7 @@
|
|||
|
||||
if (Data.draftFolderNotEnabled())
|
||||
{
|
||||
kn.showScreenPopup(PopupsFolderSystemViewModel, [Enums.SetSystemFoldersNotification.Draft]);
|
||||
kn.showScreenPopup(require('View:Popup:FolderSystem'), [Enums.SetSystemFoldersNotification.Draft]);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -359,7 +353,7 @@
|
|||
this.triggerForResize();
|
||||
}, this);
|
||||
|
||||
this.dropboxEnabled = ko.observable(!!AppSettings.settingsGet('DropboxApiKey'));
|
||||
this.dropboxEnabled = ko.observable(!!Settings.settingsGet('DropboxApiKey'));
|
||||
|
||||
this.dropboxCommand = Utils.createCommand(this, function () {
|
||||
|
||||
|
@ -386,7 +380,7 @@
|
|||
});
|
||||
|
||||
this.driveEnabled = ko.observable(Globals.bXMLHttpRequestSupported &&
|
||||
!!AppSettings.settingsGet('GoogleClientID') && !!AppSettings.settingsGet('GoogleApiKey'));
|
||||
!!Settings.settingsGet('GoogleClientID') && !!Settings.settingsGet('GoogleApiKey'));
|
||||
|
||||
this.driveVisible = ko.observable(false);
|
||||
|
||||
|
@ -415,8 +409,7 @@
|
|||
|
||||
PopupsComposeViewModel.prototype.emailsSource = function (oData, fResponse)
|
||||
{
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
App.getAutocomplete(oData.term, function (aData) {
|
||||
require('App:RainLoop').getAutocomplete(oData.term, function (aData) {
|
||||
fResponse(_.map(aData, function (oEmailItem) {
|
||||
return oEmailItem.toLine(false);
|
||||
}));
|
||||
|
@ -428,7 +421,7 @@
|
|||
if (this.capaOpenPGP() && this.oEditor && !this.oEditor.isHtml())
|
||||
{
|
||||
var self = this;
|
||||
kn.showScreenPopup(PopupsComposeOpenPgpViewModel, [
|
||||
kn.showScreenPopup(require('View:Popup:ComposeOpenPgp'), [
|
||||
function (sResult) {
|
||||
self.editor(function (oEditor) {
|
||||
oEditor.setPlain(sResult);
|
||||
|
@ -446,7 +439,6 @@
|
|||
PopupsComposeViewModel.prototype.reloadDraftFolder = function ()
|
||||
{
|
||||
var
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
sDraftFolder = Data.draftFolder()
|
||||
;
|
||||
|
||||
|
@ -455,11 +447,11 @@
|
|||
Cache.setFolderHash(sDraftFolder, '');
|
||||
if (Data.currentFolderFullNameRaw() === sDraftFolder)
|
||||
{
|
||||
App.reloadMessageList(true);
|
||||
require('App:RainLoop').reloadMessageList(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
App.folderInformation(sDraftFolder);
|
||||
require('App:RainLoop').folderInformation(sDraftFolder);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -715,7 +707,7 @@
|
|||
if (!this.oEditor && this.composeEditorArea())
|
||||
{
|
||||
_.delay(function () {
|
||||
self.oEditor = new NewHtmlEditorWrapper(self.composeEditorArea(), null, function () {
|
||||
self.oEditor = new HtmlEditor(self.composeEditorArea(), null, function () {
|
||||
fOnInit(self.oEditor);
|
||||
}, function (bHtml) {
|
||||
self.isHtml(!!bHtml);
|
||||
|
@ -1016,7 +1008,11 @@
|
|||
|
||||
PopupsComposeViewModel.prototype.tryToClosePopup = function ()
|
||||
{
|
||||
var self = this;
|
||||
var
|
||||
self = this,
|
||||
PopupsAskViewModel = require('View:Popup:Ask')
|
||||
;
|
||||
|
||||
if (!kn.isPopupVisible(PopupsAskViewModel))
|
||||
{
|
||||
kn.showScreenPopup(PopupsAskViewModel, [Utils.i18n('POPUPS_ASK/DESC_WANT_CLOSE_THIS_WINDOW'), function () {
|
||||
|
@ -1060,7 +1056,7 @@
|
|||
return false;
|
||||
});
|
||||
|
||||
$window.on('resize', function () {
|
||||
$win.on('resize', function () {
|
||||
self.triggerForResize();
|
||||
});
|
||||
|
||||
|
@ -1069,7 +1065,7 @@
|
|||
oScript = window.document.createElement('script');
|
||||
oScript.type = 'text/javascript';
|
||||
oScript.src = 'https://www.dropbox.com/static/api/1/dropins.js';
|
||||
$(oScript).attr('id', 'dropboxjs').attr('data-app-key', AppSettings.settingsGet('DropboxApiKey'));
|
||||
$(oScript).attr('id', 'dropboxjs').attr('data-app-key', Settings.settingsGet('DropboxApiKey'));
|
||||
|
||||
window.document.body.appendChild(oScript);
|
||||
}
|
||||
|
@ -1168,7 +1164,7 @@
|
|||
new window.google.picker.DocsView()
|
||||
.setIncludeFolders(true)
|
||||
)
|
||||
.setAppId(AppSettings.settingsGet('GoogleClientID'))
|
||||
.setAppId(Settings.settingsGet('GoogleClientID'))
|
||||
.setOAuthToken(oOauthToken.access_token)
|
||||
.setCallback(_.bind(self.driveCallback, self, oOauthToken.access_token))
|
||||
.enableFeature(window.google.picker.Feature.NAV_HIDDEN)
|
||||
|
@ -1193,7 +1189,7 @@
|
|||
if (!oAuthToken)
|
||||
{
|
||||
window.gapi.auth.authorize({
|
||||
'client_id': AppSettings.settingsGet('GoogleClientID'),
|
||||
'client_id': Settings.settingsGet('GoogleClientID'),
|
||||
'scope': 'https://www.googleapis.com/auth/drive.readonly',
|
||||
'immediate': true
|
||||
}, function (oAuthResult) {
|
||||
|
@ -1208,7 +1204,7 @@
|
|||
else
|
||||
{
|
||||
window.gapi.auth.authorize({
|
||||
'client_id': AppSettings.settingsGet('GoogleClientID'),
|
||||
'client_id': Settings.settingsGet('GoogleClientID'),
|
||||
'scope': 'https://www.googleapis.com/auth/drive.readonly',
|
||||
'immediate': false
|
||||
}, function (oAuthResult) {
|
||||
|
@ -1261,7 +1257,7 @@
|
|||
{
|
||||
var
|
||||
oUploadCache = {},
|
||||
iAttachmentSizeLimit = Utils.pInt(AppSettings.settingsGet('AttachmentLimit')),
|
||||
iAttachmentSizeLimit = Utils.pInt(Settings.settingsGet('AttachmentLimit')),
|
||||
oJua = new Jua({
|
||||
'action': LinkBuilder.upload(),
|
||||
'name': 'uploader',
|
||||
|
@ -1510,7 +1506,7 @@
|
|||
});
|
||||
};
|
||||
},
|
||||
iAttachmentSizeLimit = Utils.pInt(AppSettings.settingsGet('AttachmentLimit')),
|
||||
iAttachmentSizeLimit = Utils.pInt(Settings.settingsGet('AttachmentLimit')),
|
||||
mSize = oDropboxFile['bytes']
|
||||
;
|
||||
|
||||
|
@ -1571,7 +1567,7 @@
|
|||
});
|
||||
};
|
||||
},
|
||||
iAttachmentSizeLimit = Utils.pInt(AppSettings.settingsGet('AttachmentLimit')),
|
||||
iAttachmentSizeLimit = Utils.pInt(Settings.settingsGet('AttachmentLimit')),
|
||||
oAttachment = null,
|
||||
mSize = oDriveFile['fileSize'] ? Utils.pInt(oDriveFile['fileSize']) : 0
|
||||
;
|
||||
|
|
|
@ -18,18 +18,16 @@
|
|||
LinkBuilder = require('LinkBuilder'),
|
||||
Selector = require('Selector'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
EmailModel = require('../../Models/EmailModel.js'),
|
||||
ContactModel = require('../../Models/ContactModel.js'),
|
||||
ContactTagModel = require('../../Models/ContactTagModel.js'),
|
||||
ContactPropertyModel = require('../../Models/ContactPropertyModel.js'),
|
||||
EmailModel = require('Model:Email'),
|
||||
ContactModel = require('Model:Contact'),
|
||||
ContactTagModel = require('Model:ContactTag'),
|
||||
ContactPropertyModel = require('Model:ContactProperty'),
|
||||
|
||||
PopupsComposeViewModel = require('./PopupsComposeViewModel.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -280,8 +278,8 @@
|
|||
|
||||
if (Utils.isNonEmptyArray(aE))
|
||||
{
|
||||
kn.hideScreenPopup(PopupsContactsViewModel);
|
||||
kn.showScreenPopup(PopupsComposeViewModel, [Enums.ComposeType.Empty, null, aE]);
|
||||
kn.hideScreenPopup(require('View:Popup:Contacts'));
|
||||
kn.showScreenPopup(require('View:Popup:Compose'), [Enums.ComposeType.Empty, null, aE]);
|
||||
}
|
||||
|
||||
}, function () {
|
||||
|
@ -351,12 +349,8 @@
|
|||
|
||||
this.syncCommand = Utils.createCommand(this, function () {
|
||||
|
||||
var
|
||||
self = this,
|
||||
App = require('../../Apps/RainLoopApp.js')
|
||||
;
|
||||
|
||||
App.contactsSync(function (sResult, oData) {
|
||||
var self = this;
|
||||
require('App:RainLoop').contactsSync(function (sResult, oData) {
|
||||
if (Enums.StorageResultType.Success !== sResult || !oData || !oData.Result)
|
||||
{
|
||||
window.alert(Utils.getNotification(
|
||||
|
@ -401,8 +395,7 @@
|
|||
|
||||
PopupsContactsViewModel.prototype.contactTagsSource = function (oData, fResponse)
|
||||
{
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
App.getContactTagsAutocomplete(oData.term, function (aData) {
|
||||
require('App:RainLoop').getContactTagsAutocomplete(oData.term, function (aData) {
|
||||
fResponse(_.map(aData, function (oTagItem) {
|
||||
return oTagItem.toLine(false);
|
||||
}));
|
||||
|
@ -487,14 +480,12 @@
|
|||
|
||||
PopupsContactsViewModel.prototype.exportVcf = function ()
|
||||
{
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
App.download(LinkBuilder.exportContactsVcf());
|
||||
require('App:RainLoop').download(LinkBuilder.exportContactsVcf());
|
||||
};
|
||||
|
||||
PopupsContactsViewModel.prototype.exportCsv = function ()
|
||||
{
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
App.download(LinkBuilder.exportContactsCsv());
|
||||
require('App:RainLoop').download(LinkBuilder.exportContactsCsv());
|
||||
};
|
||||
|
||||
PopupsContactsViewModel.prototype.initUploader = function ()
|
||||
|
|
|
@ -12,10 +12,10 @@
|
|||
Consts = require('Consts'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js'),
|
||||
Remote = require('Storage:Admin:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -235,9 +235,7 @@
|
|||
{
|
||||
if (oData.Result)
|
||||
{
|
||||
var App = require('../../Apps/AdminApp.js');
|
||||
App.reloadDomainList();
|
||||
|
||||
require('App:Admin').reloadDomainList();
|
||||
this.closeCommand();
|
||||
}
|
||||
else if (Enums.Notification.DomainAlreadyExists === oData.ErrorCode)
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
Consts = require('Consts'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -10,12 +10,12 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Cache = require('../../Storages/WebMailCacheStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Cache = require('Storage:RainLoop:Cache'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -26,8 +26,6 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsFolderClear');
|
||||
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.selectedFolder = ko.observable(null);
|
||||
this.clearingProcess = ko.observable(false);
|
||||
this.clearingError = ko.observable('');
|
||||
|
@ -72,7 +70,7 @@
|
|||
self.clearingProcess(false);
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
App.reloadMessageList(true);
|
||||
require('App:RainLoop').reloadMessageList(true);
|
||||
self.cancelCommand();
|
||||
}
|
||||
else
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
Consts = require('Consts'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -65,7 +65,6 @@
|
|||
this.createFolder = Utils.createCommand(this, function () {
|
||||
|
||||
var
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
sParentFolderName = this.selectedParentValue()
|
||||
;
|
||||
|
||||
|
@ -80,7 +79,7 @@
|
|||
Data.foldersCreating(false);
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
App.folders();
|
||||
require('App:RainLoop').folders();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -11,12 +11,12 @@
|
|||
Consts = require('Consts'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Settings = require('Storage:Settings'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -55,11 +55,11 @@
|
|||
|
||||
fSaveSystemFolders = _.debounce(function () {
|
||||
|
||||
AppSettings.settingsSet('SentFolder', self.sentFolder());
|
||||
AppSettings.settingsSet('DraftFolder', self.draftFolder());
|
||||
AppSettings.settingsSet('SpamFolder', self.spamFolder());
|
||||
AppSettings.settingsSet('TrashFolder', self.trashFolder());
|
||||
AppSettings.settingsSet('ArchiveFolder', self.archiveFolder());
|
||||
Settings.settingsSet('SentFolder', self.sentFolder());
|
||||
Settings.settingsSet('DraftFolder', self.draftFolder());
|
||||
Settings.settingsSet('SpamFolder', self.spamFolder());
|
||||
Settings.settingsSet('TrashFolder', self.trashFolder());
|
||||
Settings.settingsSet('ArchiveFolder', self.archiveFolder());
|
||||
|
||||
Remote.saveSystemFolders(Utils.emptyFunction, {
|
||||
'SentFolder': self.sentFolder(),
|
||||
|
@ -74,11 +74,11 @@
|
|||
|
||||
fCallback = function () {
|
||||
|
||||
AppSettings.settingsSet('SentFolder', self.sentFolder());
|
||||
AppSettings.settingsSet('DraftFolder', self.draftFolder());
|
||||
AppSettings.settingsSet('SpamFolder', self.spamFolder());
|
||||
AppSettings.settingsSet('TrashFolder', self.trashFolder());
|
||||
AppSettings.settingsSet('ArchiveFolder', self.archiveFolder());
|
||||
Settings.settingsSet('SentFolder', self.sentFolder());
|
||||
Settings.settingsSet('DraftFolder', self.draftFolder());
|
||||
Settings.settingsSet('SpamFolder', self.spamFolder());
|
||||
Settings.settingsSet('TrashFolder', self.trashFolder());
|
||||
Settings.settingsSet('ArchiveFolder', self.archiveFolder());
|
||||
|
||||
fSaveSystemFolders();
|
||||
};
|
||||
|
|
|
@ -9,12 +9,12 @@
|
|||
|
||||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
kn = require('kn'),
|
||||
kn = require('App:Knoin'),
|
||||
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -25,8 +25,6 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsIdentity');
|
||||
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.id = '';
|
||||
this.edit = ko.observable(false);
|
||||
this.owner = ko.observable(false);
|
||||
|
@ -85,7 +83,7 @@
|
|||
{
|
||||
if (oData.Result)
|
||||
{
|
||||
App.accountsAndIdentities();
|
||||
require('App:RainLoop').accountsAndIdentities();
|
||||
this.cancelCommand();
|
||||
}
|
||||
else if (oData.ErrorCode)
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
|
||||
Enums = require('Enums'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
|
||||
Utils = require('Utils'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,21 +11,19 @@
|
|||
|
||||
Utils = require('Utils'),
|
||||
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends KnoinAbstractViewModel
|
||||
*/
|
||||
function PopupsGenerateNewOpenPgpKeyViewModel()
|
||||
function PopupsNewOpenPgpKeyViewModel()
|
||||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsGenerateNewOpenPgpKey');
|
||||
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsNewOpenPgpKey');
|
||||
|
||||
this.email = ko.observable('');
|
||||
this.email.focus = ko.observable('');
|
||||
|
@ -78,7 +76,7 @@
|
|||
oOpenpgpKeyring.publicKeys.importKey(mKeyPair.publicKeyArmored);
|
||||
oOpenpgpKeyring.store();
|
||||
|
||||
App.reloadOpenPgpKeys();
|
||||
require('App:RainLoop').reloadOpenPgpKeys();
|
||||
Utils.delegateRun(self, 'cancelCommand');
|
||||
}
|
||||
|
||||
|
@ -91,9 +89,9 @@
|
|||
kn.constructorEnd(this);
|
||||
}
|
||||
|
||||
kn.extendAsViewModel('PopupsGenerateNewOpenPgpKeyViewModel', PopupsGenerateNewOpenPgpKeyViewModel);
|
||||
kn.extendAsViewModel('PopupsNewOpenPgpKeyViewModel', PopupsNewOpenPgpKeyViewModel);
|
||||
|
||||
PopupsGenerateNewOpenPgpKeyViewModel.prototype.clearPopup = function ()
|
||||
PopupsNewOpenPgpKeyViewModel.prototype.clearPopup = function ()
|
||||
{
|
||||
this.name('');
|
||||
this.password('');
|
||||
|
@ -103,16 +101,16 @@
|
|||
this.keyBitLength(2048);
|
||||
};
|
||||
|
||||
PopupsGenerateNewOpenPgpKeyViewModel.prototype.onShow = function ()
|
||||
PopupsNewOpenPgpKeyViewModel.prototype.onShow = function ()
|
||||
{
|
||||
this.clearPopup();
|
||||
};
|
||||
|
||||
PopupsGenerateNewOpenPgpKeyViewModel.prototype.onFocus = function ()
|
||||
PopupsNewOpenPgpKeyViewModel.prototype.onFocus = function ()
|
||||
{
|
||||
this.email.focus(true);
|
||||
};
|
||||
|
||||
module.exports = PopupsGenerateNewOpenPgpKeyViewModel;
|
||||
module.exports = PopupsNewOpenPgpKeyViewModel;
|
||||
|
||||
}(module, require));
|
|
@ -12,12 +12,10 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js'),
|
||||
Remote = require('Storage:Admin:Remote'),
|
||||
|
||||
PopupsAskViewModel = require('./PopupsAskViewModel.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -139,7 +137,11 @@
|
|||
|
||||
PopupsPluginViewModel.prototype.tryToClosePopup = function ()
|
||||
{
|
||||
var self = this;
|
||||
var
|
||||
self = this,
|
||||
PopupsAskViewModel = require('View:Popup:Ask')
|
||||
;
|
||||
|
||||
if (!kn.isPopupVisible(PopupsAskViewModel))
|
||||
{
|
||||
kn.showScreenPopup(PopupsAskViewModel, [Utils.i18n('POPUPS_ASK/DESC_WANT_CLOSE_THIS_WINDOW'), function () {
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Remote = require('Storage:RainLoop:Remote'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
Utils = require('Utils'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
LinkBuilder = require('LinkBuilder'),
|
||||
Globals = require('Globals'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
Enums = require('Enums'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Data = require('Storage:RainLoop:Data'),
|
||||
|
||||
kn = require('kn'),
|
||||
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
|
||||
kn = require('App:Knoin'),
|
||||
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
'use strict';
|
||||
|
||||
var
|
||||
kn = require('kn'),
|
||||
AbstractSystemDropDownViewModel = require('./AbstractSystemDropDownViewModel.js')
|
||||
kn = require('App:Knoin'),
|
||||
AbstractSystemDropDownViewModel = require('View:RainLoop:AbstractSystemDropDown')
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
119
package.json
119
package.json
|
@ -44,9 +44,7 @@
|
|||
"window": "./dev/External/window.js",
|
||||
"JSON": "./dev/External/JSON.js",
|
||||
"$": "./dev/External/jquery.js",
|
||||
"jquery": "./dev/External/jquery.js",
|
||||
"_": "./dev/External/underscore.js",
|
||||
"underscore": "./dev/External/underscore.js",
|
||||
"ko": "./dev/External/ko.js",
|
||||
"key": "./dev/External/key.js",
|
||||
"moment": "./dev/External/moment.js",
|
||||
|
@ -57,7 +55,7 @@
|
|||
"Jua": "./dev/External/Jua.js",
|
||||
"AppData": "./dev/External/AppData.js",
|
||||
"NotificationClass": "./dev/External/NotificationClass.js",
|
||||
"$window": "./dev/External/$window.js",
|
||||
"$win": "./dev/External/$win.js",
|
||||
"$html": "./dev/External/$html.js",
|
||||
"$doc": "./dev/External/$doc.js",
|
||||
"$div": "./dev/External/$div.js",
|
||||
|
@ -71,13 +69,116 @@
|
|||
"Events": "./dev/Common/Events.js",
|
||||
"Selector": "./dev/Common/Selector.js",
|
||||
"LinkBuilder": "./dev/Common/LinkBuilder.js",
|
||||
"NewHtmlEditorWrapper": "./dev/Common/NewHtmlEditorWrapper.js",
|
||||
"HtmlEditor": "./dev/Common/HtmlEditor.js",
|
||||
|
||||
"Knoin": "./dev/Knoin/Knoin.js",
|
||||
"KnoinAbstractBoot": "./dev/Knoin/KnoinAbstractBoot.js",
|
||||
"KnoinAbstractScreen": "./dev/Knoin/KnoinAbstractScreen.js",
|
||||
"KnoinAbstractViewModel": "./dev/Knoin/KnoinAbstractViewModel.js",
|
||||
"kn": "./dev/Knoin/Knoin.js"
|
||||
"Knoin:AbstractBoot": "./dev/Knoin/KnoinAbstractBoot.js",
|
||||
"Knoin:AbstractScreen": "./dev/Knoin/KnoinAbstractScreen.js",
|
||||
"Knoin:AbstractViewModel": "./dev/Knoin/KnoinAbstractViewModel.js",
|
||||
|
||||
"App:Boot": "./dev/Boot.js",
|
||||
"App:Knoin": "./dev/Knoin/Knoin.js",
|
||||
"App:Abstract": "./dev/Apps/AbstractApp.js",
|
||||
"App:RainLoop": "./dev/Apps/RainLoopApp.js",
|
||||
"App:Admin": "./dev/Apps/AdminApp.js",
|
||||
|
||||
"Model:Account": "./dev/Models/AccountModel.js",
|
||||
"Model:Attachment": "./dev/Models/AttachmentModel.js",
|
||||
"Model:ComposeAttachment": "./dev/Models/ComposeAttachmentModel.js",
|
||||
"Model:Contact": "./dev/Models/ContactModel.js",
|
||||
"Model:ContactProperty": "./dev/Models/ContactPropertyModel.js",
|
||||
"Model:ContactTag": "./dev/Models/ContactTagModel.js",
|
||||
"Model:Email": "./dev/Models/EmailModel.js",
|
||||
"Model:Filter": "./dev/Models/FilterModel.js",
|
||||
"Model:FilterCondition": "./dev/Models/FilterConditionModel.js",
|
||||
"Model:Folder": "./dev/Models/FolderModel.js",
|
||||
"Model:Identity": "./dev/Models/IdentityModel.js",
|
||||
"Model:Message": "./dev/Models/MessageModel.js",
|
||||
"Model:OpenPgpKey": "./dev/Models/OpenPgpKeyModel.js",
|
||||
|
||||
"Storage:LocalStorage": "./dev/Storages/LocalStorage.js",
|
||||
"Storage:LocalStorage:Cookie": "./dev/Storages/LocalStorages/CookieDriver.js",
|
||||
"Storage:LocalStorage:LocalStorage": "./dev/Storages/LocalStorages/LocalStorageDriver.js",
|
||||
|
||||
"Storage:Settings": "./dev/Storages/SettingsStorage.js",
|
||||
|
||||
"Storage:Abstract:Remote": "./dev/Storages/AbstractRemoteStorage.js",
|
||||
"Storage:Abstract:Data": "./dev/Storages/AbstractData.js",
|
||||
|
||||
"Storage:RainLoop:Cache": "./dev/Storages/CacheStorage.js",
|
||||
"Storage:RainLoop:Remote": "./dev/Storages/RemoteStorage.js",
|
||||
"Storage:RainLoop:Data": "./dev/Storages/DataStorage.js",
|
||||
|
||||
"Storage:Admin:Remote": "./dev/Storages/AdminRemoteStorage.js",
|
||||
"Storage:Admin:Data": "./dev/Storages/AdminDataStorage.js",
|
||||
|
||||
"Screen:AbstractSettings": "./dev/Screens/AbstractSettings.js",
|
||||
"Screen:RainLoop:Login": "./dev/Screens/LoginScreen.js",
|
||||
"Screen:RainLoop:About": "./dev/Screens/AboutScreen.js",
|
||||
"Screen:RainLoop:MailBox": "./dev/Screens/MailBoxScreen.js",
|
||||
"Screen:RainLoop:Settings": "./dev/Screens/SettingsScreen.js",
|
||||
"Screen:Admin:Login": "./dev/Screens/AdminLoginScreen.js",
|
||||
"Screen:Admin:Settings": "./dev/Screens/AdminSettingsScreen.js",
|
||||
|
||||
"Settings:RainLoop:General": "./dev/Settings/App/SettingsGeneral.js",
|
||||
"Settings:RainLoop:ChangePassword": "./dev/Settings/App/SettingsChangePassword.js",
|
||||
"Settings:RainLoop:Accounts": "./dev/Settings/App/SettingsAccounts.js",
|
||||
"Settings:RainLoop:Contacts": "./dev/Settings/App/SettingsContacts.js",
|
||||
"Settings:RainLoop:Filters": "./dev/Settings/App/SettingsFilters.js",
|
||||
"Settings:RainLoop:Folders": "./dev/Settings/App/SettingsFolders.js",
|
||||
"Settings:RainLoop:Identity": "./dev/Settings/App/SettingsIdentity.js",
|
||||
"Settings:RainLoop:Identities": "./dev/Settings/App/SettingsIdentities.js",
|
||||
"Settings:RainLoop:OpenPGP": "./dev/Settings/App/SettingsOpenPGP.js",
|
||||
"Settings:RainLoop:Security": "./dev/Settings/App/SettingsSecurity.js",
|
||||
"Settings:RainLoop:Social": "./dev/Settings/App/SettingsSocial.js",
|
||||
"Settings:RainLoop:Themes": "./dev/Settings/App/SettingsThemes.js",
|
||||
|
||||
"Settings:Admin:General": "./dev/Settings/Admin/AdminSettingsGeneral.js",
|
||||
"Settings:Admin:Login": "./dev/Settings/Admin/AdminSettingsLogin.js",
|
||||
"Settings:Admin:Branding": "./dev/Settings/Admin/AdminSettingsBranding.js",
|
||||
"Settings:Admin:Contacts": "./dev/Settings/Admin/AdminSettingsContacts.js",
|
||||
"Settings:Admin:Domains": "./dev/Settings/Admin/AdminSettingsDomains.js",
|
||||
"Settings:Admin:Social": "./dev/Settings/Admin/AdminSettingsSocial.js",
|
||||
"Settings:Admin:Security": "./dev/Settings/Admin/AdminSettingsSecurity.js",
|
||||
"Settings:Admin:Plugins": "./dev/Settings/Admin/AdminSettingsPlugins.js",
|
||||
"Settings:Admin:Packages": "./dev/Settings/Admin/AdminSettingsPackages.js",
|
||||
"Settings:Admin:Licensing": "./dev/Settings/Admin/AdminSettingsLicensing.js",
|
||||
"Settings:Admin:About": "./dev/Settings/Admin/AdminSettingsAbout.js",
|
||||
|
||||
"View:Admin:Login": "./dev/ViewModels/AdminLoginViewModel.js",
|
||||
"View:Admin:SettingsMenu": "./dev/ViewModels/AdminSettingsMenuViewModel.js",
|
||||
"View:Admin:SettingsPane": "./dev/ViewModels/AdminSettingsPaneViewModel.js",
|
||||
|
||||
"View:RainLoop:AbstractSystemDropDown": "./dev/ViewModels/AbstractSystemDropDownViewModel.js",
|
||||
"View:RainLoop:MailBoxSystemDropDown": "./dev/ViewModels/MailBoxSystemDropDownViewModel.js",
|
||||
"View:RainLoop:SettingsSystemDropDown": "./dev/ViewModels/SettingsSystemDropDownViewModel.js",
|
||||
"View:RainLoop:SettingsMenu": "./dev/ViewModels/SettingsMenuViewModel.js",
|
||||
"View:RainLoop:SettingsPane": "./dev/ViewModels/SettingsPaneViewModel.js",
|
||||
"View:RainLoop:MailBoxMessageView": "./dev/ViewModels/MailBoxMessageViewViewModel.js",
|
||||
"View:RainLoop:MailBoxMessageList": "./dev/ViewModels/MailBoxMessageListViewModel.js",
|
||||
"View:RainLoop:MailBoxFolderList": "./dev/ViewModels/MailBoxFolderListViewModel.js",
|
||||
"View:RainLoop:Login": "./dev/ViewModels/LoginViewModel.js",
|
||||
"View:RainLoop:About": "./dev/ViewModels/AboutViewModel.js",
|
||||
|
||||
"View:Popup:Activate": "./dev/ViewModels/Popups/PopupsActivateViewModel.js",
|
||||
"View:Popup:AddAccount": "./dev/ViewModels/Popups/PopupsAddAccountViewModel.js",
|
||||
"View:Popup:AddOpenPgpKey": "./dev/ViewModels/Popups/PopupsAddOpenPgpKeyViewModel.js",
|
||||
"View:Popup:AdvancedSearch": "./dev/ViewModels/Popups/PopupsAdvancedSearchViewModel.js",
|
||||
"View:Popup:Ask": "./dev/ViewModels/Popups/PopupsAskViewModel.js",
|
||||
"View:Popup:ComposeOpenPgp": "./dev/ViewModels/Popups/PopupsComposeOpenPgpViewModel.js",
|
||||
"View:Popup:Compose": "./dev/ViewModels/Popups/PopupsComposeViewModel.js",
|
||||
"View:Popup:Contacts": "./dev/ViewModels/Popups/PopupsContactsViewModel.js",
|
||||
"View:Popup:Domain": "./dev/ViewModels/Popups/PopupsDomainViewModel.js",
|
||||
"View:Popup:Filter": "./dev/ViewModels/Popups/PopupsFilterViewModel.js",
|
||||
"View:Popup:FolderClear": "./dev/ViewModels/Popups/PopupsFolderClearViewModel.js",
|
||||
"View:Popup:FolderCreate": "./dev/ViewModels/Popups/PopupsFolderCreateViewModel.js",
|
||||
"View:Popup:FolderSystem": "./dev/ViewModels/Popups/PopupsFolderSystemViewModel.js",
|
||||
"View:Popup:Identity": "./dev/ViewModels/Popups/PopupsIdentityViewModel.js",
|
||||
"View:Popup:KeyboardShortcutsHelp": "./dev/ViewModels/Popups/PopupsKeyboardShortcutsHelpViewModel.js",
|
||||
"View:Popup:Languages": "./dev/ViewModels/Popups/PopupsLanguagesViewModel.js",
|
||||
"View:Popup:NewOpenPgpKey": "./dev/ViewModels/Popups/PopupsNewOpenPgpKeyViewModel.js",
|
||||
"View:Popup:Plugin": "./dev/ViewModels/Popups/PopupsPluginViewModel.js",
|
||||
"View:Popup:TwoFactorTest": "./dev/ViewModels/Popups/PopupsTwoFactorTestViewModel.js",
|
||||
"View:Popup:ViewOpenPgpKey": "./dev/ViewModels/Popups/PopupsViewOpenPgpKeyViewModel.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
|
|
8
rainloop/v/0.0.0/app/templates/Views/App/About.html
Normal file
8
rainloop/v/0.0.0/app/templates/Views/App/About.html
Normal file
|
@ -0,0 +1,8 @@
|
|||
<div style="margin: 30px">
|
||||
<h1 style="display: inline">RainLoop Webmail</h1>
|
||||
|
||||
|
||||
|
||||
<h3 style="display: inline">(<span data-bind="text: version"></span>)</h3>
|
||||
<h3><a href="http://rainloop.net/" target="_blank">http://rainloop.net</a></h3>
|
||||
</div>
|
|
@ -553,9 +553,9 @@ AUTH_ERROR = "Authentication failed"
|
|||
ACCESS_ERROR = "Access error"
|
||||
CONNECTION_ERROR = "Can't connect to server"
|
||||
CAPTCHA_ERROR = "Incorrect CAPTCHA."
|
||||
SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
DOMAIN_NOT_ALLOWED = "Domain is not allowed"
|
||||
ACCOUNT_NOT_ALLOWED = "Account is not allowed"
|
||||
ACCOUNT_TWO_FACTOR_AUTH_REQUIRED = "Two factor verification required"
|
||||
|
|
|
@ -545,9 +545,9 @@ AUTH_ERROR = "Érvénytelen hitelesítés"
|
|||
ACCESS_ERROR = "Érvénytelen hozzáférés"
|
||||
CONNECTION_ERROR = "Can't connect to server"
|
||||
CAPTCHA_ERROR = "Érvénytelen CAPTCHA."
|
||||
SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
DOMAIN_NOT_ALLOWED = "Domain is not allowed"
|
||||
ACCOUNT_NOT_ALLOWED = "Account is not allowed"
|
||||
ACCOUNT_TWO_FACTOR_AUTH_REQUIRED = "Two factor verification required"
|
||||
|
|
|
@ -545,9 +545,9 @@ AUTH_ERROR = "Authentication failed"
|
|||
ACCESS_ERROR = "Access error"
|
||||
CONNECTION_ERROR = "Can't connect to server"
|
||||
CAPTCHA_ERROR = "Incorrect CAPTCHA."
|
||||
SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
DOMAIN_NOT_ALLOWED = "Domain is not allowed"
|
||||
ACCOUNT_NOT_ALLOWED = "Account is not allowed"
|
||||
ACCOUNT_TWO_FACTOR_AUTH_REQUIRED = "Two factor verification required"
|
||||
|
|
|
@ -545,9 +545,9 @@ AUTH_ERROR = "Overenie zlyhalo"
|
|||
ACCESS_ERROR = "Chyba prístupu"
|
||||
CONNECTION_ERROR = "Nepodarilo sa pripojiť k serveru"
|
||||
CAPTCHA_ERROR = "Nesprávne CAPTCHA."
|
||||
SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
DOMAIN_NOT_ALLOWED = "Doména nie je povolená"
|
||||
ACCOUNT_NOT_ALLOWED = "Účet nie je povolený"
|
||||
ACCOUNT_TWO_FACTOR_AUTH_REQUIRED = "Two factor verification required"
|
||||
|
|
|
@ -545,9 +545,9 @@ AUTH_ERROR = "认证失败"
|
|||
ACCESS_ERROR = "访问错误"
|
||||
CONNECTION_ERROR = "无法连接服务器"
|
||||
CAPTCHA_ERROR = "验证码不正确。"
|
||||
SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and add enable this feature in account settings."
|
||||
SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE = "This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings."
|
||||
DOMAIN_NOT_ALLOWED = "域不允许"
|
||||
ACCOUNT_NOT_ALLOWED = "账户不允许"
|
||||
ACCOUNT_TWO_FACTOR_AUTH_REQUIRED = "Two factor verification required"
|
||||
|
|
|
@ -7245,13 +7245,6 @@ html.rl-ctrl-key-pressed .btn-group.open .hidden-on-ctrl-btn {
|
|||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
.rl-view-model.RL-Login,
|
||||
.rl-view-model.RL-LoginNew,
|
||||
.rl-view-model.RL-AdminLogin {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
z-index: 5;
|
||||
}
|
||||
.b-login-content {
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
|
@ -9881,3 +9874,11 @@ html.rl-started-trigger.no-mobile #rl-content {
|
|||
-moz-animation-delay: 0.6s;
|
||||
animation-delay: 0.6s;
|
||||
}
|
||||
.rl-view-model.RL-Login,
|
||||
.rl-view-model.RL-LoginNew,
|
||||
.rl-view-model.RL-AdminLogin,
|
||||
.rl-view-model.RL-About {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
z-index: 5;
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue