Code refactoring

Fixed languages popup
Release commit
This commit is contained in:
RainLoop Team 2014-09-02 04:15:31 +04:00
parent fa795947cf
commit ccbf04cb67
123 changed files with 1375 additions and 5128 deletions

View file

@ -1,12 +1,12 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
kn = require('App:Knoin'),
Settings = require('Storage:Settings'),
@ -26,7 +26,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('AboutViewModel', AboutViewModel);
kn.extendAsViewModel(['View:RainLoop:About', 'AboutViewModel'], AboutViewModel);
_.extend(AboutViewModel.prototype, KnoinAbstractViewModel.prototype);
module.exports = AboutViewModel;

View file

@ -1,13 +1,12 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
window = require('window'),
_ = require('_'),
ko = require('ko'),
window = require('window'),
key = require('key'),
Enums = require('Enums'),

View file

@ -1,4 +1,3 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
@ -89,7 +88,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('AdminLoginViewModel', AdminLoginViewModel);
kn.extendAsViewModel(['View:Admin:Login', 'AdminLoginViewModel'], AdminLoginViewModel);
_.extend(AdminLoginViewModel.prototype, KnoinAbstractViewModel.prototype);
AdminLoginViewModel.prototype.onShow = function ()
{

View file

@ -1,12 +1,14 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
kn = require('App:Knoin'),
_ = require('_'),
Globals = require('Globals'),
kn = require('App:Knoin'),
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
;
@ -16,7 +18,7 @@
* @constructor
* @extends KnoinAbstractViewModel
*/
function AdminMenuViewModel(oScreen)
function AdminSettingsMenuViewModel(oScreen)
{
KnoinAbstractViewModel.call(this, 'Left', 'AdminMenu');
@ -27,13 +29,14 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('AdminMenuViewModel', AdminMenuViewModel);
kn.extendAsViewModel(['View:Admin:SettingsMenu', 'AdminSettingsMenuViewModel'], AdminSettingsMenuViewModel);
_.extend(AdminSettingsMenuViewModel.prototype, KnoinAbstractViewModel.prototype);
AdminMenuViewModel.prototype.link = function (sRoute)
AdminSettingsMenuViewModel.prototype.link = function (sRoute)
{
return '#/' + sRoute;
};
module.exports = AdminMenuViewModel;
module.exports = AdminSettingsMenuViewModel;
}(module, require));

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Settings = require('Storage:Settings'),
@ -19,7 +19,7 @@
* @constructor
* @extends KnoinAbstractViewModel
*/
function AdminPaneViewModel()
function AdminSettingsPaneViewModel()
{
KnoinAbstractViewModel.call(this, 'Right', 'AdminPane');
@ -31,15 +31,16 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('AdminPaneViewModel', AdminPaneViewModel);
kn.extendAsViewModel(['View:Admin:SettingsPane', 'AdminSettingsPaneViewModel'], AdminSettingsPaneViewModel);
_.extend(AdminSettingsPaneViewModel.prototype, KnoinAbstractViewModel.prototype);
AdminPaneViewModel.prototype.logoutClick = function ()
AdminSettingsPaneViewModel.prototype.logoutClick = function ()
{
Remote.adminLogout(function () {
require('App:Admin').loginAndLogoutReload();
});
};
module.exports = AdminPaneViewModel;
module.exports = AdminSettingsPaneViewModel;
}(module, require));

View file

