Small fixes and code refactoring

This commit is contained in:
RainLoop Team 2015-02-16 01:55:59 +04:00
parent e6c712862d
commit 1a85330770
67 changed files with 413 additions and 181 deletions

View file

@ -252,10 +252,19 @@
this.selector.scrollToTop();
}, this);
Data.messageListEndFolder.subscribe(function (sFolder) {
var oMessage = Data.message();
if (oMessage && sFolder && sFolder !== oMessage.folderFullNameRaw)
{
Data.message(null);
}
}, this);
SettingsStore.layout.subscribe(function (mValue) {
this.selector.autoSelect(Enums.Layout.NoPreview !== mValue);
}, this);
SettingsStore.layout.valueHasMutated();
Events

View file

@ -5,7 +5,9 @@
var
_ = require('_'),
key = require('key'),
Enums = require('Common/Enums'),
Globals = require('Common/Globals'),
Links = require('Common/Links'),
@ -35,6 +37,44 @@
kn.extendAsViewModel(['View/User/Settings/Menu', 'View/App/Settings/Menu', 'SettingsMenuViewModel'], MenuSettingsUserView);
_.extend(MenuSettingsUserView.prototype, AbstractView.prototype);
MenuSettingsUserView.prototype.onBuild = function (oDom)
{
// var self = this;
// key('esc', Enums.KeyState.Settings, function () {
// self.backToMailBoxClick();
// });
key('up, down', Enums.KeyState.Settings, _.throttle(function (event, handler) {
var
sH = '',
iIndex = -1,
bUp = handler && 'up' === handler.shortcut,
$items = $('.b-settings-menu .e-item', oDom)
;
if (event && $items.length)
{
iIndex = $items.index($items.filter('.selected'));
if (bUp && iIndex > 0)
{
iIndex--;
}
else if (!bUp && iIndex < $items.length - 1)
{
iIndex++;
}
sH = $items.eq(iIndex).attr('href');
if (sH)
{
kn.setHash(sH, false, true);
}
}
}, 200));
};
MenuSettingsUserView.prototype.link = function (sRoute)
{
return Links.settings(sRoute);

View file

@ -5,9 +5,7 @@
var
_ = require('_'),
key = require('key'),
Enums = require('Common/Enums'),
Links = require('Common/Links'),
Data = require('Storage/User/Data'),
@ -31,14 +29,6 @@
kn.extendAsViewModel(['View/User/Settings/Pane', 'View/App/Settings/Pane', 'SettingsPaneViewModel'], PaneSettingsUserView);
_.extend(PaneSettingsUserView.prototype, AbstractView.prototype);
PaneSettingsUserView.prototype.onBuild = function ()
{
var self = this;
key('esc', Enums.KeyState.Settings, function () {
self.backToMailBoxClick();
});
};
PaneSettingsUserView.prototype.onShow = function ()
{
Data.message(null);