feature(link) add

This commit is contained in:
coderaiser 2013-12-04 15:04:45 +00:00
parent d849593f19
commit a4ef905bbd
4 changed files with 15 additions and 11 deletions

View file

@ -30,8 +30,9 @@
FILE_TMPL = HTMLDIR + 'file.html',
PATH_TMPL = HTMLDIR + 'path.html',
LINK_TMPL = HTMLDIR + 'path.html',
FileTemplate, PathTemplate,
FileTemplate, PathTemplate, LinkTemplate,
FS = CloudFunc.FS;
/* reinit main dir os if we on Win32 should be backslashes */
@ -139,7 +140,7 @@
route : route
},
lFiles = [FILE_TMPL, PATH_TMPL];
lFiles = [FILE_TMPL, PATH_TMPL, LINK_TMPL];
if (Config.ssl)
lFiles.push(KEY, CERT);
@ -150,6 +151,7 @@
else {
FileTemplate = pFiles[FILE_TMPL];
PathTemplate = pFiles[PATH_TMPL];
LinkTemplate = pFiles[LINK_TMPL];
if (Config.ssl)
lParams.ssl = {
@ -257,7 +259,7 @@
main.sendError(p, error);
else {
p.name = INDEX_PATH,
lPanel = CloudFunc.buildFromJSON(pJSON, FileTemplate, PathTemplate),
lPanel = CloudFunc.buildFromJSON(pJSON, FileTemplate, PathTemplate, LinkTemplate),
lList = '<ul id=left class=panel>' + lPanel + '</ul>' +
'<ul id=right class=panel>' + lPanel + '</ul>';

1
html/link.html Normal file
View file

@ -0,0 +1 @@
<a href="{{ link }}" title="{{ name }}" target="{{ target }}" draggable=true>{{ name }}</a>

View file

@ -11,7 +11,7 @@ var Util, DOM, CloudFunc, CloudCmd;
function CloudCmdProto(Util, DOM) {
var Key, Config, Modules, Extensions,
FileTemplate, PathTemplate, Listeners,
FileTemplate, PathTemplate, LinkTemplate, Listeners,
CloudCmd = this;
Storage = DOM.Storage;
@ -284,6 +284,7 @@ var Util, DOM, CloudFunc, CloudCmd;
this.getExt = getSystemFile(Extensions, CloudCmd.JSONDIR + 'ext.json');
this.getFileTemplate = getSystemFile(FileTemplate, CloudCmd.HTMLDIR + 'file.html');
this.getPathTemplate = getSystemFile(PathTemplate, CloudCmd.HTMLDIR + 'path.html');
this.getLinkTemplate = getSystemFile(PathTemplate, CloudCmd.HTMLDIR + 'link.html');
this.execFromModule = function(pModuleName, pFuncName, pParams) {
var lObject = CloudCmd[pModuleName];
@ -401,17 +402,18 @@ var Util, DOM, CloudFunc, CloudCmd;
lWasRefresh_b = lPath[0].textContent === pJSON.path,
lFuncs = [
CloudCmd.getFileTemplate,
CloudCmd.getPathTemplate
CloudCmd.getPathTemplate,
CloudCmd.getLinkTemplate
];
Util.asyncCall(lFuncs, function(pTemplate, pPathTemplate) {
Util.asyncCall(lFuncs, function(pTemplate, pPathTemplate, pLinkTemplate) {
/* очищаем панель */
var i = lElem.childNodes.length;
while(i--)
lElem.removeChild(lElem.lastChild);
lElem.innerHTML = CloudFunc.buildFromJSON(pJSON, pTemplate, pPathTemplate);
lElem.innerHTML = CloudFunc.buildFromJSON(pJSON, pTemplate, pPathTemplate, pLinkTemplate);
/* если нажали на ссылку на верхний каталог*/
var lFound;

View file

@ -317,9 +317,8 @@ var Util;
* [{path:'путь',size:'dir'},
* {name:'имя',size:'размер',mode:'права доступа'}]
*/
this.buildFromJSON = function(pJSON, pTemplate, pPathTemplate) {
this.buildFromJSON = function(pJSON, pTemplate, pPathTemplate, pLinkTemplate) {
var lFile, i, n, type, link, target, size, owner, mode,
linkTemplate = '<a href="{{ link }}" title="{{ name }}" target="{{ target }}" draggable=true>{{ name }}</a>',
linkResult,
files = pJSON.files,
/* сохраняем путь каталога в котором мы сейчас находимся*/
@ -367,7 +366,7 @@ var Util;
lLink = FS + lDotDot;
linkResult = Util.render(linkTemplate, {
linkResult = Util.render(pLinkTemplate, {
link : lLink,
name : '..',
target : ''
@ -395,7 +394,7 @@ var Util;
mode = CloudFunc.getSymbolicPermissions(lFile.mode);
linkResult = Util.render(linkTemplate, {
linkResult = Util.render(pLinkTemplate, {
link : link,
name : lFile.name,
target : target