Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Javascript Select Folder

[es] :: Javascript i AJAX :: Javascript Select Folder

[ Pregleda: 4132 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

byTer

Član broj: 10936
Poruke: 1221
*.info-net.co.yu

ICQ: 47761626


Profil

icon Javascript Select Folder18.11.2003. u 17:34 - pre 248 meseci
Da li postoji neki skript za selektovanje direktorijuma iz browsera.
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.beg.sezampro.yu

Sajt: localhost


+5 Profil

icon Re: Javascript Select Folder18.11.2003. u 18:59 - pre 248 meseci
naravno da ne postoji...



 
Odgovor na temu

DeYo
Dejan Vukmirovic
developer @ Mogul
Pozarevac/Bgd/Stockholm

Član broj: 36771
Poruke: 85
*.dynamic.sbb.co.yu.

Sajt: www.linkedin.com/in/dejan..


Profil

icon Re: Javascript Select Folder21.11.2006. u 08:40 - pre 212 meseci
Posto i meni treba nesto slicno, trazio sam netom i nasao ovo:
Code:
-------- default.asp PAGE------- 
<html> 
<head> 
<title>treeview</title> 
<link rel=stylesheet href='treeview.css'></link> 
</head> 
</html> 

<script language=javascript src='treeview.js'></script> 
<!--#include file='treeviewFunctions.asp'--> 

<% 
set fso = CreateObject("Scripting.FileSystemObject") 

vDir = "/claire_wood/"
root = Server.MapPath(vDir) & "\" 
set fold = fso.getFolder(root) 

' we'll assume that the starting point is not empty 
' (has at least one subfolder or one file) 

response.write getfoldlink("r0", "r0", fold, vDir) 
if fold.subfolders.count > 0 then 

' counter 
r1c = 0 

'loop through all subfolders in starting folder 
for each f in fold.subfolders 

' another counter 
r1c = r1c + 1 

' concatenate local/relative path once 
sfoldname = root & f.name & "\" 
fpath = vDir & f.name & "/" 

set cfold = fso.getFolder(sfoldname) 
if cfold.subfolders.count > 0 or cfold.files.count > 0 then 

' we need to make the folder a tree node 
response.Write getfoldlink("r1" & r1c, "r1", cfold, fpath) 

' reset counter 
r2c = 0 

for each sf in cfold.subfolders 

' keep track to identify nodes by id 
r2c = r2c + 1 

' concatenate local/relative path once 
sfoldname = root & f.name & "\" & sf.name & "\" 
path = vDir & f.name & "/" & sf.name & "/" 

' build an identifier for this node 
id = "r2" & r1c & "_" & r2c 

set sfold = fso.getFolder(sfoldname) 
if sfold.files.count > 0 then 

' we need to make the folder a tree node 
response.Write getfoldlink(id, "r2", sfold, path) 
for each fil in sfold.files 
response.write getfilelink("r2a", path, fil) 
next 
response.Write "</div>" 
else 

' this folder is not an expandable node 
response.write getfoldlink("", "r2", sfold, path) 
end if 
next 
for each fil in cfold.files 

' show each file in this subfolder 
response.write getfilelink("r1a", fpath, fil) 
next 
response.Write "</div>" 
else 

' this folder is not an expandable node 
response.Write getfoldlink("", "r1", cfold, fpath) 
end if 
next 
end if 
for each fil in fold.files 

' show the files in the starting folder 
response.write getfilelink("r0a", vDir, fil) 
next 
response.Write "</div>" 

set fso = nothing 
%> 

'-------- treeviewfunctions.asp -------- 
<% 
function getfoldlink(d, c, f, p) 
if d <> "" then 

' needs to be clickable 
getfoldlink = "<a href='#' style='cursor:hand' " & _ 
"onclick='flip(""" & d & """);" & _ 
"this.blur();return false;'>" & _ 
"<img id='i" & d & "' class=" & c & _ 
" src=plus.gif vspace=0 hspace=2 border=0>" & _ 
"<img src=folder.gif hspace=2 border=0></a>&nbsp;" & _ 
"<a target=_blank href=" & p & getsftitle(f) & _ 
">" & f.name & "</a></div><div id='" & d & "'" & _ 
" display=none style='display:none'>" 
else 

' can't be clickable 
getfoldlink = "<div><img id='i" & d & "' " & _ 
"class=" & c & " src=plus.gif vspace=0 " & _ 
"hspace=2 visibility=hidden style='visibility:hidden'><img" & _ 
" src=folder.gif hspace=2>&nbsp;<a " & _ 
"target=_blank href=" & p & getsftitle(f) & _ 
">" & f.name & "</a></div>" 
end if 
end function 

function getfilelink(c, fold, file) 
getfilelink = "<div><img class=" & c & " src=file.gif" & _ 
" hspace=2>&nbsp;<a href=" & fold & file.name & _ 
getfiletitle(file) & ">" & file.name & "</a></div>" 
end function 

function getfiletitle(file) 
getfiletitle = " title='Size: " & _ 
formatnumber(file.size/1024, 2, -1, 0, -1) & _ 
" kb" & vbCrLf & getDL(file) & "'" 
end function 

function getsftitle(fold) 
getsftitle = " title='" & getsfc(fold) & _ 
vbCrLf & getfc(fold) & _ 
vbCrLf & getfs(fold) & _ 
vbCrLf & getDL(fold) & "'" 
end function 

function getDL(o) 
d = o.dateLastModified 
getDL = "Last mod: " & formatdatetime(d, 2) & _ 
" " & formatdatetime(d, 3) 
end function 

function getfc(fold) 
getfc = fCount(fold.files.count) 
end function 

function getsfc(fold) 
getsfc = sfCount(fold.subfolders.count) 
end function 

function getfs(fold) 
getfs = "Size: " & bToMB(fold.size) 
end function 

function bToMB(b) 
bToMB = formatnumber(b/1024/1024, 2, -1, 0, -1) & " MB" 
end function 

function fCount(c) 
fCount = formatnumber(c, 0, -1, 0, -1) & " file" & _ 
suffix(c) 
end function 

function sfCount(c) 
sfCount = formatnumber(c, 0, -1, 0, -1) & _ 
" subfolder" & suffix(c) 
end function 

function suffix(c) 
if c <> 1 then suffix = "s" 
end function 
%> 

'---------treeview.js page----------------- 
function flip(l) 

if (document.getElementById) 

var on = (document.getElementById(l).style.display == 'none')? 1 : 0; 
document.getElementById(l).style.display = (on)? 'block' : 'none'; 
document.images['i'+l].src = (on)? 'minus.gif' : 'plus.gif'; 



'----------treeview.css 
* { font-size: 12px; font-family:tahoma; color:black } 

a { text-decoration:none;color:black } 

a:hover { text-decoration:underline;color:blue } 

DIV { padding:2px } 

.r0 { margin-left: 10px } 

.r0a { margin-left: 36px } 

.r1 { margin-left: 20px } 

.r1a { margin-left: 46px } 

.r2 { margin-left: 30px } 

.r2a { margin-left: 56px } 

Naravno, ASP kod koji se poziva iz scriptleta moze se prebaciti u Javu.
Postoji problem u liniji scriptleta vDir = "/claire_wood/", root folder od kojeg se krece je zakucan. Ali sigurno je i to moguce zaobici uz malo truda.

Odlicna (cisto) JavaScript komponenta je http://www.jsh.de/treeview/index.htm, free za upotrebu. Problem je dati feed skripti prilikom ucitavanja sa strukturom foldera na sistemu.

Jos bolja treeview JavaScript komponenta je http://www.treeview.net, ali je free samo za "non-comercial use". Isti problem kao i za gorenavedenu, potreban je feed sa strukturom.
 
Odgovor na temu

[es] :: Javascript i AJAX :: Javascript Select Folder

[ Pregleda: 4132 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.