@ -1,17 +1,16 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
window = require('window'),
$ = require('$'),
_ = require('_'),
$ = require('$'),
ko = require('ko'),
Utils = require('Utils'),
Enums = require('Enums'),
Utils = require('Utils'),
LinkBuilder = require('LinkBuilder'),
Settings = require('Storage:Settings'),
@ -250,7 +249,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('LoginViewModel', LoginViewModel);
kn.extendAsViewModel(['View:RainLoop:Login', 'LoginViewModel'], LoginViewModel);
_.extend(LoginViewModel.prototype, KnoinAbstractViewModel.prototype);
LoginViewModel.prototype.onShow = function ()
{

View file

@ -1,4 +1,3 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
@ -6,6 +5,7 @@
var
window = require('window'),
_ = require('_'),
$ = require('$'),
ko = require('ko'),
key = require('key'),
@ -48,7 +48,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('MailBoxFolderListViewModel', MailBoxFolderListViewModel);
kn.extendAsViewModel(['View:RainLoop:MailBoxFolderList', 'MailBoxFolderListViewModel'], MailBoxFolderListViewModel);
_.extend(MailBoxFolderListViewModel.prototype, KnoinAbstractViewModel.prototype);
MailBoxFolderListViewModel.prototype.onBuild = function (oDom)
{

View file

@ -1,16 +1,15 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
$ = require('$'),
_ = require('_'),
$ = require('$'),
ko = require('ko'),
key = require('key'),
ifvisible = require('ifvisible'),
Jua = require('Jua'),
ifvisible = require('ifvisible'),
Enums = require('Enums'),
Consts = require('Consts'),
@ -266,7 +265,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('MailBoxMessageListViewModel', MailBoxMessageListViewModel);
kn.extendAsViewModel(['View:RainLoop:MailBoxMessageList', 'MailBoxMessageListViewModel'], MailBoxMessageListViewModel);
_.extend(MailBoxMessageListViewModel.prototype, KnoinAbstractViewModel.prototype);
/**
* @type {string}
@ -799,7 +799,7 @@
// change focused state
key('tab, shift+tab, left, right', Enums.KeyState.MessageList, function (event, handler) {
if (event && handler && 'shift+tab' === handler.shortcut || 'left' === handler.shortcut)
if (event && handler && ('shift+tab' === handler.shortcut || 'left' === handler.shortcut))
{
self.folderList.focused(true);
}

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
$ = require('$'),
ko = require('ko'),
key = require('key'),
@ -150,6 +150,7 @@
this.viewCc = ko.observable('');
this.viewBcc = ko.observable('');
this.viewDate = ko.observable('');
this.viewSize = ko.observable('');
this.viewMoment = ko.observable('');
this.viewLineAsCcc = ko.observable('');
this.viewViewLink = ko.observable('');
@ -188,6 +189,7 @@
this.viewCc(oMessage.ccToLine(false));
this.viewBcc(oMessage.bccToLine(false));
this.viewDate(oMessage.fullFormatDateValue());
this.viewSize(oMessage.friendlySize());
this.viewMoment(oMessage.momentDate());
this.viewLineAsCcc(oMessage.lineAsCcc());
this.viewViewLink(oMessage.viewLink());
@ -246,7 +248,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('MailBoxMessageViewViewModel', MailBoxMessageViewViewModel);
kn.extendAsViewModel(['View:RainLoop:MailBoxMessageView', 'MailBoxMessageViewViewModel'], MailBoxMessageViewViewModel);
_.extend(MailBoxMessageViewViewModel.prototype, KnoinAbstractViewModel.prototype);
MailBoxMessageViewViewModel.prototype.isPgpActionVisible = function ()
{
@ -290,23 +293,6 @@
return sResult;
};
MailBoxMessageViewViewModel.prototype.scrollToTop = function ()
{
var oCont = $('.messageItem.nano .content', this.viewModelDom);
if (oCont && oCont[0])
{
// oCont.animate({'scrollTop': 0}, 300);
oCont.scrollTop(0);
}
else
{
// $('.messageItem', this.viewModelDom).animate({'scrollTop': 0}, 300);
$('.messageItem', this.viewModelDom).scrollTop(0);
}
Utils.windowResize();
};
MailBoxMessageViewViewModel.prototype.fullScreen = function ()
{
this.fullScreenMode(true);
@ -366,15 +352,9 @@
});
oDom
.on('click', '.messageView .messageItem .messageItemHeader', function () {
if (Globals.useKeyboardShortcuts() && self.message())
{
self.message.focused(true);
}
})
.on('click', 'a', function (oEvent) {
// setup maito protocol
return !(!!oEvent && 3 !== oEvent['which'] && require('App:RainLoop').mailToHelper($(this).attr('href')));
return !(!!oEvent && 3 !== oEvent['which'] && Utils.mailToHelper($(this).attr('href'), require('View:Popup:Compose')));
})
.on('click', '.attachmentsPlace .attachmentPreview', function (oEvent) {
if (oEvent && oEvent.stopPropagation)
@ -400,6 +380,8 @@
this.messageDomFocused(true);
} else {
this.messageDomFocused(false);
this.scrollMessageToTop();
this.scrollMessageToLeft();
}
}, this);
@ -516,7 +498,7 @@
key('b', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
if (Data.message() && Data.message().body)
{
Utils.toggleMessageBlockquote(Data.message().body);
Data.message().body.find('.rlBlockquoteSwitcher').click();
return false;
}
});
@ -559,10 +541,26 @@
});
// change focused state
key('tab, shift+tab, left', Enums.KeyState.MessageView, function () {
key('tab, shift+tab, left', Enums.KeyState.MessageView, function (event, handler) {
if (!self.fullScreenMode() && self.message() && Enums.Layout.NoPreview !== Data.layout())
{
self.message.focused(false);
if (event && handler && 'left' === handler.shortcut)
{
if (self.oMessageScrollerDom && 0 < self.oMessageScrollerDom.scrollLeft())
{
return true;
}
self.message.focused(false);
}
else
{
self.message.focused(false);
}
}
else if (self.message() && Enums.Layout.NoPreview === Data.layout() && event && handler && 'left' === handler.shortcut)
{
return true;
}
return false;
@ -643,6 +641,16 @@
if (this.oMessageScrollerDom)
{
this.oMessageScrollerDom.scrollTop(0);
Utils.windowResize();
}
};
MailBoxMessageViewViewModel.prototype.scrollMessageToLeft = function ()
{
if (this.oMessageScrollerDom)
{
this.oMessageScrollerDom.scrollLeft(0);
Utils.windowResize();
}
};

View file

@ -1,10 +1,11 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
kn = require('App:Knoin'),
AbstractSystemDropDownViewModel = require('View:RainLoop:AbstractSystemDropDown')
;
@ -19,7 +20,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('MailBoxSystemDropDownViewModel', MailBoxSystemDropDownViewModel, AbstractSystemDropDownViewModel);
kn.extendAsViewModel(['View:RainLoop:MailBoxSystemDropDown', 'MailBoxSystemDropDownViewModel'], MailBoxSystemDropDownViewModel);
_.extend(MailBoxSystemDropDownViewModel.prototype, AbstractSystemDropDownViewModel.prototype);
module.exports = MailBoxSystemDropDownViewModel;

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Enums = require('Enums'),
@ -104,7 +104,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsActivateViewModel', PopupsActivateViewModel);
kn.extendAsViewModel(['View:Popup:Activate', 'PopupsActivateViewModel'], PopupsActivateViewModel);
_.extend(PopupsActivateViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsActivateViewModel.prototype.onShow = function ()
{

View file

@ -1,9 +1,8 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
@ -87,7 +86,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsAddAccountViewModel', PopupsAddAccountViewModel);
kn.extendAsViewModel(['View:Popup:AddAccount', 'PopupsAddAccountViewModel'], PopupsAddAccountViewModel);
_.extend(PopupsAddAccountViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsAddAccountViewModel.prototype.clearPopup = function ()
{

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Utils = require('Utils'),
@ -86,7 +86,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsAddOpenPgpKeyViewModel', PopupsAddOpenPgpKeyViewModel);
kn.extendAsViewModel(['View:Popup:AddOpenPgpKey', 'PopupsAddOpenPgpKeyViewModel'], PopupsAddOpenPgpKeyViewModel);
_.extend(PopupsAddOpenPgpKeyViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsAddOpenPgpKeyViewModel.prototype.clearPopup = function ()
{

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
moment = require('moment'),
@ -50,7 +50,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsAdvancedSearchViewModel', PopupsAdvancedSearchViewModel);
kn.extendAsViewModel(['View:Popup:AdvancedSearch', 'PopupsAdvancedSearchViewModel'], PopupsAdvancedSearchViewModel);
_.extend(PopupsAdvancedSearchViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsAdvancedSearchViewModel.prototype.buildSearchStringValue = function (sValue)
{

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
key = require('key'),
@ -39,7 +39,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsAskViewModel', PopupsAskViewModel);
kn.extendAsViewModel(['View:Popup:Ask', 'PopupsAskViewModel'], PopupsAskViewModel);
_.extend(PopupsAskViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsAskViewModel.prototype.clearPopup = function ()
{

View file

@ -1,9 +1,8 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
window = require('window'),
_ = require('_'),
@ -159,7 +158,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsComposeOpenPgpViewModel', PopupsComposeOpenPgpViewModel);
kn.extendAsViewModel(['View:Popup:ComposeOpenPgp', 'PopupsComposeOpenPgpViewModel'], PopupsComposeOpenPgpViewModel);
_.extend(PopupsComposeOpenPgpViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsComposeOpenPgpViewModel.prototype.clearPopup = function ()
{

View file

@ -1,4 +1,3 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
@ -6,8 +5,8 @@
var
window = require('window'),
$ = require('$'),
_ = require('_'),
$ = require('$'),
ko = require('ko'),
moment = require('moment'),
JSON = require('JSON'),
@ -17,8 +16,8 @@
Consts = require('Consts'),
Utils = require('Utils'),
Globals = require('Globals'),
LinkBuilder = require('LinkBuilder'),
Events = require('Events'),
LinkBuilder = require('LinkBuilder'),
HtmlEditor = require('HtmlEditor'),
Settings = require('Storage:Settings'),
@ -404,7 +403,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsComposeViewModel', PopupsComposeViewModel);
kn.extendAsViewModel(['View:Popup:Compose', 'PopupsComposeViewModel'], PopupsComposeViewModel);
_.extend(PopupsComposeViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsComposeViewModel.prototype.emailsSource = function (oData, fResponse)
{
@ -794,7 +794,15 @@
aDraftInfo = oMessage.aDraftInfo;
oText = $(oMessage.body).clone();
Utils.removeBlockquoteSwitcher(oText);
if (oText)
{
oText.find('blockquote.rl-bq-switcher').each(function () {
$(this).removeClass('rl-bq-switcher hidden-bq');
});
oText.find('.rlBlockquoteSwitcher').each(function () {
$(this).remove();
});
}
oText.find('[data-html-editor-font-wrapper]').removeAttr('data-html-editor-font-wrapper');
sText = oText.html();

View file

@ -1,4 +1,3 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
@ -6,8 +5,8 @@
var
window = require('window'),
$ = require('$'),
_ = require('_'),
$ = require('$'),
ko = require('ko'),
key = require('key'),
@ -15,8 +14,8 @@
Consts = require('Consts'),
Globals = require('Globals'),
Utils = require('Utils'),
LinkBuilder = require('LinkBuilder'),
Selector = require('Selector'),
LinkBuilder = require('LinkBuilder'),
Data = require('Storage:RainLoop:Data'),
Remote = require('Storage:RainLoop:Remote'),
@ -391,7 +390,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsContactsViewModel', PopupsContactsViewModel);
kn.extendAsViewModel(['View:Popup:Contacts', 'PopupsContactsViewModel'], PopupsContactsViewModel);
_.extend(PopupsContactsViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsContactsViewModel.prototype.contactTagsSource = function (oData, fResponse)
{

View file

@ -1,7 +1,6 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
@ -200,7 +199,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsDomainViewModel', PopupsDomainViewModel);
kn.extendAsViewModel(['View:Popup:Domain', 'PopupsDomainViewModel'], PopupsDomainViewModel);
_.extend(PopupsDomainViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsDomainViewModel.prototype.onTestConnectionResponse = function (sResult, oData)
{

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Consts = require('Consts'),
@ -33,7 +33,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsFilterViewModel', PopupsFilterViewModel);
kn.extendAsViewModel(['View:Popup:Filter', 'PopupsFilterViewModel'], PopupsFilterViewModel);
_.extend(PopupsFilterViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsFilterViewModel.prototype.clearPopup = function ()
{

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Enums = require('Enums'),
@ -64,7 +64,7 @@
oFolderToClear.messageCountUnread(0);
Cache.setFolderHash(oFolderToClear.fullNameRaw, '');
Remote.folderClear(function (sResult, oData) {
self.clearingProcess(false);
@ -101,7 +101,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsFolderClearViewModel', PopupsFolderClearViewModel);
kn.extendAsViewModel(['View:Popup:FolderClear', 'PopupsFolderClearViewModel'], PopupsFolderClearViewModel);
_.extend(PopupsFolderClearViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsFolderClearViewModel.prototype.clearPopup = function ()
{

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Enums = require('Enums'),
@ -100,7 +100,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsFolderCreateViewModel', PopupsFolderCreateViewModel);
kn.extendAsViewModel(['View:Popup:FolderCreate', 'PopupsFolderCreateViewModel'], PopupsFolderCreateViewModel);
_.extend(PopupsFolderCreateViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsFolderCreateViewModel.prototype.sNoParentText = '';

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Enums = require('Enums'),
@ -94,7 +94,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsFolderSystemViewModel', PopupsFolderSystemViewModel);
kn.extendAsViewModel(['View:Popup:FolderSystem', 'PopupsFolderSystemViewModel'], PopupsFolderSystemViewModel);
_.extend(PopupsFolderSystemViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsFolderSystemViewModel.prototype.sChooseOnText = '';
PopupsFolderSystemViewModel.prototype.sUnuseText = '';

View file

@ -1,19 +1,19 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Enums = require('Enums'),
Utils = require('Utils'),
kn = require('App:Knoin'),
Remote = require('Storage:RainLoop:Remote'),
Data = require('Storage:RainLoop:Data'),
kn = require('App:Knoin'),
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
;
@ -115,7 +115,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsIdentityViewModel', PopupsIdentityViewModel);
kn.extendAsViewModel(['View:Popup:Identity', 'PopupsIdentityViewModel'], PopupsIdentityViewModel);
_.extend(PopupsIdentityViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsIdentityViewModel.prototype.clearPopup = function ()
{

View file

@ -1,4 +1,3 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
@ -27,7 +26,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsKeyboardShortcutsHelpViewModel', PopupsKeyboardShortcutsHelpViewModel);
kn.extendAsViewModel(['View:Popup:KeyboardShortcutsHelp', 'PopupsKeyboardShortcutsHelpViewModel'], PopupsKeyboardShortcutsHelpViewModel);
_.extend(PopupsKeyboardShortcutsHelpViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsKeyboardShortcutsHelpViewModel.prototype.onBuild = function (oDom)
{

View file

@ -1,4 +1,3 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
@ -9,8 +8,7 @@
ko = require('ko'),
Utils = require('Utils'),
Data = require('Storage:RainLoop:Data'),
Globals = require('Globals'),
kn = require('App:Knoin'),
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
@ -24,26 +22,29 @@
{
KnoinAbstractViewModel.call(this, 'Popups', 'PopupsLanguages');
this.Data = Globals.__APP.data(); // TODO
this.exp = ko.observable(false);
this.languages = ko.computed(function () {
return _.map(Data.languages(), function (sLanguage) {
return _.map(this.Data.languages(), function (sLanguage) {
return {
'key': sLanguage,
'selected': ko.observable(false),
'fullName': Utils.convertLangName(sLanguage)
};
});
});
}, this);
Data.mainLanguage.subscribe(function () {
this.Data.mainLanguage.subscribe(function () {
this.resetMainLanguage();
}, this);
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsLanguagesViewModel', PopupsLanguagesViewModel);
kn.extendAsViewModel(['View:Popup:Languages', 'PopupsLanguagesViewModel'], PopupsLanguagesViewModel);
_.extend(PopupsLanguagesViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsLanguagesViewModel.prototype.languageEnName = function (sLanguage)
{
@ -52,7 +53,7 @@
PopupsLanguagesViewModel.prototype.resetMainLanguage = function ()
{
var sCurrent = Data.mainLanguage();
var sCurrent = this.Data.mainLanguage();
_.each(this.languages(), function (oItem) {
oItem['selected'](oItem['key'] === sCurrent);
});
@ -72,7 +73,7 @@
PopupsLanguagesViewModel.prototype.changeLanguage = function (sLang)
{
Data.mainLanguage(sLang);
this.Data.mainLanguage(sLang);
this.cancelCommand();
};

View file

@ -1,4 +1,3 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
@ -89,7 +88,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsNewOpenPgpKeyViewModel', PopupsNewOpenPgpKeyViewModel);
kn.extendAsViewModel(['View:Popup:NewOpenPgpKey', 'PopupsNewOpenPgpKeyViewModel'], PopupsNewOpenPgpKeyViewModel);
_.extend(PopupsNewOpenPgpKeyViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsNewOpenPgpKeyViewModel.prototype.clearPopup = function ()
{

View file

@ -1,4 +1,3 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
@ -85,7 +84,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsPluginViewModel', PopupsPluginViewModel);
kn.extendAsViewModel(['View:Popup:Plugin', 'PopupsPluginViewModel'], PopupsPluginViewModel);
_.extend(PopupsPluginViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsPluginViewModel.prototype.onPluginSettingsUpdateResponse = function (sResult, oData)
{

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Enums = require('Enums'),
@ -50,7 +50,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsTwoFactorTestViewModel', PopupsTwoFactorTestViewModel);
kn.extendAsViewModel(['View:Popup:TwoFactorTest', 'PopupsTwoFactorTestViewModel'], PopupsTwoFactorTestViewModel);
_.extend(PopupsTwoFactorTestViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsTwoFactorTestViewModel.prototype.clearPopup = function ()
{

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Utils = require('Utils'),
@ -27,7 +27,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('PopupsViewOpenPgpKeyViewModel', PopupsViewOpenPgpKeyViewModel);
kn.extendAsViewModel(['View:Popup:ViewOpenPgpKey', 'PopupsViewOpenPgpKeyViewModel'], PopupsViewOpenPgpKeyViewModel);
_.extend(PopupsViewOpenPgpKeyViewModel.prototype, KnoinAbstractViewModel.prototype);
PopupsViewOpenPgpKeyViewModel.prototype.clearPopup = function ()
{

View file

@ -1,12 +1,13 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
LinkBuilder = require('LinkBuilder'),
_ = require('_'),
Globals = require('Globals'),
LinkBuilder = require('LinkBuilder'),
kn = require('App:Knoin'),
KnoinAbstractViewModel = require('Knoin:AbstractViewModel')
@ -29,7 +30,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('SettingsMenuViewModel', SettingsMenuViewModel);
kn.extendAsViewModel(['View:RainLoop:SettingsMenu', 'SettingsMenuViewModel'], SettingsMenuViewModel);
_.extend(SettingsMenuViewModel.prototype, KnoinAbstractViewModel.prototype);
SettingsMenuViewModel.prototype.link = function (sRoute)
{

View file

@ -1,10 +1,10 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
key = require('key'),
Enums = require('Enums'),
@ -27,7 +27,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('SettingsPaneViewModel', SettingsPaneViewModel);
kn.extendAsViewModel(['View:RainLoop:SettingsPane', 'SettingsPaneViewModel'], SettingsPaneViewModel);
_.extend(SettingsPaneViewModel.prototype, KnoinAbstractViewModel.prototype);
SettingsPaneViewModel.prototype.onBuild = function ()
{

View file

@ -1,10 +1,11 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
(function (module, require) {
'use strict';
var
_ = require('_'),
kn = require('App:Knoin'),
AbstractSystemDropDownViewModel = require('View:RainLoop:AbstractSystemDropDown')
;
@ -19,7 +20,8 @@
kn.constructorEnd(this);
}
kn.extendAsViewModel('SettingsSystemDropDownViewModel', SettingsSystemDropDownViewModel, AbstractSystemDropDownViewModel);
kn.extendAsViewModel(['View:RainLoop:SettingsSystemDropDown', 'SettingsSystemDropDownViewModel'], SettingsSystemDropDownViewModel);
_.extend(SettingsSystemDropDownViewModel.prototype, AbstractSystemDropDownViewModel.prototype);
module.exports = SettingsSystemDropDownViewModel;