mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
feature(cloudcmd) do not hide path and header when files are scrolling
This commit is contained in:
parent
8469c700a7
commit
45f59f18c2
7 changed files with 47 additions and 26 deletions
|
|
@ -260,8 +260,8 @@
|
|||
else {
|
||||
p.name = INDEX_PATH,
|
||||
lPanel = CloudFunc.buildFromJSON(pJSON, FileTemplate, PathTemplate, LinkTemplate),
|
||||
lList = '<ul id=left class=panel>' + lPanel + '</ul>' +
|
||||
'<ul id=right class=panel>' + lPanel + '</ul>';
|
||||
lList = '<div id=left class=panel>' + lPanel + '</div>' +
|
||||
'<div id=right class=panel>' + lPanel + '</div>';
|
||||
|
||||
main.sendResponse(p, indexProcessing({
|
||||
additional : lList,
|
||||
|
|
|
|||
|
|
@ -176,7 +176,6 @@ body {
|
|||
width: 46%;
|
||||
padding: 20px;
|
||||
margin: 0;
|
||||
overflow-y: auto;
|
||||
border: 1.5px solid;
|
||||
border-color: rgb(49, 123, 249);
|
||||
border-color: rgba(49, 123, 249, .40);
|
||||
|
|
@ -210,7 +209,10 @@ body {
|
|||
width: 23%;
|
||||
}
|
||||
|
||||
.panel, li {
|
||||
.files {
|
||||
overflow-y: auto;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style-type: none;
|
||||
cursor: default;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@
|
|||
Height = (Height / 100).toFixed() * 100;
|
||||
|
||||
style = document.createElement('style');
|
||||
style.innerText = '.panel {' +
|
||||
style.innerText = '.files {' +
|
||||
'height:' + Height +'px;' +
|
||||
'}';
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
<li class=path><span class="path-icon clear-storage" id=clear-storage title="clear storage (Ctrl+D)"></span><span class="path-icon refresh-icon" title="refresh (Ctrl+R)"><a href="{{ link }}"></a></span><span>{{ path }}</span></li>
|
||||
<div class=path><span class="path-icon clear-storage" id=clear-storage title="clear storage (Ctrl+D)"></span><span class="path-icon refresh-icon" title="refresh (Ctrl+R)"><a href="{{ link }}"></a></span><span>{{ path }}</span></div>
|
||||
|
|
@ -255,11 +255,9 @@ var Util, DOM, CloudFunc, CloudCmd;
|
|||
Util.exec(pCallBack);
|
||||
|
||||
/* выделяем строку с первым файлом */
|
||||
var lFmHeader = DOM.getByClass('fm-header');
|
||||
if (lFmHeader && lFmHeader[0]) {
|
||||
var lCurrent = lFmHeader[0].nextSibling;
|
||||
DOM.setCurrentFile(lCurrent);
|
||||
}
|
||||
var lFiles = DOM.getFiles();
|
||||
if (lFiles)
|
||||
DOM.setCurrentFile(lFiles[0]);
|
||||
|
||||
Util.exec(CloudCmd.Key);
|
||||
}
|
||||
|
|
@ -392,7 +390,8 @@ var Util, DOM, CloudFunc, CloudCmd;
|
|||
* @param pJSON - данные о файлах
|
||||
*/
|
||||
function createFileTable(pJSON) {
|
||||
var panel = DOM.getPanel(),
|
||||
var files,
|
||||
panel = DOM.getPanel(),
|
||||
/* getting current element if was refresh */
|
||||
lPath = DOM.getCurrentDirPath(panel),
|
||||
|
||||
|
|
@ -416,25 +415,26 @@ var Util, DOM, CloudFunc, CloudCmd;
|
|||
|
||||
panel.innerHTML = CloudFunc.buildFromJSON(pJSON, pTemplate, pPathTemplate, pLinkTemplate);
|
||||
|
||||
files = DOM.getFiles(panel);
|
||||
/* если нажали на ссылку на верхний каталог*/
|
||||
var lFound;
|
||||
/* searching current file */
|
||||
if (lWasRefresh_b) {
|
||||
var n = panel.childNodes.length;
|
||||
for(i = 2; i < n ; i++) {
|
||||
var lVarCurrent = panel.childNodes[i],
|
||||
var n = files.length;
|
||||
for(i = 0; i < n ; i++) {
|
||||
var lVarCurrent = files[i],
|
||||
lVarName = DOM.getCurrentName(lVarCurrent);
|
||||
|
||||
lFound = lVarName === lName;
|
||||
|
||||
if (lFound) {
|
||||
lCurrent = panel.childNodes[i];
|
||||
lCurrent = files[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!lFound) /* .. */
|
||||
lCurrent = panel.childNodes[2];
|
||||
lCurrent = files[0];
|
||||
|
||||
DOM.setCurrentFile(lCurrent);
|
||||
|
||||
|
|
|
|||
|
|
@ -1863,7 +1863,7 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
|
|||
* @param pPanel_o = {active: true}
|
||||
*/
|
||||
this.getPanel = function(pActive) {
|
||||
var lPanel = this.getCurrentFile().parentElement;
|
||||
var lPanel = this.getCurrentFile().parentElement.parentElement;
|
||||
|
||||
/* if {active : false} getting passive panel */
|
||||
if (pActive && !pActive.active) {
|
||||
|
|
@ -1885,6 +1885,19 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
|
|||
return lPanel;
|
||||
};
|
||||
|
||||
this.getFiles = function() {
|
||||
var files = DOM.getByClass('files')[0];
|
||||
|
||||
return files;
|
||||
};
|
||||
|
||||
this.getFiles = function(element) {
|
||||
var files = DOM.getByClass('files', element)[0],
|
||||
ret = files.children || [];
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
/** prevent default event */
|
||||
this.preventDefault = function(pEvent) {
|
||||
var lRet,
|
||||
|
|
|
|||
|
|
@ -339,20 +339,24 @@ var Util;
|
|||
lFileTable = Util.render(pPathTemplate, {
|
||||
link: FS + lRefreshPath,
|
||||
path: lHtmlPath
|
||||
}),
|
||||
|
||||
lHeader = Util.render(pTemplate, {
|
||||
className : 'fm-header',
|
||||
type : '',
|
||||
name : 'name',
|
||||
size : 'size',
|
||||
owner : 'owner',
|
||||
mode : 'mode'
|
||||
});
|
||||
|
||||
lFileTable += Util.render(pTemplate, {
|
||||
className : 'fm-header',
|
||||
type : '',
|
||||
name : 'name',
|
||||
size : 'size',
|
||||
owner : 'owner',
|
||||
mode : 'mode'
|
||||
});
|
||||
lHeader = Util.replaceStr(lHeader, 'li', 'div');
|
||||
lFileTable += lHeader;
|
||||
|
||||
/* сохраняем путь */
|
||||
CloudFunc.Path = lPath;
|
||||
|
||||
lFileTable += '<ul class="files">';
|
||||
/* Если мы не в корне */
|
||||
if (lPath !== '/') {
|
||||
/* ссылка на верхний каталог*/
|
||||
|
|
@ -413,6 +417,8 @@ var Util;
|
|||
});
|
||||
}
|
||||
|
||||
lFileTable += '</ul>';
|
||||
|
||||
return lFileTable;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue