mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 18:55:26 +00:00
changed the way file table building. From now templating used.
This commit is contained in:
parent
40312754b6
commit
9268c4c281
3 changed files with 40 additions and 29 deletions
|
|
@ -37,7 +37,9 @@ would be on top.
|
|||
* Fixed bug with saving json to localStorage, it's always
|
||||
writed root directory.
|
||||
|
||||
* Moved out set current file from cloudfunc to client.js
|
||||
* Moved out set current file from cloudfunc to client.js.
|
||||
|
||||
* Changed the way file table building. From now templating used.
|
||||
|
||||
|
||||
2012.03.01, Version 0.1.9
|
||||
|
|
|
|||
|
|
@ -584,8 +584,11 @@ var Util, DOM, CloudFunc, $, KeyBinding, CloudCommander;
|
|||
if (lJSON){
|
||||
/* переводим из текста в JSON */
|
||||
lJSON = Util.parseJSON(lJSON);
|
||||
CloudCmd._createFileTable(lPanel, lJSON);
|
||||
CloudCmd._changeLinks(lPanel);
|
||||
|
||||
CloudCmd.getFileTemplate(function(pTemplate){
|
||||
CloudCmd._createFileTable(lPanel, lJSON, pTemplate);
|
||||
CloudCmd._changeLinks(lPanel);
|
||||
});
|
||||
}
|
||||
else
|
||||
lRet = true;
|
||||
|
|
@ -600,8 +603,10 @@ var Util, DOM, CloudFunc, $, KeyBinding, CloudCommander;
|
|||
},
|
||||
|
||||
success : function(pData){
|
||||
CloudCmd._createFileTable(lPanel, pData);
|
||||
CloudCmd._changeLinks(lPanel);
|
||||
CloudCmd.getFileTemplate(function(pTemplate){
|
||||
CloudCmd._createFileTable(lPanel, pData, pTemplate);
|
||||
CloudCmd._changeLinks(lPanel);
|
||||
});
|
||||
|
||||
/* переводим таблицу файлов в строку, для *
|
||||
* сохранения в localStorage */
|
||||
|
|
@ -621,26 +626,22 @@ var Util, DOM, CloudFunc, $, KeyBinding, CloudCommander;
|
|||
* @param pEleme - родительский элемент
|
||||
* @param pJSON - данные о файлах
|
||||
*/
|
||||
CloudCmd._createFileTable = function(pElem, pJSON){
|
||||
CloudCmd._createFileTable = function(pElem, pJSON, pTemplate){
|
||||
var lElem = DOM.getById(pElem),
|
||||
/* getting current element if was refresh */
|
||||
lPath = DOM.getByClass('path', lElem),
|
||||
lCurrent = DOM.getCurrentFile(),
|
||||
lName = DOM.getCurrentName(lName),
|
||||
lWasRefresh_b = lPath[0].textContent === pJSON[0].path;
|
||||
|
||||
/* говорим построителю,
|
||||
* что бы он в нужный момент
|
||||
* выделил строку с первым файлом
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* очищаем панель */
|
||||
var i = lElem.childNodes.length;
|
||||
|
||||
while(i--)
|
||||
lElem.removeChild(lElem.lastChild);
|
||||
|
||||
/* заполняем панель новыми элементами */
|
||||
lElem.innerHTML = CloudFunc.buildFromJSON(pJSON);
|
||||
/* заполняем панель новыми элементами */
|
||||
lElem.innerHTML = CloudFunc.buildFromJSON(pJSON, pTemplate);
|
||||
|
||||
var lFound;
|
||||
/* searching current file */
|
||||
|
|
@ -662,7 +663,6 @@ var Util, DOM, CloudFunc, $, KeyBinding, CloudCommander;
|
|||
lCurrent = lElem.childNodes[2];
|
||||
|
||||
DOM.setCurrentFile(lCurrent);
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -295,7 +295,7 @@ var CloudFunc, exports, Util;
|
|||
* [{path:'путь',size:'dir'},
|
||||
* {name:'имя',size:'размер',mode:'права доступа'}]
|
||||
*/
|
||||
CloudFunc.buildFromJSON = function(pJSON)
|
||||
CloudFunc.buildFromJSON = function(pJSON, pTemplate)
|
||||
{
|
||||
var files = pJSON,
|
||||
/* сохраняем путь каталога в котором мы сейчас находимся*/
|
||||
|
|
@ -348,16 +348,27 @@ var CloudFunc, exports, Util;
|
|||
lLink = FS + lDotDot;
|
||||
|
||||
/* Сохраняем путь к каталогу верхнего уровня*/
|
||||
lFileTable += '<li draggable class>' +
|
||||
'<span class="mini-icon directory"></span>' +
|
||||
'<span class=name>' +
|
||||
'<a href="' + lLink +
|
||||
'" draggable=true>' + "..</a>" +
|
||||
'</span>' +
|
||||
'<span class=size><dir></span>' +
|
||||
'<span class=owner>.</span>' +
|
||||
'<span class=mode></span>' +
|
||||
'</li>';
|
||||
|
||||
if(pTemplate)
|
||||
lFileTable += Util.render(pTemplate,{
|
||||
type : 'directory',
|
||||
link : lLink,
|
||||
name : '..',
|
||||
size : '<dir>',
|
||||
owner : '.',
|
||||
mode : ''
|
||||
});
|
||||
else
|
||||
lFileTable += '<li draggable class>' +
|
||||
'<span class="mini-icon directory"></span>' +
|
||||
'<span class=name>' +
|
||||
'<a href="' + lLink +
|
||||
'" draggable=true>' + "..</a>" +
|
||||
'</span>' +
|
||||
'<span class=size><dir></span>' +
|
||||
'<span class=owner>.</span>' +
|
||||
'<span class=mode></span>' +
|
||||
'</li>';
|
||||
}
|
||||
|
||||
for(var i = 1, n = files.length; i < n; i++){
|
||||
|
|
@ -397,8 +408,6 @@ var CloudFunc, exports, Util;
|
|||
(!lFile.uid ? 'root' : lFile.uid) +
|
||||
'</span>' +
|
||||
'<span draggable class=mode>' +
|
||||
/* конвертируем названия разрешений
|
||||
* из числового формата в буквенный */
|
||||
CloudFunc.getSymbolicPermissions(lFile.mode)+
|
||||
'</span>';
|
||||
lFileTable += '</li>';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue