/**
* Ext JS Library 3.4.0
* Copyright(c) 2006-2011 Sencha Inc.
* licensing@sencha.com
* http://www.sencha.com/license
*/
/**
* @class Ext.ux.tree.TreeGridNodeUI
* @extends Ext.tree.TreeNodeUI
*/
Ext.ux.tree.TreeGridNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
isTreeGridNodeUI: true,
renderElements: function (n, a, targetNode, bulkRender) {
var t = n.getOwnerTree(),
cols = t.columns,
c = cols[0],
i,
buf,
len;
this.indentMarkup = n.parentNode
? n.parentNode.ui.getChildIndent()
: '';
buf = [
'
',
'',
'',
'',
this.indentMarkup,
'',
'',
'',
'',
'',
c.tpl ? c.tpl.apply(a) : a[c.dataIndex] || c.text,
'',
' | ',
];
for (i = 1, len = cols.length; i < len; i++) {
c = cols[i];
buf.push(
'',
' ',
c.tpl ? c.tpl.apply(a) : a[c.dataIndex],
' ',
' | '
);
}
buf.push(
'
',
''
);
for (i = 0, len = cols.length; i < len; i++) {
buf.push(
''
);
}
buf.push(' |
');
if (bulkRender !== true && n.nextSibling && n.nextSibling.ui.getEl()) {
this.wrap = Ext.DomHelper.insertHtml(
'beforeBegin',
n.nextSibling.ui.getEl(),
buf.join('')
);
} else {
this.wrap = Ext.DomHelper.insertHtml(
'beforeEnd',
targetNode,
buf.join('')
);
}
this.elNode = this.wrap.childNodes[0];
this.ctNode = this.wrap.childNodes[1].firstChild.firstChild;
var cs = this.elNode.firstChild.childNodes;
this.indentNode = cs[0];
this.ecNode = cs[1];
this.iconNode = cs[2];
this.anchor = cs[3];
this.textNode = cs[3].firstChild;
},
// private
animExpand: function (cb) {
this.ctNode.style.display = '';
Ext.ux.tree.TreeGridNodeUI.superclass.animExpand.call(this, cb);
},
});
Ext.ux.tree.TreeGridRootNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
isTreeGridNodeUI: true,
// private
render: function () {
if (!this.rendered) {
this.wrap = this.ctNode = this.node.ownerTree.innerCt.dom;
this.node.expanded = true;
}
if (Ext.isWebKit) {
// weird table-layout: fixed issue in webkit
var ct = this.ctNode;
ct.style.tableLayout = null;
(function () {
ct.style.tableLayout = 'fixed';
}.defer(1));
}
},
destroy: function () {
if (this.elNode) {
Ext.dd.Registry.unregister(this.elNode.id);
}
delete this.node;
},
collapse: Ext.emptyFn,
expand: Ext.emptyFn,
});