Small fixes

This commit is contained in:
RainLoop Team 2013-12-13 03:23:47 +04:00
parent ff8ef2012b
commit c9b5194baf
33 changed files with 296 additions and 58 deletions

View file

@ -10,8 +10,9 @@ function AbstractApp()
this.oSettings = null;
this.oPlugins = null;
this.oLink = null;
this.oLocal = null;
this.oLink = null;
this.oSubs = {};
this.isLocalAutocomplete = true;
@ -41,7 +42,10 @@ function AbstractApp()
_.extend(AbstractApp.prototype, KnoinAbstractBoot.prototype);
AbstractApp.prototype.oSettings = null;
AbstractApp.prototype.oPlugins = null;
AbstractApp.prototype.oLocal = null;
AbstractApp.prototype.oLink = null;
AbstractApp.prototype.oSubs = {};
/**
* @param {string} sLink
@ -209,6 +213,45 @@ AbstractApp.prototype.getAutocomplete = function (sQuery, fCallback)
fCallback([], sQuery);
};
/**
* @param {string} sName
* @param {Function} fFunc
* @param {Object=} oContext
* @return {AbstractApp}
*/
AbstractApp.prototype.sub = function (sName, fFunc, oContext)
{
if (Utils.isUnd(this.oSubs[sName]))
{
this.oSubs[sName] = [];
}
this.oSubs[sName].push([fFunc, oContext]);
return this;
};
/**
* @param {string} sName
* @param {Array=} aArgs
* @return {AbstractApp}
*/
AbstractApp.prototype.pub = function (sName, aArgs)
{
if (!Utils.isUnd(this.oSubs[sName]))
{
window.console.log(sName);
_.each(this.oSubs[sName], function (aItem) {
if (aItem[0])
{
aItem[0].apply(aItem[1] || null, aArgs || []);
}
});
}
return this;
};
AbstractApp.prototype.bootstart = function ()
{
Utils.initOnStartOrLangChange(function () {

View file

@ -127,6 +127,16 @@ Selector.prototype.selectItemCallbacks = function (oItem)
(this.oCallbacks['onItemSelect'] || this.emptyFunction)(oItem);
};
Selector.prototype.goDown = function ()
{
this.newSelectPosition(Enums.EventKeyCode.Down, false);
};
Selector.prototype.goUp = function ()
{
this.newSelectPosition(Enums.EventKeyCode.Up, false);
};
Selector.prototype.init = function (oContentVisible, oContentScrollable)
{
this.oContentVisible = oContentVisible;

View file

@ -87,14 +87,14 @@
.b-appachments {
.b-attacment {
display: inline-block;
line-height: 20px;
padding-bottom: 10px;
}
.b-attacment-in-process {
display: inline-block;
line-height: 20px;
padding-bottom: 10px;
.uploading {
display: none;

View file

@ -178,6 +178,15 @@ function MailBoxMessageListViewModel()
}
}, this));
RL
.sub('mailbox.message-list.selector.go-down', function () {
this.selector.goDown();
}, this)
.sub('mailbox.message-list.selector.go-up', function () {
this.selector.goUp();
}, this)
;
Knoin.constructorEnd(this);
}

View file

@ -62,6 +62,11 @@ function MailBoxMessageViewViewModel()
// TODO
window.console.log(arguments);
}, this.messageVisibility);
this.spamCommand = Utils.createCommand(this, function () {
// TODO
window.console.log(arguments);
}, this.messageVisibility);
// viewer
this.viewSubject = ko.observable('');
@ -147,6 +152,14 @@ function MailBoxMessageViewViewModel()
this.scrollMessageToTop();
}, this);
this.goUpCommand = Utils.createCommand(this, function () {
RL.pub('mailbox.message-list.selector.go-up');
});
this.goDownCommand = Utils.createCommand(this, function () {
RL.pub('mailbox.message-list.selector.go-down');
});
Knoin.constructorEnd(this);
}

View file

@ -56,17 +56,26 @@ function PopupsComposeViewModel()
this.saving = ko.observable(false);
this.attachments = ko.observableArray([]);
this.attachmentsInProcess = ko.computed(function () {
return _.filter(this.attachments(), function (oItem) {
return oItem && '' === oItem.tempName();
});
}, this);
// this.attachmentsInProcess = ko.computed(function () {
// return _.filter(this.attachments(), function (oItem) {
// return oItem && '' === oItem.tempName();
// });
// }, this);
//
// this.attachmentsInReady = ko.computed(function () {
// return _.filter(this.attachments(), function (oItem) {
// return oItem && '' !== oItem.tempName();
// });
// }, this);
this.attachmentsInReady = ko.computed(function () {
return _.filter(this.attachments(), function (oItem) {
return oItem && '' !== oItem.tempName();
});
}, this);
this.attachmentsInProcess = this.attachments.filter(function (oItem) {
return oItem && '' === oItem.tempName();
});
this.attachmentsInReady = this.attachments.filter(function (oItem) {
return oItem && '' !== oItem.tempName();
});
this.attachments.subscribe(function () {
this.triggerForResize();