es5 -> es2015 (last stage)

Signature plugin fixes
Add view decorator
A large number of fixes
This commit is contained in:
RainLoop Team 2016-08-17 01:01:20 +03:00
parent e88c193334
commit 17669b7be0
153 changed files with 21193 additions and 21115 deletions

View file

@ -37,16 +37,15 @@ class AbstractSettingsScreen extends AbstractScreen
}
}
onRoute(sSubName) {
var
self = this,
oSettingsScreen = null,
onRoute(subName) {
let
settingsScreen = null,
RoutedSettingsViewModel = null,
oViewModelPlace = null,
oViewModelDom = null;
viewModelPlace = null,
viewModelDom = null;
RoutedSettingsViewModel = _.find(VIEW_MODELS.settings,
(SettingsViewModel) => SettingsViewModel && SettingsViewModel.__rlSettingsData && sSubName === SettingsViewModel.__rlSettingsData.Route
(SettingsViewModel) => SettingsViewModel && SettingsViewModel.__rlSettingsData && subName === SettingsViewModel.__rlSettingsData.Route
);
if (RoutedSettingsViewModel)
@ -67,32 +66,32 @@ class AbstractSettingsScreen extends AbstractScreen
{
if (RoutedSettingsViewModel.__builded && RoutedSettingsViewModel.__vm)
{
oSettingsScreen = RoutedSettingsViewModel.__vm;
settingsScreen = RoutedSettingsViewModel.__vm;
}
else
{
oViewModelPlace = this.oViewModelPlace;
if (oViewModelPlace && 1 === oViewModelPlace.length)
viewModelPlace = this.oViewModelPlace;
if (viewModelPlace && 1 === viewModelPlace.length)
{
oSettingsScreen = new RoutedSettingsViewModel();
settingsScreen = new RoutedSettingsViewModel();
oViewModelDom = $('<div></div>').addClass('rl-settings-view-model').hide();
oViewModelDom.appendTo(oViewModelPlace);
viewModelDom = $('<div></div>').addClass('rl-settings-view-model').hide();
viewModelDom.appendTo(viewModelPlace);
oSettingsScreen.viewModelDom = oViewModelDom;
settingsScreen.viewModelDom = viewModelDom;
oSettingsScreen.__rlSettingsData = RoutedSettingsViewModel.__rlSettingsData;
settingsScreen.__rlSettingsData = RoutedSettingsViewModel.__rlSettingsData;
RoutedSettingsViewModel.__dom = oViewModelDom;
RoutedSettingsViewModel.__dom = viewModelDom;
RoutedSettingsViewModel.__builded = true;
RoutedSettingsViewModel.__vm = oSettingsScreen;
RoutedSettingsViewModel.__vm = settingsScreen;
ko.applyBindingAccessorsToNode(oViewModelDom[0], {
ko.applyBindingAccessorsToNode(viewModelDom[0], {
translatorInit: true,
template: () => ({name: RoutedSettingsViewModel.__rlSettingsData.Template})
}, oSettingsScreen);
}, settingsScreen);
delegateRun(oSettingsScreen, 'onBuild', [oViewModelDom]);
delegateRun(settingsScreen, 'onBuild', [viewModelDom]);
}
else
{
@ -100,29 +99,29 @@ class AbstractSettingsScreen extends AbstractScreen
}
}
if (oSettingsScreen)
if (settingsScreen)
{
_.defer(function() {
_.defer(() => {
// hide
if (self.oCurrentSubScreen)
if (this.oCurrentSubScreen)
{
delegateRun(self.oCurrentSubScreen, 'onHide');
self.oCurrentSubScreen.viewModelDom.hide();
delegateRun(this.oCurrentSubScreen, 'onHide');
this.oCurrentSubScreen.viewModelDom.hide();
}
// --
self.oCurrentSubScreen = oSettingsScreen;
this.oCurrentSubScreen = settingsScreen;
// show
if (self.oCurrentSubScreen)
if (this.oCurrentSubScreen)
{
delegateRun(self.oCurrentSubScreen, 'onBeforeShow');
self.oCurrentSubScreen.viewModelDom.show();
delegateRun(self.oCurrentSubScreen, 'onShow');
delegateRun(self.oCurrentSubScreen, 'onShowWithDelay', [], 200);
delegateRun(this.oCurrentSubScreen, 'onBeforeShow');
this.oCurrentSubScreen.viewModelDom.show();
delegateRun(this.oCurrentSubScreen, 'onShow');
delegateRun(this.oCurrentSubScreen, 'onShowWithDelay', [], 200);
_.each(self.menu(), (oItem) => {
oItem.selected(oSettingsScreen && oSettingsScreen.__rlSettingsData && oItem.route === oSettingsScreen.__rlSettingsData.Route);
_.each(this.menu(), (item) => {
item.selected(settingsScreen && settingsScreen.__rlSettingsData && item.route === settingsScreen.__rlSettingsData.Route);
});
$('#rl-content .b-settings .b-content .content').scrollTop(0);
@ -166,22 +165,23 @@ class AbstractSettingsScreen extends AbstractScreen
}
routes() {
var
const
DefaultViewModel = _.find(VIEW_MODELS.settings,
(SettingsViewModel) => SettingsViewModel && SettingsViewModel.__rlSettingsData && SettingsViewModel.__rlSettingsData.IsDefault),
(SettingsViewModel) => SettingsViewModel && SettingsViewModel.__rlSettingsData && SettingsViewModel.__rlSettingsData.IsDefault
),
defaultRoute = DefaultViewModel && DefaultViewModel.__rlSettingsData ? DefaultViewModel.__rlSettingsData.Route : 'general',
oRules = {
rules = {
subname: /^(.*)$/,
normalize_: (oRequest, oVals) => {
oVals.subname = isUnd(oVals.subname) ? defaultRoute : pString(oVals.subname);
return [oVals.subname];
normalize_: (rquest, vals) => {
vals.subname = isUnd(vals.subname) ? defaultRoute : pString(vals.subname);
return [vals.subname];
}
};
return [
['{subname}/', oRules],
['{subname}', oRules],
['', oRules]
['{subname}/', rules],
['{subname}', rules],
['', rules]
];
}
}

View file

@ -1,17 +1,20 @@
import {AbstractScreen} from 'Knoin/AbstractScreen';
import App from 'App/Admin';
import {getApp} from 'Helper/Apps/Admin';
import {LoginAdminView} from 'View/Admin/Login';
class LoginAdminScreen extends AbstractScreen
{
constructor() {
super('login', [
require('View/Admin/Login')
LoginAdminView
]);
}
onShow() {
App.setWindowTitle('');
getApp().setWindowTitle('');
}
}

View file

@ -1,9 +1,10 @@
/* global RL_COMMUNITY */
import {addSettingsViewModel} from 'Knoin/Knoin';
import {runSettingsViewModelHooks} from 'Common/Plugins';
import {AbstractSettingsScreen} from 'Screen/AbstractSettings';
import App from 'App/Admin';
import {GeneralAdminSettings} from 'Settings/Admin/General';
import {LoginAdminSettings} from 'Settings/Admin/Login';
@ -15,12 +16,17 @@ import {PluginsAdminSettings} from 'Settings/Admin/Plugins';
import {PackagesAdminSettings} from 'Settings/Admin/Packages';
import {AboutAdminSettings} from 'Settings/Admin/About';
import {getApp} from 'Helper/Apps/Admin';
import {MenuSettingsAdminView} from 'View/Admin/Settings/Menu';
import {PaneSettingsAdminView} from 'View/Admin/Settings/Pane';
class SettingsAdminScreen extends AbstractSettingsScreen
{
constructor() {
super([
require('View/Admin/Settings/Menu'),
require('View/Admin/Settings/Pane')
MenuSettingsAdminView,
PaneSettingsAdminView
]);
}
@ -81,7 +87,7 @@ class SettingsAdminScreen extends AbstractSettingsScreen
}
onShow() {
App.setWindowTitle('');
getApp().setWindowTitle('');
}
}

View file

@ -1,17 +1,18 @@
import {AbstractScreen} from 'Knoin/AbstractScreen';
import App from 'App/User';
import {AboutUserView} from 'View/User/About';
import {getApp} from 'Helper/Apps/User';
class AboutUserScreen extends AbstractScreen
{
constructor() {
super('about', [
require('View/User/About')
]);
super('about', [AboutUserView]);
}
onShow() {
App.setWindowTitle('RainLoop');
getApp().setWindowTitle('RainLoop');
}
}

View file

@ -1,17 +1,18 @@
import {AbstractScreen} from 'Knoin/AbstractScreen';
import App from 'App/User';
import {LoginUserView} from 'View/User/Login';
import {getApp} from 'Helper/Apps/User';
class LoginUserScreen extends AbstractScreen
{
constructor() {
super('login', [
require('View/User/Login')
]);
super('login', [LoginUserView]);
}
onShow() {
App.setWindowTitle('');
getApp().setWindowTitle('');
}
}

View file

@ -16,17 +16,25 @@ import SettingsStore from 'Stores/User/Settings';
import FolderStore from 'Stores/User/Folder';
import MessageStore from 'Stores/User/Message';
import {SystemDropDownMailBoxUserView} from 'View/User/MailBox/SystemDropDown';
import {FolderListMailBoxUserView} from 'View/User/MailBox/FolderList';
import {MessageListMailBoxUserView} from 'View/User/MailBox/MessageList';
import {MessageViewMailBoxUserView} from 'View/User/MailBox/MessageView';
import {getApp} from 'Helper/Apps/User';
import {warmUpScreenPopup} from 'Knoin/Knoin';
import {AbstractScreen} from 'Knoin/AbstractScreen';
import App from 'App/User';
class MailBoxUserScreen extends AbstractScreen
{
constructor() {
super('mailbox', [
require('View/User/MailBox/SystemDropDown'),
require('View/User/MailBox/FolderList'),
require('View/User/MailBox/MessageList'),
require('View/User/MailBox/MessageView')
SystemDropDownMailBoxUserView,
FolderListMailBoxUserView,
MessageListMailBoxUserView,
MessageViewMailBoxUserView
]);
}
@ -42,7 +50,7 @@ class MailBoxUserScreen extends AbstractScreen
foldersInboxUnreadCount = 0;
}
App.setWindowTitle(('' === email ? '' : '' + (0 < foldersInboxUnreadCount ? '(' + foldersInboxUnreadCount + ') ' : ' ') + email + ' - ') + i18n('TITLES/MAILBOX'));
getApp().setWindowTitle(('' === email ? '' : '' + (0 < foldersInboxUnreadCount ? '(' + foldersInboxUnreadCount + ') ' : ' ') + email + ' - ') + i18n('TITLES/MAILBOX'));
}
/**
@ -73,6 +81,7 @@ class MailBoxUserScreen extends AbstractScreen
* @param {string} folderHash
* @param {number} page
* @param {string} search
* @returns {void}
*/
onRoute(folderHash, page, search) {
let threadUid = folderHash.replace(/^(.+)~([\d]+)$/, '$2');
@ -91,7 +100,7 @@ class MailBoxUserScreen extends AbstractScreen
MessageStore.messageListSearch(search);
MessageStore.messageListThreadUid(threadUid);
App.reloadMessageList();
getApp().reloadMessageList();
}
}
@ -104,9 +113,8 @@ class MailBoxUserScreen extends AbstractScreen
MessageStore.messageList.subscribe(windowResizeCallback);
MessageStore.message.subscribe(windowResizeCallback);
_.delay(() => {
SettingsStore.layout.valueHasMutated();
}, Magics.Time50ms);
_.delay(() => SettingsStore.layout.valueHasMutated(), Magics.Time50ms);
_.delay(() => warmUpScreenPopup(require('View/Popup/Compose')), Magics.Time500ms);
Events.sub('mailbox.inbox-unread-count', (count) => {
FolderStore.foldersInboxUnreadCount(count);
@ -130,7 +138,7 @@ class MailBoxUserScreen extends AbstractScreen
if (!bMobileDevice && !Settings.appSettingsGet('mobile'))
{
_.defer(() => {
App.initHorizontalLayoutResizer(ClientSideKeyName.MessageListSize);
getApp().initHorizontalLayoutResizer(ClientSideKeyName.MessageListSize);
});
}
}
@ -139,7 +147,7 @@ class MailBoxUserScreen extends AbstractScreen
* @returns {Array}
*/
routes() {
var
const
inboxFolderName = getFolderInboxName(),
fNormS = (request, vals) => {
vals[0] = pString(vals[0]);

View file

@ -11,7 +11,6 @@ import * as Settings from 'Storage/Settings';
import {addSettingsViewModel} from 'Knoin/Knoin';
import {AbstractSettingsScreen} from 'Screen/AbstractSettings';
import App from 'App/User';
import {GeneralUserSettings} from 'Settings/User/General';
import {ContactsUserSettings} from 'Settings/User/Contacts';
@ -25,13 +24,19 @@ import {FoldersUserSettings} from 'Settings/User/Folders';
import {ThemesUserSettings} from 'Settings/User/Themes';
import {OpenPgpUserSettings} from 'Settings/User/OpenPgp';
import {SystemDropDownSettingsUserView} from 'View/User/Settings/SystemDropDown';
import {MenuSettingsUserView} from 'View/User/Settings/Menu';
import {PaneSettingsUserView} from 'View/User/Settings/Pane';
import {getApp} from 'Helper/Apps/User';
class SettingsUserScreen extends AbstractSettingsScreen
{
constructor() {
super([
require('View/User/Settings/SystemDropDown'),
require('View/User/Settings/Menu'),
require('View/User/Settings/Pane')
SystemDropDownSettingsUserView,
MenuSettingsUserView,
PaneSettingsUserView
]);
initOnStartOrLangChange(() => {
@ -144,7 +149,7 @@ class SettingsUserScreen extends AbstractSettingsScreen
setSettingsTitle() {
const sEmail = AccountStore.email();
App.setWindowTitle(('' === sEmail ? '' : sEmail + ' - ') + this.sSettingsTitle);
getApp().setWindowTitle(('' === sEmail ? '' : sEmail + ' - ') + this.sSettingsTitle);
}
}