Code refactoring

This commit is contained in:
RainLoop Team 2014-08-27 19:59:44 +04:00
parent 36329110e5
commit b4f416b6f8
105 changed files with 4331 additions and 4339 deletions

View 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));

View file

@ -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;
}
});

View file

@ -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)
{

View file

@ -5,9 +5,9 @@
'use strict';
var
kn = require('kn'),
kn = require('App:Knoin'),
Globals = require('Globals'),
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
;
/**

View file

@ -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();
});
};

View file

@ -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;

View file

@ -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'));
}
};

View file

@ -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))
;

View file

@ -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();
}
};

View file

@ -5,8 +5,8 @@
'use strict';
var
kn = require('kn'),
AbstractSystemDropDownViewModel = require('./AbstractSystemDropDownViewModel.js')
kn = require('App:Knoin'),
AbstractSystemDropDownViewModel = require('View:RainLoop:AbstractSystemDropDown')
;
/**

View file

@ -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('');

View file

@ -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)

View file

@ -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;

View file

@ -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')
;
/**

View file

@ -11,8 +11,8 @@
Enums = require('Enums'),
Utils = require('Utils'),
kn = require('kn'),
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
kn = require('App:Knoin'),
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
;
/**

View file

@ -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')
;
/**

View file

@ -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
;

View file

@ -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 ()

View file

@ -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)

View file

@ -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')
;
/**

View file

@ -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

View file

@ -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
{

View file

@ -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();
};

View file

@ -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)

View file

@ -10,8 +10,8 @@
Enums = require('Enums'),
kn = require('kn'),
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
kn = require('App:Knoin'),
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
;
/**

View file

@ -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')
;
/**

View file

@ -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));

View file

@ -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 () {

View file

@ -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')
;
/**

View file

@ -9,8 +9,8 @@
Utils = require('Utils'),
kn = require('kn'),
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
kn = require('App:Knoin'),
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
;
/**

View file

@ -8,8 +8,8 @@
LinkBuilder = require('LinkBuilder'),
Globals = require('Globals'),
kn = require('kn'),
KnoinAbstractViewModel = require('KnoinAbstractViewModel')
kn = require('App:Knoin'),
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
;
/**

View file

@ -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')
;
/**

View file

@ -5,8 +5,8 @@
'use strict';
var
kn = require('kn'),
AbstractSystemDropDownViewModel = require('./AbstractSystemDropDownViewModel.js')
kn = require('App:Knoin'),
AbstractSystemDropDownViewModel = require('View:RainLoop:AbstractSystemDropDown')
;
/**