mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-09-20 07:35:55 +08:00
Code refactoring
This commit is contained in:
parent
4a95dd6195
commit
36329110e5
|
@ -2,5 +2,5 @@
|
|||
|
||||
(function (require) {
|
||||
'use strict';
|
||||
require('Boot')(require('./Boots/AdminApp.js'));
|
||||
require('./Boot.js')(require('./Apps/AdminApp.js'));
|
||||
}(require));
|
|
@ -48,40 +48,40 @@
|
|||
|
||||
AdminApp.prototype.setupSettings = function ()
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsGeneral.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsGeneral.js'),
|
||||
'AdminSettingsGeneral', 'General', 'general', true);
|
||||
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsLogin.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsLogin.js'),
|
||||
'AdminSettingsLogin', 'Login', 'login');
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.Prem))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsBranding.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsBranding.js'),
|
||||
'AdminSettingsBranding', 'Branding', 'branding');
|
||||
}
|
||||
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsContacts.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsContacts.js'),
|
||||
'AdminSettingsContacts', 'Contacts', 'contacts');
|
||||
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsDomains.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsDomains.js'),
|
||||
'AdminSettingsDomains', 'Domains', 'domains');
|
||||
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsSecurity.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsSecurity.js'),
|
||||
'AdminSettingsSecurity', 'Security', 'security');
|
||||
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsSocial.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsSocial.js'),
|
||||
'AdminSettingsSocial', 'Social', 'social');
|
||||
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsPlugins.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsPlugins.js'),
|
||||
'AdminSettingsPlugins', 'Plugins', 'plugins');
|
||||
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsPackages.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsPackages.js'),
|
||||
'AdminSettingsPackages', 'Packages', 'packages');
|
||||
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsLicensing.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsLicensing.js'),
|
||||
'AdminSettingsLicensing', 'Licensing', 'licensing');
|
||||
|
||||
kn.addSettingsViewModel(require('../Admin/AdminSettingsAbout.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/Admin/AdminSettingsAbout.js'),
|
||||
'AdminSettingsAbout', 'About', 'about');
|
||||
|
||||
return true;
|
|
@ -125,41 +125,41 @@
|
|||
|
||||
RainLoopApp.prototype.setupSettings = function ()
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsGeneral.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsGeneral.js'),
|
||||
'SettingsGeneral', 'SETTINGS_LABELS/LABEL_GENERAL_NAME', 'general', true);
|
||||
|
||||
if (AppSettings.settingsGet('ContactsIsAllowed'))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsContacts.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsContacts.js'),
|
||||
'SettingsContacts', 'SETTINGS_LABELS/LABEL_CONTACTS_NAME', 'contacts');
|
||||
}
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.AdditionalAccounts))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsAccounts.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsAccounts.js'),
|
||||
'SettingsAccounts', 'SETTINGS_LABELS/LABEL_ACCOUNTS_NAME', 'accounts');
|
||||
}
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.AdditionalIdentities))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsIdentities.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsIdentities.js'),
|
||||
'SettingsIdentities', 'SETTINGS_LABELS/LABEL_IDENTITIES_NAME', 'identities');
|
||||
}
|
||||
else
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsIdentity.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsIdentity.js'),
|
||||
'SettingsIdentity', 'SETTINGS_LABELS/LABEL_IDENTITY_NAME', 'identity');
|
||||
}
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.Filters))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsFilters.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsFilters.js'),
|
||||
'SettingsFilters', 'SETTINGS_LABELS/LABEL_FILTERS_NAME', 'filters');
|
||||
}
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.TwoFactor))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsSecurity.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsSecurity.js'),
|
||||
'SettingsSecurity', 'SETTINGS_LABELS/LABEL_SECURITY_NAME', 'security');
|
||||
}
|
||||
|
||||
|
@ -167,28 +167,28 @@
|
|||
AppSettings.settingsGet('AllowFacebookSocial') ||
|
||||
AppSettings.settingsGet('AllowTwitterSocial'))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsSocial.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsSocial.js'),
|
||||
'SettingsSocial', 'SETTINGS_LABELS/LABEL_SOCIAL_NAME', 'social');
|
||||
}
|
||||
|
||||
if (AppSettings.settingsGet('ChangePasswordIsAllowed'))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsChangePassword.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsChangePassword.js'),
|
||||
'SettingsChangePassword', 'SETTINGS_LABELS/LABEL_CHANGE_PASSWORD_NAME', 'change-password');
|
||||
}
|
||||
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsFolders.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsFolders.js'),
|
||||
'SettingsFolders', 'SETTINGS_LABELS/LABEL_FOLDERS_NAME', 'folders');
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.Themes))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsThemes.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsThemes.js'),
|
||||
'SettingsThemes', 'SETTINGS_LABELS/LABEL_THEMES_NAME', 'themes');
|
||||
}
|
||||
|
||||
if (AppSettings.capa(Enums.Capa.OpenPGP))
|
||||
{
|
||||
kn.addSettingsViewModel(require('../Settings/SettingsOpenPGP.js'),
|
||||
kn.addSettingsViewModel(require('../Settings/App/SettingsOpenPGP.js'),
|
||||
'SettingsOpenPGP', 'SETTINGS_LABELS/LABEL_OPEN_PGP_NAME', 'openpgp');
|
||||
}
|
||||
|
|
@ -4,21 +4,24 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
var
|
||||
window = require('window'),
|
||||
_ = require('_'),
|
||||
$ = require('$'),
|
||||
$window = require('$window'),
|
||||
$html = require('$html'),
|
||||
|
||||
Globals = require('Globals'),
|
||||
Plugins = require('Plugins'),
|
||||
Utils = require('Utils')
|
||||
;
|
||||
|
||||
module.exports = function (App) {
|
||||
|
||||
Globals.__RL = App;
|
||||
var
|
||||
window = require('window'),
|
||||
_ = require('_'),
|
||||
$ = require('$'),
|
||||
$window = require('$window'),
|
||||
$html = require('$html'),
|
||||
|
||||
Globals = require('Globals'),
|
||||
Plugins = require('Plugins'),
|
||||
Utils = require('Utils'),
|
||||
Enums = require('Enums'),
|
||||
|
||||
EmailModel = require('./Models/EmailModel.js')
|
||||
;
|
||||
|
||||
Globals.__APP = App;
|
||||
|
||||
App.setupSettings();
|
||||
|
||||
|
@ -45,10 +48,10 @@
|
|||
window['rl']['pluginSettingsGet'] = Plugins.settingsGet;
|
||||
window['rl']['createCommand'] = Utils.createCommand;
|
||||
|
||||
window['rl']['EmailModel'] = require('../Models/EmailModel.js');
|
||||
window['rl']['Enums'] = require('Enums');
|
||||
window['rl']['EmailModel'] = EmailModel;
|
||||
window['rl']['Enums'] = Enums;
|
||||
|
||||
window['__RLBOOT'] = function (fCall) {
|
||||
window['__APP_BOOT'] = function (fCall) {
|
||||
|
||||
// boot
|
||||
$(function () {
|
||||
|
@ -69,7 +72,7 @@
|
|||
fCall(false);
|
||||
}
|
||||
|
||||
window['__RLBOOT'] = null;
|
||||
window['__APP_BOOT'] = null;
|
||||
});
|
||||
};
|
||||
|
|
@ -112,7 +112,7 @@
|
|||
/**
|
||||
* @type {*}
|
||||
*/
|
||||
Globals.__RL = null;
|
||||
Globals.__APP = null;
|
||||
|
||||
/**
|
||||
* @type {Object}
|
||||
|
|
|
@ -1364,7 +1364,6 @@
|
|||
};
|
||||
|
||||
/* jshint ignore:start */
|
||||
|
||||
/**
|
||||
* @param {string} s
|
||||
* @return {string}
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
|
||||
(function (require) {
|
||||
'use strict';
|
||||
require('Boot')(require('./Boots/RainLoopApp.js'));
|
||||
require('./Boot.js')(require('./Apps/RainLoopApp.js'));
|
||||
}(require));
|
|
@ -77,7 +77,6 @@
|
|||
oViewModelPlace = this.oViewModelPlace;
|
||||
if (oViewModelPlace && 1 === oViewModelPlace.length)
|
||||
{
|
||||
RoutedSettingsViewModel = /** @type {?Function} */ RoutedSettingsViewModel;
|
||||
oSettingsScreen = new RoutedSettingsViewModel();
|
||||
|
||||
oViewModelDom = $('<div></div>').addClass('rl-settings-view-model').hide();
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
|
||||
AdminLoginScreen.prototype.onShow = function ()
|
||||
{
|
||||
var RL = require('../Boots/AdminApp.js');
|
||||
RL.setTitle('');
|
||||
var App = require('../Apps/AdminApp.js');
|
||||
App.setTitle('');
|
||||
};
|
||||
|
||||
module.exports = AdminLoginScreen;
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
|
||||
AdminSettingsScreen.prototype.onShow = function ()
|
||||
{
|
||||
var RL = require('../Boots/AdminApp.js');
|
||||
RL.setTitle('');
|
||||
var App = require('../Apps/AdminApp.js');
|
||||
App.setTitle('');
|
||||
};
|
||||
|
||||
module.exports = AdminSettingsScreen;
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
|
||||
LoginScreen.prototype.onShow = function ()
|
||||
{
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
RL.setTitle('');
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
App.setTitle('');
|
||||
};
|
||||
|
||||
module.exports = LoginScreen;
|
||||
|
|
|
@ -54,12 +54,12 @@
|
|||
MailBoxScreen.prototype.setNewTitle = function ()
|
||||
{
|
||||
var
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
App = require('../Apps/RainLoopApp.js'),
|
||||
sEmail = Data.accountEmail(),
|
||||
nFoldersInboxUnreadCount = Data.foldersInboxUnreadCount()
|
||||
;
|
||||
|
||||
RL.setTitle(('' === sEmail ? '' :
|
||||
App.setTitle(('' === sEmail ? '' :
|
||||
(0 < nFoldersInboxUnreadCount ? '(' + nFoldersInboxUnreadCount + ') ' : ' ') + sEmail + ' - ') + Utils.i18n('TITLES/MAILBOX'));
|
||||
};
|
||||
|
||||
|
@ -77,12 +77,12 @@
|
|||
*/
|
||||
MailBoxScreen.prototype.onRoute = function (sFolderHash, iPage, sSearch, bPreview)
|
||||
{
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
if (Utils.isUnd(bPreview) ? false : !!bPreview)
|
||||
{
|
||||
if (Enums.Layout.NoPreview === Data.layout() && !Data.message())
|
||||
{
|
||||
RL.historyBack();
|
||||
App.historyBack();
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -105,7 +105,7 @@
|
|||
Data.message(null);
|
||||
}
|
||||
|
||||
RL.reloadMessageList();
|
||||
App.reloadMessageList();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -113,7 +113,7 @@
|
|||
MailBoxScreen.prototype.onStart = function ()
|
||||
{
|
||||
var
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
App = require('../Apps/RainLoopApp.js'),
|
||||
fResizeFunction = function () {
|
||||
Utils.windowResize();
|
||||
}
|
||||
|
@ -121,18 +121,18 @@
|
|||
|
||||
if (AppSettings.capa(Enums.Capa.AdditionalAccounts) || AppSettings.capa(Enums.Capa.AdditionalIdentities))
|
||||
{
|
||||
RL.accountsAndIdentities();
|
||||
App.accountsAndIdentities();
|
||||
}
|
||||
|
||||
_.delay(function () {
|
||||
if ('INBOX' !== Data.currentFolderFullNameRaw())
|
||||
{
|
||||
RL.folderInformation('INBOX');
|
||||
App.folderInformation('INBOX');
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
_.delay(function () {
|
||||
RL.quota();
|
||||
App.quota();
|
||||
}, 5000);
|
||||
|
||||
_.delay(function () {
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
function SettingsScreen()
|
||||
{
|
||||
var
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
App = require('../Apps/RainLoopApp.js'),
|
||||
|
||||
SettingsSystemDropDownViewModel = require('../ViewModels/SettingsSystemDropDownViewModel.js'),
|
||||
SettingsMenuViewModel = require('../ViewModels/SettingsMenuViewModel.js'),
|
||||
|
@ -37,7 +37,7 @@
|
|||
Utils.initOnStartOrLangChange(function () {
|
||||
this.sSettingsTitle = Utils.i18n('TITLES/SETTINGS');
|
||||
}, this, function () {
|
||||
RL.setTitle(this.sSettingsTitle);
|
||||
App.setTitle(this.sSettingsTitle);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -45,9 +45,9 @@
|
|||
|
||||
SettingsScreen.prototype.onShow = function ()
|
||||
{
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
|
||||
RL.setTitle(this.sSettingsTitle);
|
||||
App.setTitle(this.sSettingsTitle);
|
||||
Globals.keyScope(Enums.KeyState.Settings);
|
||||
};
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
function AdminSettingsAbout()
|
||||
{
|
||||
var
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/AdminDataStorage.js')
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js')
|
||||
;
|
||||
|
||||
this.version = ko.observable(AppSettings.settingsGet('Version'));
|
||||
|
@ -72,7 +72,7 @@
|
|||
{
|
||||
if (this.access())
|
||||
{
|
||||
require('../Boots/AdminApp.js').reloadCoreData();
|
||||
require('../../Apps/AdminApp.js').reloadCoreData();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -80,7 +80,7 @@
|
|||
{
|
||||
if (!this.coreUpdating())
|
||||
{
|
||||
require('../Boots/AdminApp.js').updateCoreData();
|
||||
require('../../Apps/AdminApp.js').updateCoreData();
|
||||
}
|
||||
};
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
{
|
||||
var
|
||||
Enums = require('Enums'),
|
||||
AppSettings = require('../Storages/AppSettings.js')
|
||||
AppSettings = require('../../Storages/AppSettings.js')
|
||||
;
|
||||
|
||||
this.title = ko.observable(AppSettings.settingsGet('Title'));
|
||||
|
@ -41,7 +41,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
_.delay(function () {
|
|
@ -11,7 +11,7 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js')
|
||||
AppSettings = require('../../Storages/AppSettings.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -20,7 +20,7 @@
|
|||
function AdminSettingsContacts()
|
||||
{
|
||||
var
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
this.defautOptionsAfterRender = Utils.defautOptionsAfterRender;
|
||||
|
@ -179,7 +179,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
_.delay(function () {
|
|
@ -11,10 +11,10 @@
|
|||
|
||||
Enums = require('Enums'),
|
||||
|
||||
PopupsDomainViewModel = require('../ViewModels/Popups/PopupsDomainViewModel.js'),
|
||||
PopupsDomainViewModel = require('../../ViewModels/Popups/PopupsDomainViewModel.js'),
|
||||
|
||||
Data = require('../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js')
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -86,7 +86,7 @@
|
|||
})
|
||||
;
|
||||
|
||||
require('../Boots/AdminApp.js').reloadDomainList();
|
||||
require('../../Apps/AdminApp.js').reloadDomainList();
|
||||
};
|
||||
|
||||
AdminSettingsDomains.prototype.onDomainLoadRequest = function (sResult, oData)
|
||||
|
@ -99,7 +99,7 @@
|
|||
|
||||
AdminSettingsDomains.prototype.onDomainListChangeRequest = function ()
|
||||
{
|
||||
require('../Boots/AdminApp.js').reloadDomainList();
|
||||
require('../../Apps/AdminApp.js').reloadDomainList();
|
||||
};
|
||||
|
||||
module.exports = AdminSettingsDomains;
|
|
@ -12,10 +12,10 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/AdminDataStorage.js'),
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
|
||||
PopupsLanguagesViewModel = require('../ViewModels/Popups/PopupsLanguagesViewModel.js')
|
||||
PopupsLanguagesViewModel = require('../../ViewModels/Popups/PopupsLanguagesViewModel.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -68,7 +68,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
_.delay(function () {
|
|
@ -8,10 +8,10 @@
|
|||
ko = require('ko'),
|
||||
moment = require('moment'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/AdminDataStorage.js'),
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
|
||||
PopupsActivateViewModel = require('../ViewModels/Popups/PopupsActivateViewModel.js')
|
||||
PopupsActivateViewModel = require('../../ViewModels/Popups/PopupsActivateViewModel.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -32,7 +32,7 @@
|
|||
this.licenseTrigger.subscribe(function () {
|
||||
if (this.subscriptionEnabled())
|
||||
{
|
||||
require('../Boots/AdminApp.js').reloadLicensing(true);
|
||||
require('../../Apps/AdminApp.js').reloadLicensing(true);
|
||||
}
|
||||
}, this);
|
||||
}
|
||||
|
@ -41,7 +41,7 @@
|
|||
{
|
||||
if (this.subscriptionEnabled())
|
||||
{
|
||||
require('../Boots/AdminApp.js').reloadLicensing(false);
|
||||
require('../../Apps/AdminApp.js').reloadLicensing(false);
|
||||
}
|
||||
};
|
||||
|
|
@ -11,8 +11,8 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/AdminDataStorage.js')
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -33,7 +33,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
_.delay(function () {
|
|
@ -11,8 +11,8 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Data = require('../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js')
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -51,7 +51,7 @@
|
|||
|
||||
AdminSettingsPackages.prototype.onBuild = function ()
|
||||
{
|
||||
require('../Boots/AdminApp.js').reloadPackagesList();
|
||||
require('../../Apps/AdminApp.js').reloadPackagesList();
|
||||
};
|
||||
|
||||
AdminSettingsPackages.prototype.requestHelper = function (oPackage, bInstall)
|
||||
|
@ -86,7 +86,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
require('../Boots/AdminApp.js').reloadPackagesList();
|
||||
require('../../Apps/AdminApp.js').reloadPackagesList();
|
||||
}
|
||||
};
|
||||
};
|
|
@ -11,11 +11,11 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
AppSettings = require('../Storages/AppSettings.js'),
|
||||
Data = require('../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js'),
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js'),
|
||||
|
||||
PopupsPluginViewModel = require('../ViewModels/Popups/PopupsPluginViewModel.js')
|
||||
PopupsPluginViewModel = require('../../ViewModels/Popups/PopupsPluginViewModel.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -80,7 +80,7 @@
|
|||
AdminSettingsPlugins.prototype.onShow = function ()
|
||||
{
|
||||
this.pluginsError('');
|
||||
require('../Boots/AdminApp.js').reloadPluginList();
|
||||
require('../../Apps/AdminApp.js').reloadPluginList();
|
||||
};
|
||||
|
||||
AdminSettingsPlugins.prototype.onPluginLoadRequest = function (sResult, oData)
|
||||
|
@ -108,7 +108,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
require('../Boots/AdminApp.js').reloadPluginList();
|
||||
require('../../Apps/AdminApp.js').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')
|
||||
AppSettings = require('../../Storages/AppSettings.js'),
|
||||
Data = require('../../Storages/AdminDataStorage.js'),
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -95,7 +95,7 @@
|
|||
AdminSettingsSecurity.prototype.onBuild = function ()
|
||||
{
|
||||
var
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
this.capaOpenPGP.subscribe(function (bValue) {
|
|
@ -17,7 +17,7 @@
|
|||
*/
|
||||
function AdminSettingsSocial()
|
||||
{
|
||||
var Data = require('../Storages/AdminDataStorage.js');
|
||||
var Data = require('../../Storages/AdminDataStorage.js');
|
||||
|
||||
this.googleEnable = Data.googleEnable;
|
||||
this.googleClientID = Data.googleClientID;
|
||||
|
@ -49,7 +49,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
Remote = require('../Storages/AdminAjaxRemoteStorage.js')
|
||||
Remote = require('../../Storages/AdminAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
_.delay(function () {
|
|
@ -13,11 +13,11 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
PopupsAddAccountViewModel = require('../ViewModels/Popups/PopupsAddAccountViewModel.js')
|
||||
PopupsAddAccountViewModel = require('../../ViewModels/Popups/PopupsAddAccountViewModel.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -65,7 +65,7 @@
|
|||
this.accountForDeletion(null);
|
||||
|
||||
var
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
fRemoveAccount = function (oAccount) {
|
||||
return oAccountToRemove === oAccount;
|
||||
}
|
||||
|
@ -90,7 +90,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
RL.accountsAndIdentities();
|
||||
App.accountsAndIdentities();
|
||||
}
|
||||
|
||||
}, oAccountToRemove.email);
|
|
@ -11,7 +11,7 @@
|
|||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js')
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
/**
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Data = require('../Storages/WebMailDataStorage.js')
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js')
|
||||
;
|
||||
|
||||
/**
|
|
@ -31,8 +31,8 @@
|
|||
{
|
||||
var
|
||||
kn = require('kn'),
|
||||
FilterModel = require('../Models/FilterModel.js'),
|
||||
PopupsFilterViewModel = require('../ViewModels/Popups/PopupsFilterViewModel.js')
|
||||
FilterModel = require('../../Models/FilterModel.js'),
|
||||
PopupsFilterViewModel = require('../../ViewModels/Popups/PopupsFilterViewModel.js')
|
||||
;
|
||||
|
||||
kn.showScreenPopup(PopupsFilterViewModel, [new FilterModel()]);
|
|
@ -12,14 +12,14 @@
|
|||
|
||||
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'),
|
||||
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')
|
||||
PopupsFolderCreateViewModel = require('../../ViewModels/Popups/PopupsFolderCreateViewModel.js'),
|
||||
PopupsFolderSystemViewModel = require('../../ViewModels/Popups/PopupsFolderSystemViewModel.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -98,7 +98,7 @@
|
|||
SettingsFolders.prototype.folderEditOnEnter = function (oFolder)
|
||||
{
|
||||
var
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
sEditName = oFolder ? Utils.trim(oFolder.nameForEdit()) : ''
|
||||
;
|
||||
|
||||
|
@ -116,7 +116,7 @@
|
|||
oData && oData.ErrorCode ? Utils.getNotification(oData.ErrorCode) : Utils.i18n('NOTIFICATIONS/CANT_RENAME_FOLDER'));
|
||||
}
|
||||
|
||||
RL.folders();
|
||||
App.folders();
|
||||
|
||||
}, oFolder.fullNameRaw, sEditName);
|
||||
|
||||
|
@ -159,7 +159,7 @@
|
|||
this.folderForDeletion(null);
|
||||
|
||||
var
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
fRemoveFolder = function (oFolder) {
|
||||
|
||||
if (oFolderToRemove === oFolder)
|
||||
|
@ -188,7 +188,7 @@
|
|||
oData && oData.ErrorCode ? Utils.getNotification(oData.ErrorCode) : Utils.i18n('NOTIFICATIONS/CANT_DELETE_FOLDER'));
|
||||
}
|
||||
|
||||
RL.folders();
|
||||
App.folders();
|
||||
|
||||
}, oFolderToRemove.fullNameRaw);
|
||||
|
|
@ -7,6 +7,7 @@
|
|||
var
|
||||
$ = require('$'),
|
||||
ko = require('ko'),
|
||||
_ = require('_'),
|
||||
|
||||
Enums = require('Enums'),
|
||||
Consts = require('Consts'),
|
||||
|
@ -14,11 +15,11 @@
|
|||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
PopupsLanguagesViewModel = require('../ViewModels/Popups/PopupsLanguagesViewModel.js')
|
||||
PopupsLanguagesViewModel = require('../../ViewModels/Popups/PopupsLanguagesViewModel.js')
|
||||
;
|
||||
|
||||
/**
|
|
@ -6,16 +6,17 @@
|
|||
|
||||
var
|
||||
ko = require('ko'),
|
||||
_ = require('_'),
|
||||
|
||||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
NewHtmlEditorWrapper = require('NewHtmlEditorWrapper'),
|
||||
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
PopupsIdentityViewModel = require('../ViewModels/Popups/PopupsIdentityViewModel.js')
|
||||
PopupsIdentityViewModel = require('../../ViewModels/Popups/PopupsIdentityViewModel.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -133,7 +134,7 @@
|
|||
this.identityForDeletion(null);
|
||||
|
||||
var
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
fRemoveFolder = function (oIdentity) {
|
||||
return oIdentityToRemove === oIdentity;
|
||||
}
|
||||
|
@ -144,7 +145,7 @@
|
|||
this.identities.remove(fRemoveFolder);
|
||||
|
||||
Remote.identityDelete(function () {
|
||||
RL.accountsAndIdentities();
|
||||
App.accountsAndIdentities();
|
||||
}, oIdentityToRemove.id);
|
||||
}
|
||||
}
|
|
@ -6,13 +6,14 @@
|
|||
|
||||
var
|
||||
ko = require('ko'),
|
||||
_ = require('_'),
|
||||
|
||||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
NewHtmlEditorWrapper = require('NewHtmlEditorWrapper'),
|
||||
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js')
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
/**
|
|
@ -9,11 +9,11 @@
|
|||
|
||||
kn = require('kn'),
|
||||
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
|
||||
PopupsAddOpenPgpKeyViewModel = require('../ViewModels/Popups/PopupsAddOpenPgpKeyViewModel.js'),
|
||||
PopupsGenerateNewOpenPgpKeyViewModel = require('../ViewModels/Popups/PopupsGenerateNewOpenPgpKeyViewModel.js'),
|
||||
PopupsViewOpenPgpKeyViewModel = require('../ViewModels/Popups/PopupsViewOpenPgpKeyViewModel.js')
|
||||
PopupsAddOpenPgpKeyViewModel = require('../../ViewModels/Popups/PopupsAddOpenPgpKeyViewModel.js'),
|
||||
PopupsGenerateNewOpenPgpKeyViewModel = require('../../ViewModels/Popups/PopupsGenerateNewOpenPgpKeyViewModel.js'),
|
||||
PopupsViewOpenPgpKeyViewModel = require('../../ViewModels/Popups/PopupsViewOpenPgpKeyViewModel.js')
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -78,8 +78,8 @@
|
|||
|
||||
Data.openpgpKeyring.store();
|
||||
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
RL.reloadOpenPgpKeys();
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
App.reloadOpenPgpKeys();
|
||||
}
|
||||
}
|
||||
};
|
|
@ -11,10 +11,10 @@
|
|||
Globals = require('Globals'),
|
||||
Utils = require('Utils'),
|
||||
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js'),
|
||||
|
||||
kn = require('kn'),
|
||||
PopupsTwoFactorTestViewModel = require('../ViewModels/Popups/PopupsTwoFactorTestViewModel.js')
|
||||
PopupsTwoFactorTestViewModel = require('../../ViewModels/Popups/PopupsTwoFactorTestViewModel.js')
|
||||
;
|
||||
|
||||
/**
|
|
@ -11,8 +11,8 @@
|
|||
{
|
||||
var
|
||||
Utils = require('Utils'),
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
Data = require('../Storages/WebMailDataStorage.js')
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
Data = require('../../Storages/WebMailDataStorage.js')
|
||||
;
|
||||
|
||||
this.googleEnable = Data.googleEnable;
|
||||
|
@ -36,40 +36,40 @@
|
|||
this.connectGoogle = Utils.createCommand(this, function () {
|
||||
if (!this.googleLoggined())
|
||||
{
|
||||
RL.googleConnect();
|
||||
App.googleConnect();
|
||||
}
|
||||
}, function () {
|
||||
return !this.googleLoggined() && !this.googleActions();
|
||||
});
|
||||
|
||||
this.disconnectGoogle = Utils.createCommand(this, function () {
|
||||
RL.googleDisconnect();
|
||||
App.googleDisconnect();
|
||||
});
|
||||
|
||||
this.connectFacebook = Utils.createCommand(this, function () {
|
||||
if (!this.facebookLoggined())
|
||||
{
|
||||
RL.facebookConnect();
|
||||
App.facebookConnect();
|
||||
}
|
||||
}, function () {
|
||||
return !this.facebookLoggined() && !this.facebookActions();
|
||||
});
|
||||
|
||||
this.disconnectFacebook = Utils.createCommand(this, function () {
|
||||
RL.facebookDisconnect();
|
||||
App.facebookDisconnect();
|
||||
});
|
||||
|
||||
this.connectTwitter = Utils.createCommand(this, function () {
|
||||
if (!this.twitterLoggined())
|
||||
{
|
||||
RL.twitterConnect();
|
||||
App.twitterConnect();
|
||||
}
|
||||
}, function () {
|
||||
return !this.twitterLoggined() && !this.twitterActions();
|
||||
});
|
||||
|
||||
this.disconnectTwitter = Utils.createCommand(this, function () {
|
||||
RL.twitterDisconnect();
|
||||
App.twitterDisconnect();
|
||||
});
|
||||
}
|
||||
|
|
@ -8,13 +8,14 @@
|
|||
window = require('window'),
|
||||
$ = require('$'),
|
||||
ko = require('ko'),
|
||||
_ = require('_'),
|
||||
|
||||
Enums = require('Enums'),
|
||||
Utils = require('Utils'),
|
||||
LinkBuilder = require('LinkBuilder'),
|
||||
|
||||
Data = require('../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../Storages/WebMailAjaxRemoteStorage.js')
|
||||
Data = require('../../Storages/WebMailDataStorage.js'),
|
||||
Remote = require('../../Storages/WebMailAjaxRemoteStorage.js')
|
||||
;
|
||||
|
||||
/**
|
|
@ -63,9 +63,9 @@
|
|||
|
||||
if (Consts.Values.TokenErrorLimit < Globals.iTokenErrorCount)
|
||||
{
|
||||
if (Globals.__RL)
|
||||
if (Globals.__APP)
|
||||
{
|
||||
Globals.__RL.loginAndLogoutReload(true);
|
||||
Globals.__APP.loginAndLogoutReload(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -76,9 +76,9 @@
|
|||
window.__rlah_clear();
|
||||
}
|
||||
|
||||
if (Globals.__RL)
|
||||
if (Globals.__APP)
|
||||
{
|
||||
Globals.__RL.loginAndLogoutReload(true);
|
||||
Globals.__APP.loginAndLogoutReload(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -381,9 +381,9 @@
|
|||
}
|
||||
else if (Data.useThreads())
|
||||
{
|
||||
if (Globals.__RL)
|
||||
if (Globals.__APP)
|
||||
{
|
||||
Globals.__RL.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
Globals.__APP.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -325,9 +325,9 @@
|
|||
if (Enums.Layout.NoPreview === this.layout() &&
|
||||
-1 < window.location.hash.indexOf('message-preview'))
|
||||
{
|
||||
if (Globals.__RL)
|
||||
if (Globals.__APP)
|
||||
{
|
||||
Globals.__RL.historyBack();
|
||||
Globals.__APP.historyBack();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -925,9 +925,9 @@
|
|||
Cache.initMessageFlagsFromCache(oMessage);
|
||||
if (oMessage.unseen())
|
||||
{
|
||||
if (Globals.__RL)
|
||||
if (Globals.__APP)
|
||||
{
|
||||
Globals.__RL.setMessageSeen(oMessage);
|
||||
Globals.__APP.setMessageSeen(oMessage);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -89,14 +89,14 @@
|
|||
|
||||
AbstractSystemDropDownViewModel.prototype.logoutClick = function ()
|
||||
{
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
Remote.logout(function () {
|
||||
if (window.__rlah_clear)
|
||||
{
|
||||
window.__rlah_clear();
|
||||
}
|
||||
|
||||
RL.loginAndLogoutReload(true, AppSettings.settingsGet('ParentEmail') && 0 < AppSettings.settingsGet('ParentEmail').length);
|
||||
App.loginAndLogoutReload(true, AppSettings.settingsGet('ParentEmail') && 0 < AppSettings.settingsGet('ParentEmail').length);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -64,8 +64,8 @@
|
|||
{
|
||||
if (oData.Result)
|
||||
{
|
||||
var RL = require('../Boots/AdminApp.js');
|
||||
RL.loginAndLogoutReload();
|
||||
var App = require('../Apps/AdminApp.js');
|
||||
App.loginAndLogoutReload();
|
||||
}
|
||||
else if (oData.ErrorCode)
|
||||
{
|
||||
|
|
|
@ -36,8 +36,8 @@
|
|||
AdminPaneViewModel.prototype.logoutClick = function ()
|
||||
{
|
||||
Remote.adminLogout(function () {
|
||||
var RL = require('../Boots/AdminApp.js');
|
||||
RL.loginAndLogoutReload();
|
||||
var App = require('../Apps/AdminApp.js');
|
||||
App.loginAndLogoutReload();
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -133,8 +133,8 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
RL.loginAndLogoutReload();
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
App.loginAndLogoutReload();
|
||||
}
|
||||
}
|
||||
else if (oData.ErrorCode)
|
||||
|
@ -294,8 +294,8 @@
|
|||
{
|
||||
self.submitRequest(true);
|
||||
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
RL.loginAndLogoutReload();
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
App.loginAndLogoutReload();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
|
||||
var
|
||||
self = this,
|
||||
RL = require('../Boots/RainLoopApp.js')
|
||||
App = require('../Apps/RainLoopApp.js')
|
||||
;
|
||||
|
||||
oDom
|
||||
|
@ -76,7 +76,7 @@
|
|||
if (oFolder && oEvent)
|
||||
{
|
||||
bCollapsed = oFolder.collapsed();
|
||||
RL.setExpandedFolder(oFolder.fullNameHash, bCollapsed);
|
||||
App.setExpandedFolder(oFolder.fullNameHash, bCollapsed);
|
||||
|
||||
oFolder.collapsed(!bCollapsed);
|
||||
oEvent.preventDefault();
|
||||
|
@ -159,7 +159,7 @@
|
|||
if (oFolder)
|
||||
{
|
||||
bCollapsed = oFolder.collapsed();
|
||||
RL.setExpandedFolder(oFolder.fullNameHash, bCollapsed);
|
||||
App.setExpandedFolder(oFolder.fullNameHash, bCollapsed);
|
||||
oFolder.collapsed(!bCollapsed);
|
||||
}
|
||||
}
|
||||
|
@ -186,10 +186,10 @@
|
|||
window.clearTimeout(this.iDropOverTimer);
|
||||
if (oFolder && oFolder.collapsed())
|
||||
{
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
this.iDropOverTimer = window.setTimeout(function () {
|
||||
oFolder.collapsed(false);
|
||||
RL.setExpandedFolder(oFolder.fullNameHash, true);
|
||||
App.setExpandedFolder(oFolder.fullNameHash, true);
|
||||
Utils.windowResize();
|
||||
}, 500);
|
||||
}
|
||||
|
@ -242,7 +242,7 @@
|
|||
if (oToFolder && oUi && oUi.helper)
|
||||
{
|
||||
var
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
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,7 +250,7 @@
|
|||
|
||||
if (Utils.isNormal(sFromFolderFullNameRaw) && '' !== sFromFolderFullNameRaw && Utils.isArray(aUids))
|
||||
{
|
||||
RL.moveMessagesToFolder(sFromFolderFullNameRaw, aUids, oToFolder.fullNameRaw, bCopy);
|
||||
App.moveMessagesToFolder(sFromFolderFullNameRaw, aUids, oToFolder.fullNameRaw, bCopy);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
*/
|
||||
function MailBoxMessageListViewModel()
|
||||
{
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
|
||||
KnoinAbstractViewModel.call(this, 'Right', 'MailMessageList');
|
||||
|
||||
|
@ -183,31 +183,31 @@
|
|||
}, this.canBeMoved);
|
||||
|
||||
this.deleteWithoutMoveCommand = Utils.createCommand(this, function () {
|
||||
RL.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), false);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.deleteCommand = Utils.createCommand(this, function () {
|
||||
RL.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.archiveCommand = Utils.createCommand(this, function () {
|
||||
RL.deleteMessagesFromFolder(Enums.FolderType.Archive,
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Archive,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.spamCommand = Utils.createCommand(this, function () {
|
||||
RL.deleteMessagesFromFolder(Enums.FolderType.Spam,
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Spam,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.notSpamCommand = Utils.createCommand(this, function () {
|
||||
RL.deleteMessagesFromFolder(Enums.FolderType.NotSpam,
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.NotSpam,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
@ -217,7 +217,7 @@
|
|||
this.reloadCommand = Utils.createCommand(this, function () {
|
||||
if (!Data.messageListCompleteLoadingThrottle())
|
||||
{
|
||||
RL.reloadMessageList(false, true);
|
||||
App.reloadMessageList(false, true);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -307,8 +307,8 @@
|
|||
{
|
||||
if (this.canBeMoved())
|
||||
{
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
RL.moveMessagesToFolder(
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
App.moveMessagesToFolder(
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), sToFolderFullNameRaw, bCopy);
|
||||
}
|
||||
|
@ -396,7 +396,7 @@
|
|||
aUids = [],
|
||||
oFolder = null,
|
||||
iAlreadyUnread = 0,
|
||||
RL = require('../Boots/RainLoopApp.js')
|
||||
App = require('../Apps/RainLoopApp.js')
|
||||
;
|
||||
|
||||
if (Utils.isUnd(aMessages))
|
||||
|
@ -464,7 +464,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
RL.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
App.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -477,7 +477,7 @@
|
|||
var
|
||||
oFolder = null,
|
||||
aMessages = Data.messageList(),
|
||||
RL = require('../Boots/RainLoopApp.js')
|
||||
App = require('../Apps/RainLoopApp.js')
|
||||
;
|
||||
|
||||
if ('' !== sFolderFullNameRaw)
|
||||
|
@ -516,7 +516,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
RL.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
App.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -631,7 +631,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
RL = require('../Boots/RainLoopApp.js')
|
||||
App = require('../Apps/RainLoopApp.js')
|
||||
;
|
||||
|
||||
this.oContentVisible = $('.b-content', oDom);
|
||||
|
@ -663,7 +663,7 @@
|
|||
oMessage.lastInCollapsedThreadLoading(true);
|
||||
oMessage.lastInCollapsedThread(!oMessage.lastInCollapsedThread());
|
||||
|
||||
RL.reloadMessageList();
|
||||
App.reloadMessageList();
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -894,8 +894,7 @@
|
|||
}
|
||||
|
||||
var
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
oJua = new Jua({
|
||||
oJua = new Jua({
|
||||
'action': LinkBuilder.append(),
|
||||
'name': 'AppendFile',
|
||||
'queueSize': 1,
|
||||
|
@ -934,7 +933,7 @@
|
|||
return false;
|
||||
}, this))
|
||||
.on('onComplete', _.bind(function () {
|
||||
RL.reloadMessageList(true, true);
|
||||
require('../Apps/RainLoopApp.js').reloadMessageList(true, true);
|
||||
}, this))
|
||||
;
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
var
|
||||
self = this,
|
||||
sLastEmail = '',
|
||||
RL = require('../Boots/RainLoopApp.js'),
|
||||
App = require('../Apps/RainLoopApp.js'),
|
||||
createCommandHelper = function (sType) {
|
||||
return Utils.createCommand(self, function () {
|
||||
this.replyOrforward(sType);
|
||||
|
@ -102,7 +102,7 @@
|
|||
this.deleteCommand = Utils.createCommand(this, function () {
|
||||
if (this.message())
|
||||
{
|
||||
RL.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
this.message().folderFullNameRaw,
|
||||
[this.message().uid], true);
|
||||
}
|
||||
|
@ -111,7 +111,7 @@
|
|||
this.deleteWithoutMoveCommand = Utils.createCommand(this, function () {
|
||||
if (this.message())
|
||||
{
|
||||
RL.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
[this.message().uid], false);
|
||||
}
|
||||
|
@ -120,7 +120,7 @@
|
|||
this.archiveCommand = Utils.createCommand(this, function () {
|
||||
if (this.message())
|
||||
{
|
||||
RL.deleteMessagesFromFolder(Enums.FolderType.Archive,
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Archive,
|
||||
this.message().folderFullNameRaw,
|
||||
[this.message().uid], true);
|
||||
}
|
||||
|
@ -129,7 +129,7 @@
|
|||
this.spamCommand = Utils.createCommand(this, function () {
|
||||
if (this.message())
|
||||
{
|
||||
RL.deleteMessagesFromFolder(Enums.FolderType.Spam,
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.Spam,
|
||||
this.message().folderFullNameRaw,
|
||||
[this.message().uid], true);
|
||||
}
|
||||
|
@ -138,7 +138,7 @@
|
|||
this.notSpamCommand = Utils.createCommand(this, function () {
|
||||
if (this.message())
|
||||
{
|
||||
RL.deleteMessagesFromFolder(Enums.FolderType.NotSpam,
|
||||
App.deleteMessagesFromFolder(Enums.FolderType.NotSpam,
|
||||
this.message().folderFullNameRaw,
|
||||
[this.message().uid], true);
|
||||
}
|
||||
|
@ -343,7 +343,7 @@
|
|||
{
|
||||
var
|
||||
self = this,
|
||||
RL = require('../Boots/RainLoopApp.js')
|
||||
App = require('../Apps/RainLoopApp.js')
|
||||
;
|
||||
|
||||
this.fullScreenMode.subscribe(function (bValue) {
|
||||
|
@ -382,7 +382,7 @@
|
|||
})
|
||||
.on('click', 'a', function (oEvent) {
|
||||
// setup maito protocol
|
||||
return !(!!oEvent && 3 !== oEvent['which'] && RL.mailToHelper($(this).attr('href')));
|
||||
return !(!!oEvent && 3 !== oEvent['which'] && App.mailToHelper($(this).attr('href')));
|
||||
})
|
||||
.on('click', '.attachmentsPlace .attachmentPreview', function (oEvent) {
|
||||
if (oEvent && oEvent.stopPropagation)
|
||||
|
@ -398,7 +398,7 @@
|
|||
|
||||
if (oAttachment && oAttachment.download)
|
||||
{
|
||||
RL.download(oAttachment.linkDownload());
|
||||
App.download(oAttachment.linkDownload());
|
||||
}
|
||||
})
|
||||
;
|
||||
|
@ -713,8 +713,8 @@
|
|||
|
||||
Cache.storeMessageFlagsToCache(oMessage);
|
||||
|
||||
var RL = require('../Boots/RainLoopApp.js');
|
||||
RL.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
var App = require('../Apps/RainLoopApp.js');
|
||||
App.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsAddAccount');
|
||||
|
||||
var RL = require('../../Boots/RainLoopApp.js');
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.email = ko.observable('');
|
||||
this.password = ko.observable('');
|
||||
|
@ -65,7 +65,7 @@
|
|||
{
|
||||
if (oData.Result)
|
||||
{
|
||||
RL.accountsAndIdentities();
|
||||
App.accountsAndIdentities();
|
||||
this.cancelCommand();
|
||||
}
|
||||
else if (oData.ErrorCode)
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsAddOpenPgpKey');
|
||||
|
||||
var RL = require('../../Boots/RainLoopApp.js');
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.key = ko.observable('');
|
||||
this.key.error = ko.observable(false);
|
||||
|
@ -79,7 +79,7 @@
|
|||
|
||||
oOpenpgpKeyring.store();
|
||||
|
||||
RL.reloadOpenPgpKeys();
|
||||
App.reloadOpenPgpKeys();
|
||||
Utils.delegateRun(this, 'cancelCommand');
|
||||
|
||||
return true;
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsCompose');
|
||||
|
||||
var RL = require('../../Boots/RainLoopApp.js');
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.oEditor = null;
|
||||
this.aDraftInfo = null;
|
||||
|
@ -219,7 +219,7 @@
|
|||
|
||||
this.deleteCommand = Utils.createCommand(this, function () {
|
||||
|
||||
RL.deleteMessagesFromFolderWithoutCheck(this.draftFolder(), [this.draftUid()]);
|
||||
App.deleteMessagesFromFolderWithoutCheck(this.draftFolder(), [this.draftUid()]);
|
||||
kn.hideScreenPopup(PopupsComposeViewModel);
|
||||
|
||||
}, function () {
|
||||
|
@ -278,7 +278,7 @@
|
|||
}
|
||||
|
||||
Cache.setMessageFlagsToCache(this.aDraftInfo[2], this.aDraftInfo[1], aFlagsCache);
|
||||
RL.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
App.reloadFlagsCurrentMessageListAndMessageFromCache();
|
||||
Cache.setFolderHash(this.aDraftInfo[2], '');
|
||||
}
|
||||
}
|
||||
|
@ -415,8 +415,8 @@
|
|||
|
||||
PopupsComposeViewModel.prototype.emailsSource = function (oData, fResponse)
|
||||
{
|
||||
var RL = require('../../Boots/RainLoopApp.js');
|
||||
RL.getAutocomplete(oData.term, function (aData) {
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
App.getAutocomplete(oData.term, function (aData) {
|
||||
fResponse(_.map(aData, function (oEmailItem) {
|
||||
return oEmailItem.toLine(false);
|
||||
}));
|
||||
|
@ -446,7 +446,7 @@
|
|||
PopupsComposeViewModel.prototype.reloadDraftFolder = function ()
|
||||
{
|
||||
var
|
||||
RL = require('../../Boots/RainLoopApp.js'),
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
sDraftFolder = Data.draftFolder()
|
||||
;
|
||||
|
||||
|
@ -455,11 +455,11 @@
|
|||
Cache.setFolderHash(sDraftFolder, '');
|
||||
if (Data.currentFolderFullNameRaw() === sDraftFolder)
|
||||
{
|
||||
RL.reloadMessageList(true);
|
||||
App.reloadMessageList(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
RL.folderInformation(sDraftFolder);
|
||||
App.folderInformation(sDraftFolder);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -353,10 +353,10 @@
|
|||
|
||||
var
|
||||
self = this,
|
||||
RL = require('../../Boots/RainLoopApp.js')
|
||||
App = require('../../Apps/RainLoopApp.js')
|
||||
;
|
||||
|
||||
RL.contactsSync(function (sResult, oData) {
|
||||
App.contactsSync(function (sResult, oData) {
|
||||
if (Enums.StorageResultType.Success !== sResult || !oData || !oData.Result)
|
||||
{
|
||||
window.alert(Utils.getNotification(
|
||||
|
@ -401,8 +401,8 @@
|
|||
|
||||
PopupsContactsViewModel.prototype.contactTagsSource = function (oData, fResponse)
|
||||
{
|
||||
var RL = require('../../Boots/RainLoopApp.js');
|
||||
RL.getContactTagsAutocomplete(oData.term, function (aData) {
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
App.getContactTagsAutocomplete(oData.term, function (aData) {
|
||||
fResponse(_.map(aData, function (oTagItem) {
|
||||
return oTagItem.toLine(false);
|
||||
}));
|
||||
|
@ -487,14 +487,14 @@
|
|||
|
||||
PopupsContactsViewModel.prototype.exportVcf = function ()
|
||||
{
|
||||
var RL = require('../../Boots/RainLoopApp.js');
|
||||
RL.download(LinkBuilder.exportContactsVcf());
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
App.download(LinkBuilder.exportContactsVcf());
|
||||
};
|
||||
|
||||
PopupsContactsViewModel.prototype.exportCsv = function ()
|
||||
{
|
||||
var RL = require('../../Boots/RainLoopApp.js');
|
||||
RL.download(LinkBuilder.exportContactsCsv());
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
App.download(LinkBuilder.exportContactsCsv());
|
||||
};
|
||||
|
||||
PopupsContactsViewModel.prototype.initUploader = function ()
|
||||
|
|
|
@ -235,8 +235,8 @@
|
|||
{
|
||||
if (oData.Result)
|
||||
{
|
||||
var RL = require('../../Boots/AdminApp.js');
|
||||
RL.reloadDomainList();
|
||||
var App = require('../../Apps/AdminApp.js');
|
||||
App.reloadDomainList();
|
||||
|
||||
this.closeCommand();
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsFolderClear');
|
||||
|
||||
var RL = require('../../Boots/RainLoopApp.js');
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.selectedFolder = ko.observable(null);
|
||||
this.clearingProcess = ko.observable(false);
|
||||
|
@ -62,13 +62,17 @@
|
|||
|
||||
this.clearingProcess(true);
|
||||
|
||||
oFolderToClear.messageCountAll(0);
|
||||
oFolderToClear.messageCountUnread(0);
|
||||
|
||||
Cache.setFolderHash(oFolderToClear.fullNameRaw, '');
|
||||
|
||||
Remote.folderClear(function (sResult, oData) {
|
||||
|
||||
self.clearingProcess(false);
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
RL.reloadMessageList(true);
|
||||
App.reloadMessageList(true);
|
||||
self.cancelCommand();
|
||||
}
|
||||
else
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
this.createFolder = Utils.createCommand(this, function () {
|
||||
|
||||
var
|
||||
RL = require('../../Boots/RainLoopApp.js'),
|
||||
App = require('../../Apps/RainLoopApp.js'),
|
||||
sParentFolderName = this.selectedParentValue()
|
||||
;
|
||||
|
||||
|
@ -80,7 +80,7 @@
|
|||
Data.foldersCreating(false);
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
RL.folders();
|
||||
App.folders();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsGenerateNewOpenPgpKey');
|
||||
|
||||
var RL = require('../../Boots/RainLoopApp.js');
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.email = ko.observable('');
|
||||
this.email.focus = ko.observable('');
|
||||
|
@ -78,7 +78,7 @@
|
|||
oOpenpgpKeyring.publicKeys.importKey(mKeyPair.publicKeyArmored);
|
||||
oOpenpgpKeyring.store();
|
||||
|
||||
RL.reloadOpenPgpKeys();
|
||||
App.reloadOpenPgpKeys();
|
||||
Utils.delegateRun(self, 'cancelCommand');
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
{
|
||||
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsIdentity');
|
||||
|
||||
var RL = require('../../Boots/RainLoopApp.js');
|
||||
var App = require('../../Apps/RainLoopApp.js');
|
||||
|
||||
this.id = '';
|
||||
this.edit = ko.observable(false);
|
||||
|
@ -85,7 +85,7 @@
|
|||
{
|
||||
if (oData.Result)
|
||||
{
|
||||
RL.accountsAndIdentities();
|
||||
App.accountsAndIdentities();
|
||||
this.cancelCommand();
|
||||
}
|
||||
else if (oData.ErrorCode)
|
||||
|
|
|
@ -141,7 +141,7 @@ cfg.paths.js = {
|
|||
name: 'libs.js',
|
||||
src: [
|
||||
'vendors/modernizr.js',
|
||||
'vendors/underscore/underscore-1.5.2.min.js',
|
||||
'vendors/underscore/1.6.0/underscore-min.js',
|
||||
'vendors/jquery/jquery-1.11.1.min.js',
|
||||
'vendors/jquery-ui/js/jquery-ui-1.10.3.custom.min.js',
|
||||
'vendors/jquery-cookie/jquery.cookie-1.4.0.min.js',
|
||||
|
@ -234,10 +234,10 @@ gulp.task('js:libs', function() {
|
|||
gulp.task('js:app', function() {
|
||||
return browserify({
|
||||
'basedir': './dev/',
|
||||
'entries': './RainLoop.js',
|
||||
'detectGlobals': false,
|
||||
'debug': false
|
||||
})
|
||||
.add('./_RainLoopBoot.js')
|
||||
.bundle()
|
||||
.pipe(source(cfg.paths.js.app.name))
|
||||
.pipe(gulp.dest(cfg.paths.staticJS))
|
||||
|
@ -247,10 +247,10 @@ gulp.task('js:app', function() {
|
|||
gulp.task('js:admin', function() {
|
||||
return browserify({
|
||||
'basedir': './dev/',
|
||||
'entries': './Admin.js',
|
||||
'detectGlobals': false,
|
||||
'debug': false
|
||||
})
|
||||
.add('./_AdminBoot.js')
|
||||
.bundle()
|
||||
.pipe(source(cfg.paths.js.admin.name))
|
||||
.pipe(gulp.dest(cfg.paths.staticJS))
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
"$html": "./dev/External/$html.js",
|
||||
"$doc": "./dev/External/$doc.js",
|
||||
"$div": "./dev/External/$div.js",
|
||||
|
||||
|
||||
"Base64": "./dev/Common/Base64.js",
|
||||
"Consts": "./dev/Common/Consts.js",
|
||||
"Globals": "./dev/Common/Globals.js",
|
||||
|
@ -77,8 +77,7 @@
|
|||
"KnoinAbstractBoot": "./dev/Knoin/KnoinAbstractBoot.js",
|
||||
"KnoinAbstractScreen": "./dev/Knoin/KnoinAbstractScreen.js",
|
||||
"KnoinAbstractViewModel": "./dev/Knoin/KnoinAbstractViewModel.js",
|
||||
"kn": "./dev/Knoin/Knoin.js",
|
||||
"Boot": "./dev/Boots/Boot.js"
|
||||
"kn": "./dev/Knoin/Knoin.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
|
|
|
@ -195,15 +195,63 @@ class ImapClient extends \MailSo\Net\NetClient
|
|||
|
||||
try
|
||||
{
|
||||
if ($bUseAuthPlainIfSupported && $this->IsSupported('AUTH=PLAIN'))
|
||||
// TODO
|
||||
if (false && $this->IsSupported('AUTH=CRAM-MD5'))
|
||||
{
|
||||
$this->SendRequest('AUTHENTICATE', array('CRAM-MD5'));
|
||||
|
||||
$aResponse = $this->parseResponseWithValidation();
|
||||
if ($aResponse && \is_array($aResponse) && 0 < \count($aResponse) &&
|
||||
\MailSo\Imap\Enumerations\ResponseType::CONTINUATION === $aResponse[\count($aResponse) - 1]->ResponseType)
|
||||
{
|
||||
$oContinuationResponse = null;
|
||||
foreach ($aResponse as $oResponse)
|
||||
{
|
||||
if ($oResponse && \MailSo\Imap\Enumerations\ResponseType::CONTINUATION === $oResponse->ResponseType)
|
||||
{
|
||||
$oContinuationResponse = $oResponse;
|
||||
}
|
||||
}
|
||||
|
||||
if ($oContinuationResponse)
|
||||
{
|
||||
$sToken = \base64_encode("\0".$sLogin."\0".$sPassword);
|
||||
if ($this->oLogger)
|
||||
{
|
||||
$this->oLogger->AddSecret($sToken);
|
||||
}
|
||||
|
||||
$this->Logger()->WriteDump($aResponse);
|
||||
|
||||
$this->sendRaw($sToken, true, '*******');
|
||||
$this->parseResponseWithValidation();
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ($bUseAuthPlainIfSupported && $this->IsSupported('AUTH=PLAIN'))
|
||||
{
|
||||
$sToken = \base64_encode("\0".$sLogin."\0".$sPassword);
|
||||
if ($this->oLogger)
|
||||
{
|
||||
$this->oLogger->AddSecret(\base64_encode("\0".$sLogin."\0".$sPassword));
|
||||
$this->oLogger->AddSecret($sToken);
|
||||
}
|
||||
|
||||
$this->SendRequestWithCheck('AUTHENTICATE',
|
||||
array('PLAIN', \base64_encode("\0".$sLogin."\0".$sPassword)));
|
||||
if ($this->IsSupported('AUTH=SASL-IR') && false)
|
||||
{
|
||||
$this->SendRequestWithCheck('AUTHENTICATE', array('PLAIN', $sToken));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->SendRequest('AUTHENTICATE', array('PLAIN'));
|
||||
$this->parseResponseWithValidation();
|
||||
|
||||
$this->sendRaw($sToken, true, '*******');
|
||||
$this->parseResponseWithValidation();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -423,8 +423,17 @@ abstract class NetClient
|
|||
$iReadedLen = \strlen($this->sResponseBuffer);
|
||||
if (null === $mReadLen || $bForceLogin)
|
||||
{
|
||||
$this->writeLogWithCrlf('< '.$this->sResponseBuffer, //.' ['.$iReadedLen.']',
|
||||
\MailSo\Log\Enumerations\Type::INFO);
|
||||
$iLimit = 5000; // 5kb
|
||||
if ($iLimit < $iReadedLen)
|
||||
{
|
||||
$this->writeLogWithCrlf('[cutted:'.$iReadedLen.'b] < '.\substr($this->sResponseBuffer.'...', 0, $iLimit),
|
||||
\MailSo\Log\Enumerations\Type::INFO);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->writeLogWithCrlf('< '.$this->sResponseBuffer, //.' ['.$iReadedLen.']',
|
||||
\MailSo\Log\Enumerations\Type::INFO);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
<meta http-equiv="refresh" content="0; URL=./?/BadBrowser" />
|
||||
<![endif]-->
|
||||
<script type="text/javascript" data-cfasync="false">
|
||||
if (!navigator || !navigator.cookieEnabled) {
|
||||
document.location.replace('./?/NoCookie');
|
||||
if (!window.navigator || !window.navigator.cookieEnabled) {
|
||||
window.document.location.replace('./?/NoCookie');
|
||||
}
|
||||
</script>
|
||||
<meta name="Author" content="RainLoop Team" />
|
||||
|
@ -26,11 +26,11 @@
|
|||
<link type="text/css" rel="stylesheet" id="rlThemeLink" />
|
||||
<script type="text/javascript" data-cfasync="false" src="{{BaseAppBootScriptLink}}"></script>
|
||||
<script type="text/javascript" data-cfasync="false">
|
||||
__includeScr('{{BaseAppDataScriptLink}}' + (window.__rlah ? window.__rlah() || '0' : '0') + '/' + Math.random().toString().substr(2) + '/');
|
||||
__includeScr('{{BaseAppDataScriptLink}}' + (window.__rlah ? window.__rlah() || '0' : '0') + '/' + window.Math.random().toString().substr(2) + '/');
|
||||
</script>
|
||||
<script type="text/javascript" data-cfasync="false">
|
||||
if (window.rainloopAppData && window.rainloopAppData['NewThemeLink']) {
|
||||
document.getElementById('rlThemeLink').href = window.rainloopAppData['NewThemeLink'];
|
||||
window.document.getElementById('rlThemeLink').href = window.rainloopAppData['NewThemeLink'];
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
@ -45,7 +45,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" data-cfasync="false">
|
||||
var oE = document.getElementById('rl-loading');
|
||||
var oE = window.document.getElementById('rl-loading');
|
||||
if (oE && oE.style) {
|
||||
oE.style.opacity = 0;
|
||||
window.setTimeout(function () {
|
||||
|
|
|
@ -637,7 +637,7 @@
|
|||
border-radius: 8px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*! normalize.css 2012-03-11T12:53 UTC - http://github.com/necolas/normalize.css */
|
||||
|
||||
/* =============================================================================
|
||||
|
@ -1142,7 +1142,7 @@ table {
|
|||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
|
||||
@charset "UTF-8";
|
||||
|
||||
@font-face {
|
||||
|
@ -1513,7 +1513,7 @@ table {
|
|||
.icon-resize-out:before {
|
||||
content: "\e06d";
|
||||
}
|
||||
|
||||
|
||||
/** initial setup **/
|
||||
.nano {
|
||||
/*
|
||||
|
@ -1630,7 +1630,7 @@ table {
|
|||
.nano > .pane2:hover > .slider2, .nano > .pane2.active > .slider2 {
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
|
||||
/* Magnific Popup CSS */
|
||||
.mfp-bg {
|
||||
top: 0;
|
||||
|
@ -1995,7 +1995,7 @@ img.mfp-img {
|
|||
right: 0;
|
||||
padding-top: 0; }
|
||||
|
||||
|
||||
|
||||
|
||||
/* overlay at start */
|
||||
.mfp-fade.mfp-bg {
|
||||
|
@ -2041,7 +2041,7 @@ img.mfp-img {
|
|||
-moz-transform: translateX(50px);
|
||||
transform: translateX(50px);
|
||||
}
|
||||
|
||||
|
||||
.simple-pace {
|
||||
-webkit-pointer-events: none;
|
||||
pointer-events: none;
|
||||
|
@ -2112,7 +2112,7 @@ img.mfp-img {
|
|||
@keyframes simple-pace-stripe-animation {
|
||||
0% { transform: none; transform: none; }
|
||||
100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }
|
||||
}
|
||||
}
|
||||
.inputosaurus-container {
|
||||
background-color:#fff;
|
||||
border:1px solid #bcbec0;
|
||||
|
@ -2180,7 +2180,7 @@ img.mfp-img {
|
|||
box-shadow:none;
|
||||
}
|
||||
.inputosaurus-input-hidden { display:none; }
|
||||
|
||||
|
||||
.flag-wrapper {
|
||||
width: 24px;
|
||||
height: 16px;
|
||||
|
@ -2226,7 +2226,7 @@ img.mfp-img {
|
|||
.flag.flag-pt-br {background-position: -192px -11px}
|
||||
|
||||
.flag.flag-cn, .flag.flag-zh-tw, .flag.flag-zh-cn, .flag.flag-zh-hk {background-position: -208px -22px}
|
||||
|
||||
|
||||
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
|
||||
.clearfix {
|
||||
*zoom: 1;
|
||||
|
|
File diff suppressed because it is too large
Load diff
12
rainloop/v/0.0.0/static/js/admin.min.js
vendored
12
rainloop/v/0.0.0/static/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
16
rainloop/v/0.0.0/static/js/app.min.js
vendored
16
rainloop/v/0.0.0/static/js/app.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -5,4 +5,4 @@ var JSON;JSON||(JSON={}),function(){function str(a,b){var c,d,e,f,g=gap,h,i=b[a]
|
|||
/*! RainLoop Simple Pace v1.0 (c) 2013 RainLoop Team; Licensed under MIT */
|
||||
!function(e){function s(){var s=this;s.el=null,s.done=!1,s.progress=0,s.addInterval=0,s.addSpeed=3,s.stopProgress=100,s.interval=e.setInterval(function(){var t=s.build();t&&e.clearInterval(s.interval)},100)}if(s.prototype.startAddInterval=function(){var s=this;s.stopAddInterval(),s.addInterval=e.setInterval(function(){0<s.progress&&s.stopProgress>s.progress&&s.add(s.addSpeed)},500)},s.prototype.stopAddInterval=function(){e.clearInterval(this.addInterval),this.addInterval=0},s.prototype.build=function(){if(null===this.el){var e=document.querySelector("body");e&&(this.el=document.createElement("div"),this.el.className="simple-pace simple-pace-active",this.el.innerHTML='<div class="simple-pace-progress"><div class="simple-pace-progress-inner"></div></div><div class="simple-pace-activity"></div>',e.firstChild?e.insertBefore(this.el,e.firstChild):e.appendChild(this.el))}return this.el},s.prototype.reset=function(){return this.progress=0,this.render()},s.prototype.update=function(s){var t=e.parseInt(s,10);return t>this.progress&&(this.progress=t,this.progress=100<this.progress?100:this.progress,this.progress=0>this.progress?0:this.progress),this.render()},s.prototype.add=function(s){return this.progress+=e.parseInt(s,10),this.progress=100<this.progress?100:this.progress,this.progress=0>this.progress?0:this.progress,this.render()},s.prototype.setSpeed=function(e,s){this.addSpeed=e,this.stopProgress=s||100},s.prototype.render=function(){var s=this.build();s&&s.children&&s.children[0]&&s.children[0].setAttribute("style","width:"+this.progress+"%"),100!==this.progress||this.done?100>this.progress&&this.done?(this.done=!1,this.startAddInterval(),s.className=s.className.replace("simple-pace-inactive",""),s.className+=" simple-pace-inactive"):100>this.progress&&!this.done&&0===this.addInterval&&this.startAddInterval():(this.done=!0,this.stopAddInterval(),e.setTimeout(function(){s.className=s.className.replace("simple-pace-active",""),s.className+=" simple-pace-inactive"},500))},!e.SimplePace){var t=new s;e.SimplePace={sleep:function(){t.setSpeed(2,95)},set:function(e){t.update(e)},add:function(e){t.add(e)}}}}(window);
|
||||
/*! RainLoop Index Helper v1.1 (c) 2014 RainLoop Team; Licensed under MIT */
|
||||
!function(t,n){function e(){}e.prototype.s=t.sessionStorage,e.prototype.t=t.top||t,e.prototype.getHash=function(){var t=null;if(this.s)t=this.s.getItem("__rlA")||null;else if(this.t){var e=this.t.name&&n&&"{"===this.t.name.toString().substr(0,1)?n.parse(this.t.name.toString()):null;t=e?e.__rlA||null:null}return t},e.prototype.setHash=function(){var e=t.rainloopAppData,s=null;this.s?this.s.setItem("__rlA",e&&e.AuthAccountHash?e.AuthAccountHash:""):this.t&&n&&(s={},s.__rlA=e&&e.AuthAccountHash?e.AuthAccountHash:"",this.t.name=n.stringify(s))},e.prototype.clearHash=function(){this.s?this.s.setItem("__rlA",""):this.t&&(this.t.name="")},t._rlhh=new e,t.__rlah=function(){return t._rlhh?t._rlhh.getHash():null},t.__rlah_set=function(){t._rlhh&&t._rlhh.setHash()},t.__rlah_clear=function(){t._rlhh&&t._rlhh.clearHash()},t.__includeScr=function(t){document.write(unescape('%3Cscript data-cfasync="false" type="text/javascript" src="'+t+'"%3E%3C/script%3E'))},t.__showError=function(){var n=document.getElementById("rl-loading"),e=document.getElementById("rl-loading-error");n&&(n.style.display="none"),e&&(e.style.display="block"),t.SimplePace&&t.SimplePace.set(100)},t.__simplePace=function(n){t.SimplePace&&t.SimplePace.add(n)},t.__runBoot=function(n){t.__RLBOOT&&!n?t.__RLBOOT(function(t){t||__showError()}):__showError()}}(window,window.JSON);
|
||||
!function(t,n,e){function s(){}s.prototype.s=t.sessionStorage,s.prototype.t=t.top||t,s.prototype.getHash=function(){var t=null;if(this.s)t=this.s.getItem("__rlA")||null;else if(this.t){var n=this.t.name&&e&&"{"===this.t.name.toString().substr(0,1)?e.parse(this.t.name.toString()):null;t=n?n.__rlA||null:null}return t},s.prototype.setHash=function(){var n=t.rainloopAppData,s=null;this.s?this.s.setItem("__rlA",n&&n.AuthAccountHash?n.AuthAccountHash:""):this.t&&e&&(s={},s.__rlA=n&&n.AuthAccountHash?n.AuthAccountHash:"",this.t.name=e.stringify(s))},s.prototype.clearHash=function(){this.s?this.s.setItem("__rlA",""):this.t&&(this.t.name="")},t._rlhh=new s,t.__rlah=function(){return t._rlhh?t._rlhh.getHash():null},t.__rlah_set=function(){t._rlhh&&t._rlhh.setHash()},t.__rlah_clear=function(){t._rlhh&&t._rlhh.clearHash()},t.__includeScr=function(t){n.write(unescape('%3Cscript data-cfasync="false" type="text/javascript" src="'+t+'"%3E%3C/script%3E'))},t.__showError=function(){var e=n.getElementById("rl-loading"),s=n.getElementById("rl-loading-error");e&&(e.style.display="none"),s&&(s.style.display="block"),t.SimplePace&&t.SimplePace.set(100)},t.__simplePace=function(n){t.SimplePace&&t.SimplePace.add(n)},t.__runBoot=function(n){t.__APP_BOOT&&!n?t.__APP_BOOT(function(t){t||__showError()}):__showError()}}(window,window.document,window.JSON);
|
File diff suppressed because one or more lines are too long
2
vendors/rl/rl-1.1.min.js
vendored
2
vendors/rl/rl-1.1.min.js
vendored
|
@ -1,2 +1,2 @@
|
|||
/*! RainLoop Index Helper v1.1 (c) 2014 RainLoop Team; Licensed under MIT */
|
||||
!function(t,n){function e(){}e.prototype.s=t.sessionStorage,e.prototype.t=t.top||t,e.prototype.getHash=function(){var t=null;if(this.s)t=this.s.getItem("__rlA")||null;else if(this.t){var e=this.t.name&&n&&"{"===this.t.name.toString().substr(0,1)?n.parse(this.t.name.toString()):null;t=e?e.__rlA||null:null}return t},e.prototype.setHash=function(){var e=t.rainloopAppData,s=null;this.s?this.s.setItem("__rlA",e&&e.AuthAccountHash?e.AuthAccountHash:""):this.t&&n&&(s={},s.__rlA=e&&e.AuthAccountHash?e.AuthAccountHash:"",this.t.name=n.stringify(s))},e.prototype.clearHash=function(){this.s?this.s.setItem("__rlA",""):this.t&&(this.t.name="")},t._rlhh=new e,t.__rlah=function(){return t._rlhh?t._rlhh.getHash():null},t.__rlah_set=function(){t._rlhh&&t._rlhh.setHash()},t.__rlah_clear=function(){t._rlhh&&t._rlhh.clearHash()},t.__includeScr=function(t){document.write(unescape('%3Cscript data-cfasync="false" type="text/javascript" src="'+t+'"%3E%3C/script%3E'))},t.__showError=function(){var n=document.getElementById("rl-loading"),e=document.getElementById("rl-loading-error");n&&(n.style.display="none"),e&&(e.style.display="block"),t.SimplePace&&t.SimplePace.set(100)},t.__simplePace=function(n){t.SimplePace&&t.SimplePace.add(n)},t.__runBoot=function(n){t.__RLBOOT&&!n?t.__RLBOOT(function(t){t||__showError()}):__showError()}}(window,window.JSON);
|
||||
!function(t,n,e){function s(){}s.prototype.s=t.sessionStorage,s.prototype.t=t.top||t,s.prototype.getHash=function(){var t=null;if(this.s)t=this.s.getItem("__rlA")||null;else if(this.t){var n=this.t.name&&e&&"{"===this.t.name.toString().substr(0,1)?e.parse(this.t.name.toString()):null;t=n?n.__rlA||null:null}return t},s.prototype.setHash=function(){var n=t.rainloopAppData,s=null;this.s?this.s.setItem("__rlA",n&&n.AuthAccountHash?n.AuthAccountHash:""):this.t&&e&&(s={},s.__rlA=n&&n.AuthAccountHash?n.AuthAccountHash:"",this.t.name=e.stringify(s))},s.prototype.clearHash=function(){this.s?this.s.setItem("__rlA",""):this.t&&(this.t.name="")},t._rlhh=new s,t.__rlah=function(){return t._rlhh?t._rlhh.getHash():null},t.__rlah_set=function(){t._rlhh&&t._rlhh.setHash()},t.__rlah_clear=function(){t._rlhh&&t._rlhh.clearHash()},t.__includeScr=function(t){n.write(unescape('%3Cscript data-cfasync="false" type="text/javascript" src="'+t+'"%3E%3C/script%3E'))},t.__showError=function(){var e=n.getElementById("rl-loading"),s=n.getElementById("rl-loading-error");e&&(e.style.display="none"),s&&(s.style.display="block"),t.SimplePace&&t.SimplePace.set(100)},t.__simplePace=function(n){t.SimplePace&&t.SimplePace.add(n)},t.__runBoot=function(n){t.__APP_BOOT&&!n?t.__APP_BOOT(function(t){t||__showError()}):__showError()}}(window,window.document,window.JSON);
|
10
vendors/rl/rl.js
vendored
10
vendors/rl/rl.js
vendored
|
@ -1,5 +1,5 @@
|
|||
/*! RainLoop Index Helper v1.1 (c) 2013 RainLoop Team; Licensed under MIT */
|
||||
(function (window, JSON) {
|
||||
/*! RainLoop Index Helper v1.2 (c) 2013 RainLoop Team; Licensed under MIT */
|
||||
(function (window, document, JSON) {
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
|
@ -85,8 +85,8 @@
|
|||
};
|
||||
|
||||
window['__runBoot'] = function (bWithError) {
|
||||
if (window.__RLBOOT && !bWithError) {
|
||||
window.__RLBOOT(function (bV) {
|
||||
if (window.__APP_BOOT && !bWithError) {
|
||||
window.__APP_BOOT(function (bV) {
|
||||
if (!bV) {
|
||||
__showError();
|
||||
}
|
||||
|
@ -96,4 +96,4 @@
|
|||
}
|
||||
};
|
||||
|
||||
}(window, window.JSON));
|
||||
}(window, window.document, window.JSON));
|
||||
|
|
5
vendors/underscore/1.6.0/underscore-min.js
vendored
Normal file
5
vendors/underscore/1.6.0/underscore-min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
vendors/underscore/1.6.0/underscore-min.map
vendored
Normal file
1
vendors/underscore/1.6.0/underscore-min.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1343
vendors/underscore/1.6.0/underscore.js
vendored
Normal file
1343
vendors/underscore/1.6.0/underscore.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
9
vendors/underscore/CONTRIBUTING.md
vendored
9
vendors/underscore/CONTRIBUTING.md
vendored
|
@ -1,9 +0,0 @@
|
|||
## How to contribute to Underscore.js
|
||||
|
||||
* Before you open a ticket or send a pull request, [search](https://github.com/jashkenas/underscore/issues) for previous discussions about the same feature or issue. Add to the earlier ticket if you find one.
|
||||
|
||||
* Before sending a pull request for a feature, be sure to have [tests](http://underscorejs.org/test/).
|
||||
|
||||
* Use the same coding style as the rest of the [codebase](https://github.com/jashkenas/underscore/blob/master/underscore.js).
|
||||
|
||||
* In your pull request, do not add documentation or re-build the minified `underscore-min.js` file. We'll do those things before cutting a new release.
|
22
vendors/underscore/README.md
vendored
22
vendors/underscore/README.md
vendored
|
@ -1,22 +0,0 @@
|
|||
__
|
||||
/\ \ __
|
||||
__ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____
|
||||
/\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\
|
||||
\ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\
|
||||
\ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/
|
||||
\/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/
|
||||
\ \____/
|
||||
\/___/
|
||||
|
||||
Underscore.js is a utility-belt library for JavaScript that provides
|
||||
support for the usual functional suspects (each, map, reduce, filter...)
|
||||
without extending any core JavaScript objects.
|
||||
|
||||
For Docs, License, Tests, and pre-packed downloads, see:
|
||||
http://underscorejs.org
|
||||
|
||||
Underscore is an open-sourced component of DocumentCloud:
|
||||
https://github.com/documentcloud
|
||||
|
||||
Many thanks to our contributors:
|
||||
https://github.com/jashkenas/underscore/contributors
|
6
vendors/underscore/bower.json
vendored
6
vendors/underscore/bower.json
vendored
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"name": "underscore",
|
||||
"version": "1.5.2",
|
||||
"main": "underscore.js",
|
||||
"ignore" : ["underscore-min.js", "docs", "test", "*.yml", "*.map"]
|
||||
}
|
10
vendors/underscore/component.json
vendored
10
vendors/underscore/component.json
vendored
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"name" : "underscore",
|
||||
"description" : "JavaScript's functional programming helper library.",
|
||||
"keywords" : ["util", "functional", "server", "client", "browser"],
|
||||
"repo" : "jashkenas/underscore",
|
||||
"main" : "underscore.js",
|
||||
"scripts" : ["underscore.js"],
|
||||
"version" : "1.5.2",
|
||||
"license" : "MIT"
|
||||
}
|
25
vendors/underscore/package.json
vendored
25
vendors/underscore/package.json
vendored
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
"name" : "underscore",
|
||||
"description" : "JavaScript's functional programming helper library.",
|
||||
"homepage" : "http://underscorejs.org",
|
||||
"keywords" : ["util", "functional", "server", "client", "browser"],
|
||||
"author" : "Jeremy Ashkenas <jeremy@documentcloud.org>",
|
||||
"repository" : {"type": "git", "url": "git://github.com/jashkenas/underscore.git"},
|
||||
"main" : "underscore.js",
|
||||
"version" : "1.5.2",
|
||||
"devDependencies": {
|
||||
"phantomjs": "1.9.0-1"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "phantomjs test/vendor/runner.js test/index.html?noglobals=true",
|
||||
"build": "uglifyjs underscore.js -c \"evaluate=false\" --comments \"/ .*/\" -m --source-map underscore-min.map -o underscore-min.js",
|
||||
"doc": "docco underscore.js"
|
||||
},
|
||||
"licenses": [
|
||||
{
|
||||
"type": "MIT",
|
||||
"url": "https://raw.github.com/jashkenas/underscore/master/LICENSE"
|
||||
}
|
||||
],
|
||||
"files" : ["underscore.js", "underscore-min.js", "LICENSE"]
|
||||
}
|
Loading…
Reference in a new issue