updateFileCache : function(isDirty){ filelist.getFileList(isDirty, function(data, state){ if (state != apf.SUCCESS) return; language.worker.emit("updateFileCache", { data: data }); }); },
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(); } }); },
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(); } }); },