]>
git.proxmox.com Git - extjs.git/blob - extjs/build/examples/classic/tree/filtered-buffer-rendered-treegrid.js
9 extend
: 'Ext.data.TreeModel',
26 dateFormat
: 'timestamp'
42 dateFormat
: 'timestamp',
50 Ext
.onReady(function() {
51 Ext
.tip
.QuickTipManager
.init();
53 function renderTitle(value
, p
, record
) {
54 return value
? Ext
.String
.format(
55 '<a href="http://sencha.com/forum/showthread.php?t={1}" target="_blank">{0}</a>',
61 var store
= Ext
.create('Ext.data.TreeStore', {
66 url
: 'forum-data.json'
71 var tree
= Ext
.create('Ext.tree.Panel', {
72 title
: 'Forum Folder Summary',
75 renderTo
: Ext
.getBody(),
76 reserveScrollbar
: true,
84 xtype
: 'treecolumn', //this is so we know which column will show the tree
88 dataIndex
: 'forumtitle'
92 dataIndex
: 'username',
102 xtype
: 'triggerfield',
103 fieldLabel
: 'Filter on thread title',
104 triggerCls
: 'x-form-clear-trigger',
105 onTriggerClick: function() {
110 enableKeyEvents
: true,
113 var field
= tree
.down('textfield'),
117 v
= new RegExp(field
.getValue(), 'i');
119 filterFn: function(node
) {
120 var children
= node
.childNodes
,
121 len
= children
&& children
.length
,
123 // Visibility of leaf nodes is whether they pass the test.
124 // Visibility of branch nodes depends on them having visible children.
125 visible
= node
.isLeaf() ? v
.test(node
.get('title')) : false,
128 // We're visible if one of our child nodes is visible.
129 // No loop body here. We are looping only while the visible flag remains false.
130 // Child nodes are filtered before parents, so we can check them here.
131 // As soon as we find a visible child, this branch node must be visible.
132 for (i
= 0; i
< len
&& !(visible
= children
[i
].get('visible')); i
++);
139 field
.markInvalid('Invalid regular expression');