mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-19 09:24:51 +00:00
refactor(client) createFileTable
This commit is contained in:
parent
86eac9dc83
commit
1cf4f0a146
1 changed files with 19 additions and 22 deletions
|
|
@ -410,60 +410,57 @@ var Util, DOM, CloudFunc;
|
|||
* Функция строит файловую таблицу
|
||||
* @param pJSON - данные о файлах
|
||||
*/
|
||||
this.createFileTable = function(pJSON) {
|
||||
this.createFileTable = function(json) {
|
||||
var files,
|
||||
panel = DOM.getPanel(),
|
||||
/* getting current element if was refresh */
|
||||
lPath = DOM.getCurrentDirPath(panel),
|
||||
path = DOM.getCurrentDirPath(panel),
|
||||
|
||||
lCurrent = DOM.getCurrentFile(),
|
||||
lDir = DOM.getCurrentDirName(),
|
||||
current = DOM.getCurrentFile(),
|
||||
dir = DOM.getCurrentDirName(),
|
||||
|
||||
lName = DOM.getCurrentName(lCurrent),
|
||||
wasRefresh = lPath === pJSON.path,
|
||||
lFuncs = [
|
||||
name = DOM.getCurrentName(current),
|
||||
wasRefresh = path === json.path,
|
||||
funcs = [
|
||||
CloudCmd.getFileTemplate,
|
||||
CloudCmd.getPathTemplate,
|
||||
CloudCmd.getLinkTemplate
|
||||
];
|
||||
|
||||
Util.asyncCall(lFuncs, function(pTemplate, pPathTemplate, pLinkTemplate) {
|
||||
/* очищаем панель */
|
||||
var n, found,
|
||||
Util.asyncCall(funcs, function(templFile, templPath, templLink) {
|
||||
var n, found, varCurrent, varName,
|
||||
i = panel.childNodes.length;
|
||||
|
||||
while(i--)
|
||||
panel.removeChild(panel.lastChild);
|
||||
|
||||
panel.innerHTML = CloudFunc.buildFromJSON(pJSON, pTemplate, pPathTemplate, pLinkTemplate);
|
||||
|
||||
files = DOM.getFiles(panel);
|
||||
panel.innerHTML = CloudFunc.buildFromJSON(json, templFile, templPath, templLink);
|
||||
files = DOM.getFiles(panel);
|
||||
|
||||
/* searching current file */
|
||||
if (wasRefresh) {
|
||||
n = files.length;
|
||||
|
||||
for (i = 0; i < n ; i++) {
|
||||
var lVarCurrent = files[i],
|
||||
lVarName = DOM.getCurrentName(lVarCurrent);
|
||||
|
||||
found = lVarName === lName;
|
||||
varCurrent = files[i],
|
||||
varName = DOM.getCurrentName(varCurrent);
|
||||
found = varName === name;
|
||||
|
||||
if (found) {
|
||||
lCurrent = files[i];
|
||||
current = files[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!found) /* .. */
|
||||
lCurrent = files[0];
|
||||
current = files[0];
|
||||
|
||||
DOM.setCurrentFile(lCurrent);
|
||||
DOM.setCurrentFile(current);
|
||||
|
||||
Listeners.changeLinks(panel.id);
|
||||
|
||||
if (lName === '..' && lDir !== '/')
|
||||
currentToParent(lDir);
|
||||
if (name === '..' && dir !== '/')
|
||||
currentToParent(dir);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue