mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-10 06:58:27 +03:00
Small fixes
This commit is contained in:
parent
a72b95a868
commit
709eeddd09
9 changed files with 172 additions and 143 deletions
|
|
@ -5,6 +5,7 @@ import ko from 'ko';
|
|||
import hasher from 'hasher';
|
||||
import crossroads from 'crossroads';
|
||||
|
||||
import {Magics} from 'Common/Enums';
|
||||
import {runHook} from 'Common/Plugins';
|
||||
import {$html, VIEW_MODELS, popupVisibilityNames} from 'Common/Globals';
|
||||
|
||||
|
|
@ -590,8 +591,41 @@ function commandDecorator(canExecute = true)
|
|||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {miced} $items
|
||||
* @returns {Function}
|
||||
*/
|
||||
function settingsMenuKeysHendler($items)
|
||||
{
|
||||
return _.throttle((event, handler) => {
|
||||
|
||||
const up = handler && 'up' === handler.shortcut;
|
||||
|
||||
if (event && $items.length)
|
||||
{
|
||||
let index = $items.index($items.filter('.selected'));
|
||||
if (up && 0 < index)
|
||||
{
|
||||
index -= 1;
|
||||
}
|
||||
else if (!up && index < $items.length - 1)
|
||||
{
|
||||
index += 1;
|
||||
}
|
||||
|
||||
const resultHash = $items.eq(index).attr('href');
|
||||
if (resultHash)
|
||||
{
|
||||
setHash(resultHash, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
}, Magics.Time200ms);
|
||||
}
|
||||
|
||||
export {
|
||||
commandDecorator, commandDecorator as command,
|
||||
viewDecorator, viewDecorator as view, viewDecorator as viewModel,
|
||||
popupDecorator, popupDecorator as popup
|
||||
popupDecorator, popupDecorator as popup,
|
||||
settingsMenuKeysHendler
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import {runSettingsViewModelHooks} from 'Common/Plugins';
|
|||
import {AbstractSettingsScreen} from 'Screen/AbstractSettings';
|
||||
|
||||
import {GeneralAdminSettings} from 'Settings/Admin/General';
|
||||
import {DomainsAdminSettings} from 'Settings/Admin/Domains';
|
||||
import {LoginAdminSettings} from 'Settings/Admin/Login';
|
||||
import {ContactsAdminSettings} from 'Settings/Admin/Contacts';
|
||||
import {DomainsAdminSettings} from 'Settings/Admin/Domains';
|
||||
import {SecurityAdminSettings} from 'Settings/Admin/Security';
|
||||
import {SocialAdminSettings} from 'Settings/Admin/Social';
|
||||
import {PluginsAdminSettings} from 'Settings/Admin/Plugins';
|
||||
|
|
@ -34,29 +34,38 @@ class SettingsAdminScreen extends AbstractSettingsScreen
|
|||
* @param {Function=} fCallback = null
|
||||
*/
|
||||
setupSettings(fCallback = null) {
|
||||
|
||||
let branding = null,
|
||||
licensing = null;
|
||||
|
||||
if (RL_COMMUNITY)
|
||||
{
|
||||
branding = require('Settings/Admin/Branding').default;
|
||||
}
|
||||
else
|
||||
{
|
||||
branding = require('Settings/Admin/Prem/Branding').default;
|
||||
licensing = require('Settings/Admin/Prem/Licensing').default;
|
||||
}
|
||||
|
||||
addSettingsViewModel(GeneralAdminSettings,
|
||||
'AdminSettingsGeneral', 'TABS_LABELS/LABEL_GENERAL_NAME', 'general', true);
|
||||
|
||||
addSettingsViewModel(DomainsAdminSettings,
|
||||
'AdminSettingsDomains', 'TABS_LABELS/LABEL_DOMAINS_NAME', 'domains');
|
||||
|
||||
addSettingsViewModel(LoginAdminSettings,
|
||||
'AdminSettingsLogin', 'TABS_LABELS/LABEL_LOGIN_NAME', 'login');
|
||||
|
||||
if (RL_COMMUNITY)
|
||||
if (branding)
|
||||
{
|
||||
addSettingsViewModel(require('Settings/Admin/Branding').default,
|
||||
'AdminSettingsBranding', 'TABS_LABELS/LABEL_BRANDING_NAME', 'branding');
|
||||
}
|
||||
else
|
||||
{
|
||||
addSettingsViewModel(require('Settings/Admin/Prem/Branding').default,
|
||||
addSettingsViewModel(branding,
|
||||
'AdminSettingsBranding', 'TABS_LABELS/LABEL_BRANDING_NAME', 'branding');
|
||||
}
|
||||
|
||||
addSettingsViewModel(ContactsAdminSettings,
|
||||
'AdminSettingsContacts', 'TABS_LABELS/LABEL_CONTACTS_NAME', 'contacts');
|
||||
|
||||
addSettingsViewModel(DomainsAdminSettings,
|
||||
'AdminSettingsDomains', 'TABS_LABELS/LABEL_DOMAINS_NAME', 'domains');
|
||||
|
||||
addSettingsViewModel(SecurityAdminSettings,
|
||||
'AdminSettingsSecurity', 'TABS_LABELS/LABEL_SECURITY_NAME', 'security');
|
||||
|
||||
|
|
@ -69,9 +78,9 @@ class SettingsAdminScreen extends AbstractSettingsScreen
|
|||
addSettingsViewModel(PackagesAdminSettings,
|
||||
'AdminSettingsPackages', 'TABS_LABELS/LABEL_PACKAGES_NAME', 'packages');
|
||||
|
||||
if (!RL_COMMUNITY)
|
||||
if (licensing)
|
||||
{
|
||||
addSettingsViewModel(require('Settings/Admin/Prem/Licensing').default,
|
||||
addSettingsViewModel(licensing,
|
||||
'AdminSettingsLicensing', 'TABS_LABELS/LABEL_LICENSING_NAME', 'licensing');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
|
||||
import _ from '_';
|
||||
import $ from '$';
|
||||
import key from 'key';
|
||||
|
||||
import {leftPanelDisabled} from 'Common/Globals';
|
||||
import {Magics} from 'Common/Enums';
|
||||
import {KeyState} from 'Common/Enums';
|
||||
|
||||
import {view, ViewType, setHash} from 'Knoin/Knoin';
|
||||
import {view, ViewType, settingsMenuKeysHendler} from 'Knoin/Knoin';
|
||||
import {AbstractViewNext} from 'Knoin/AbstractViewNext';
|
||||
|
||||
@view({
|
||||
|
|
@ -33,33 +32,7 @@ class MenuSettingsAdminView extends AbstractViewNext
|
|||
}
|
||||
|
||||
onBuild(dom) {
|
||||
|
||||
key('up, down', _.throttle((event, handler) => {
|
||||
|
||||
const
|
||||
up = handler && 'up' === handler.shortcut,
|
||||
$items = $('.b-admin-menu .e-item', dom);
|
||||
|
||||
if (event && $items.length)
|
||||
{
|
||||
let index = $items.index($items.filter('.selected'));
|
||||
if (up && 0 < index)
|
||||
{
|
||||
index -= 1;
|
||||
}
|
||||
else if (!up && index < $items.length - 1)
|
||||
{
|
||||
index += 1;
|
||||
}
|
||||
|
||||
const sH = $items.eq(index).attr('href');
|
||||
if (sH)
|
||||
{
|
||||
setHash(sH, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
}, Magics.Time200ms));
|
||||
key('up, down', KeyState.Settings, settingsMenuKeysHendler($('.b-admin-menu .e-item', dom)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -173,6 +173,7 @@ class DomainPopupView extends AbstractViewNext
|
|||
switch (pString(value))
|
||||
{
|
||||
case '0':
|
||||
case '2':
|
||||
if (Ports.ImapSsl === port)
|
||||
{
|
||||
this.imapPort(pString(Ports.Imap));
|
||||
|
|
|
|||
|
|
@ -1,16 +1,15 @@
|
|||
|
||||
import _ from '_';
|
||||
import $ from '$';
|
||||
import key from 'key';
|
||||
|
||||
import {KeyState, Magics} from 'Common/Enums';
|
||||
import {KeyState} from 'Common/Enums';
|
||||
import {leftPanelDisabled} from 'Common/Globals';
|
||||
import {settings, inbox} from 'Common/Links';
|
||||
import {getFolderInboxName} from 'Common/Cache';
|
||||
|
||||
import * as Settings from 'Storage/Settings';
|
||||
|
||||
import {view, ViewType, setHash} from 'Knoin/Knoin';
|
||||
import {view, ViewType, setHash, settingsMenuKeysHendler} from 'Knoin/Knoin';
|
||||
import {AbstractViewNext} from 'Knoin/AbstractViewNext';
|
||||
|
||||
@view({
|
||||
|
|
@ -41,32 +40,7 @@ class MenuSettingsUserView extends AbstractViewNext
|
|||
});
|
||||
}
|
||||
|
||||
key('up, down', KeyState.Settings, _.throttle((event, handler) => {
|
||||
|
||||
const
|
||||
up = handler && 'up' === handler.shortcut,
|
||||
$items = $('.b-settings-menu .e-item', dom);
|
||||
|
||||
if (event && $items.length)
|
||||
{
|
||||
let iIndex = $items.index($items.filter('.selected'));
|
||||
if (up && 0 < iIndex)
|
||||
{
|
||||
iIndex -= 1;
|
||||
}
|
||||
else if (!up && iIndex < $items.length - 1)
|
||||
{
|
||||
iIndex += 1;
|
||||
}
|
||||
|
||||
const sH = $items.eq(iIndex).attr('href');
|
||||
if (sH)
|
||||
{
|
||||
setHash(sH, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
}, Magics.Time200ms));
|
||||
key('up, down', KeyState.Settings, settingsMenuKeysHendler($('.b-settings-menu .e-item', dom)));
|
||||
}
|
||||
|
||||
link(route) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue