Exemplo n.º 1
0
 updateFileCache : function(isDirty){
                     filelist.getFileList(isDirty, function(data, state){
                       if (state != apf.SUCCESS)
                       return;
                     language.worker.emit("updateFileCache", { data: data });
                     });       
                   },
Exemplo n.º 2
0
    updateFileCache : function(isDirty){
        var _self = this;

        filelist.getFileList(isDirty, function(data, state){
            if (state != apf.SUCCESS)
                return;

            var array = data.replace(/^\./gm, "").split("\n");
            array.pop(); //remove trailing empty element;

            var start = "<d:href>";
            var end   = "</d:href>";
            var glue  = end + start;

            var c = array.length;
            var i = 0;
            var arrN = [];
            while(i < c) { arrN.push(i++); }

            data = apf.getXml("<d:multistatus  xmlns:d='DAV:'><d:response>"
                + start + arrN.join(glue) + end + "</d:response></d:multistatus>");

            _self.arrayCache = array;

            if (self.winGoToFile && _self.lastSearch) {
                if (!winGoToFile.visible) {
                    var $winGoToFileProVisible;
                    winGoToFile.addEventListener("prop.visible", $winGoToFileProVisible = function(e){
                        _self.windowVisible(e.value, data);

                        winGoToFile.removeEventListener("prop.visible", $winGoToFileProVisible);
                    });
                 }
                 else {
                     _self.windowVisible(true, data);
                 }
            }
            else {
                _self.arraySearchResults = array;
                _self.model.load(data);

                if (self.dgGoToFile)
                    _self.updateDatagrid();
            }
        });
    },
Exemplo n.º 3
0
    updateFileCache : function(isDirty){
        var _self = this;

        filelist.getFileList(isDirty, function(data, state){
            if (state != apf.SUCCESS)
                return;

            var array = data.replace(/^\./gm, "").split("\n");
            array.pop(); //remove trailing empty element;

            var start = "<d:href>";
            var end   = "</d:href>";
            var glue  = end + start;

            var c = array.length;
            var arrN = [];
            while(c--) { arrN.unshift(c); }

            data = apf.getXml("<d:multistatus  xmlns:d='DAV:'><d:response>"
                + start + arrN.join(glue) + end + "</d:response></d:multistatus>");

            _self.arrayCache = array;

            if (self.winGoToFile && _self.lastSearch) {
                winGoToFile.addEventListener("prop.visible", function(e){
                    if (e.value) {
                        var search = _self.lastSearch;
                        _self.lastSearch = null; //invalidate cache

                        var sel = [];
                        dgGoToFile.getSelection().forEach(function(node){
                            var i = node.firstChild.nodeValue;
                            sel.push(_self.arraySearchResults[i]);
                        })

                        var state = {
                            sel : sel, //store previous selection
                            caret : dgGoToFile.caret && _self.arraySearchResults[dgGoToFile.caret.firstChild.nodeValue],
                            scrollTop : dgGoToFile.$viewport.getScrollTop()
                        };

                        _self.model.load(data);
                        _self.filter(search, state.sel.length);

                        if (state.sel.length && state.sel.length < 100) {
                            var list = [], sel = state.sel;
                            for (var i = 0, l = sel.length; i < l; i++) {
                                list.push(dgGoToFile.queryNode("//d:href[text()='"
                                    + _self.arraySearchResults.indexOf(sel[i]) + "']"));
                            }
                            dgGoToFile.selectList(list);
                            if (state.caret)
                                dgGoToFile.setCaret(dgGoToFile.queryNode("//d:href[text()='"
                                    + _self.arraySearchResults.indexOf(state.caret) + "']"));
                            dgGoToFile.$viewport.setScrollTop(state.scrollTop);
                        }
                    }

                    winGoToFile.removeEventListener("prop.visible", arguments.callee);
                });
            }
            else {
                _self.arraySearchResults = array;
                _self.model.load(data);

                if (self.dgGoToFile)
                    _self.updateDatagrid();
            }
        });
    },