Skip to content

Commit

Permalink
Cleaner way of handling fake container elements
Browse files Browse the repository at this point in the history
  • Loading branch information
slusarz committed Jun 9, 2014
1 parent 89cb677 commit 09e5f0e
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions imp/js/dimpbase.js
Expand Up @@ -4147,18 +4147,18 @@ var IMP_Flist_Mbox = Class.create({
old_elt = mbox.element();
}

// Extra fields: dummy, elt, fixed, unseen
// Extra fields: fake, elt, fixed, unseen
this.data = ob;

title = ob.t || ob.l;

/* Create a dummy container element in normal mailboxes section
/* Create a "fake" container element in normal mailboxes section
* if special mailbox has children. */
if (ob.s && ob.ch) {
tmp = Object.clone(ob);
tmp.co = tmp.dummy = true;
tmp.s = false;
flist.createMbox(tmp);
this.data.fake = new IMP_Flist_Mbox(flist, Object.extend(Object.clone(ob), {
co: true,
s: false
}));
}

if (ob.v) {
Expand Down Expand Up @@ -4281,7 +4281,9 @@ var IMP_Flist_Mbox = Class.create({
{
var elt;

if (!Object.isUndefined(e)) {
if (this.data.fake) {
return this.data.fake.expand(e);
} else if (!Object.isUndefined(e)) {
elt = this.data.elt.down('DIV.horde-subnavi-icon');
[ 'col', 'exp', 'folderImg' ].each(elt.removeClassName.bind(elt));

Expand Down Expand Up @@ -4314,6 +4316,10 @@ var IMP_Flist_Mbox = Class.create({
{
var m_elt;

if (this.data.fake) {
return this.data.fake.subElement();
}

m_elt = this.data.elt.next();
return (m_elt && m_elt.hasClassName('horde-subnavi-sub'))
? m_elt
Expand All @@ -4331,11 +4337,6 @@ var IMP_Flist_Mbox = Class.create({
return this.data.m;
},

dummy: function()
{
return !!this.data.dummy;
},

isContainer: function()
{
return this.data.elt.hasClassName('imp-sidebar-container');
Expand Down

0 comments on commit 09e5f0e

Please sign in to comment.