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

View file

@ -13,8 +13,8 @@
Utils = require('Utils'),
LinkBuilder = require('LinkBuilder'),
kn = require('kn'),
KnoinAbstractScreen = require('KnoinAbstractScreen')
kn = require('App:Knoin'),
KnoinAbstractScreen = require('Knoin:AbstractScreen')
;
/**

View file

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

View file

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

View file

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

View file

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

View file

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