]>
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() {
53 Ext
.tip
.QuickTipManager
.init();
55 function renderTitle(value
, p
, record
) {
58 '<a href="http://sencha.com/forum/showthread.php?t={1}" target="_blank">{0}</a>',
65 store
= Ext
.create('Ext.data.TreeStore', {
70 url
: 'forum-data.json'
75 tree
= Ext
.create('Ext.tree.Panel', {
76 title
: 'Forum Folder Summary',
79 renderTo
: Ext
.getBody(),
80 reserveScrollbar
: true,
88 xtype
: 'treecolumn', // this is so we know which column will show the tree
92 dataIndex
: 'forumtitle'
96 dataIndex
: 'username',
102 renderer
: renderTitle
106 xtype
: 'triggerfield',
107 fieldLabel
: 'Filter on thread title',
108 triggerCls
: 'x-form-clear-trigger',
109 onTriggerClick: function() {
114 enableKeyEvents
: true,
117 var field
= tree
.down('textfield'),
121 v
= new RegExp(field
.getValue(), 'i');
123 filterFn: function(node
) {
124 var children
= node
.childNodes
,
125 len
= children
&& children
.length
,
127 // Visibility of leaf nodes is whether they pass the test.
128 // Visibility of branch nodes depends on them having visible children.
129 visible
= node
.isLeaf() ? v
.test(node
.get('title')) : false,
132 // We're visible if one of our child nodes is visible.
133 // No loop body here. We are looping only while the visible flag remains false.
134 // Child nodes are filtered before parents, so we can check them here.
135 // As soon as we find a visible child, this branch node must be visible.
136 // eslint-disable-next-line
137 for (i
= 0; i
< len
&& !(visible
= children
[i
].get('visible')); i
++) { }
145 field
.markInvalid('Invalid regular expression');