mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 12:09:20 +03:00
es5 -> es2015 (last stage)
Signature plugin fixes Add view decorator A large number of fixes
This commit is contained in:
parent
e88c193334
commit
17669b7be0
153 changed files with 21193 additions and 21115 deletions
|
|
@ -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]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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('');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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('');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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('');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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]);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue