Thanks for your help.

I tried it with this code:

        var searchDelegate = {};
        searchDelegate.filter = function(data) {
            var name = data.get("name").toLowerCase();
            var searchString = searchTextField.getValue().toLowerCase();
            var containsString = name.indexOf(searchString) > -1;
            var childMatchString = false;

            return (recursiveSearch(data, searchString) || containsString);
        };

        function recursiveSearch(model, searchString){
            var matchString = false;
            var childMatchString = false;

            model.get("children").forEach(function(entry) {
                var childname = entry.get("name").toLowerCase();
                if(childname.indexOf(searchString) > -1){
                    matchString = true;
                }
                childMatchString = recursiveSearch(entry, searchString);
                if(childMatchString || matchString)
                    tree.openNodeWithoutScrolling(entry);
            });

            return (childMatchString || matchString);
        }

Without the tree.openNodeWithoutScrolling the Search works well, but if i
take it in i get an "Maximum call stack size exceeded".
This happens also when the matched string is in the second level only one
time, so tree.openNodeWithoutScrolling(entry); should be called only one
time. 



--
View this message in context: 
http://qooxdoo.678.n2.nabble.com/Open-All-Nodes-in-VirtualTree-tp7587679p7587743.html
Sent from the qooxdoo mailing list archive at Nabble.com.

------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to