siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
96 lines (69 loc) • 2.77 kB
HTML
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The source code</title>
<link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../resources/prettify/prettify.js"></script>
<style type="text/css">
.highlight { display: block; background-color: #ddd; }
</style>
<script type="text/javascript">
function highlight() {
document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
}
</script>
</head>
<body onload="prettyPrint(); highlight();">
<pre class="prettyprint lang-js">/*
Siesta 5.6.1
Copyright(c) 2009-2022 Bryntum AB
https://bryntum.com/contact
https://bryntum.com/products/siesta/license
*/
// !XXX when adding new methods to this mixing need to also update the
// `setupLockableTree` method in the Sch.mixin.Lockable
Ext.define("Sch.mixin.FilterableTreeView", {
filterableTreeStore : null,
treeStoreFilteringListeners : null,
initTreeFiltering : function () {
this.treeStoreFilteringListeners = {
'nodestore-datachange-start' : this.onFilterChangeStart,
'nodestore-datachange-end' : this.onFilterChangeEnd,
'filter-clear' : this.onFilterCleared,
'filter-set' : this.onFilterSet,
'forcedrefresh' : this.onForcedRefresh,
scope : this
}
var doInit = function () {
var treeStore = this.up('tablepanel').store;
this.bindFilterableTreeStore(treeStore)
};
if (this.rendered)
doInit.call(this);
else
this.on('beforerender', doInit, this, { single : true });
},
bindFilterableTreeStore : function (store) {
if (this.filterableTreeStore) this.mun(this.filterableTreeStore, this.treeStoreFilteringListeners)
this.filterableTreeStore = store
if (store) this.mon(store, this.treeStoreFilteringListeners)
},
onForcedRefresh : function () {
this.focusRow = function () {}
this.refresh()
delete this.focusRow
},
onFilterChangeStart : function () {
Ext.suspendLayouts();
},
onFilterChangeEnd : function () {
Ext.resumeLayouts(true);
},
onFilterCleared : function () {
},
onFilterSet : function () {
}
});</pre>
</body>
</html>