mirror of
https://github.com/lrsjng/h5ai.git
synced 2025-04-20 04:21:59 +02:00
Fixed .empty bug. Added h5ai jQuery object for click callbacks.
This commit is contained in:
parent
ea716b36aa
commit
b07d702896
@ -157,13 +157,13 @@ body > nav {
|
||||
min-width: 70px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.empty {
|
||||
text-align: center;
|
||||
margin: 50px 0;
|
||||
color: #ddd;
|
||||
font-size: 5em;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.empty {
|
||||
text-align: center;
|
||||
margin: 50px 0;
|
||||
color: #ddd;
|
||||
font-size: 5em;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
$( function() {
|
||||
|
||||
initH5ai();
|
||||
applyViewmode();
|
||||
initBreadcrumb();
|
||||
initViews();
|
||||
@ -39,6 +40,44 @@
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
* init h5ai extension
|
||||
*******************************/
|
||||
|
||||
function initH5ai() {
|
||||
|
||||
H5ai = function () {
|
||||
var folderClickFns = [];
|
||||
var fileClickFns = [];
|
||||
|
||||
this.folderClick = function ( fn ) {
|
||||
if ( typeof fn === "function" ) {
|
||||
folderClickFns.push( fn );
|
||||
};
|
||||
};
|
||||
this.fileClick = function ( fn ) {
|
||||
if ( typeof fn === "function" ) {
|
||||
fileClickFns.push( fn );
|
||||
};
|
||||
};
|
||||
this.applyFolderClick = function ( label ) {
|
||||
for ( idx in folderClickFns ) {
|
||||
folderClickFns[idx].call( window, label );
|
||||
};
|
||||
};
|
||||
this.applyFileClick = function ( label ) {
|
||||
for ( idx in fileClickFns ) {
|
||||
fileClickFns[idx].call( window, label );
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
$.h5ai = new H5ai();
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
* local stored viewmode
|
||||
*******************************/
|
||||
@ -143,8 +182,17 @@
|
||||
.click( function () {
|
||||
document.location.href = $( this ).find( "td.name a" ).attr( "href" );
|
||||
} );
|
||||
$dataRows = $( "#details td" ).closest( "tr" );
|
||||
if ( $dataRows.size() === 0 || $dataRows.size() === 1 && $dataRows.find( "td.name a" ).text() === "Parent Directory" ) {
|
||||
$( "#details tr.entry" ).each( function () {
|
||||
var $row = $( this );
|
||||
$row.find( "td.name a" ).addClass( "label" );
|
||||
if ( $row.find( "td.icon img" ).attr( "alt" ) === "[DIR]" ) {
|
||||
$row.addClass( "folder" );
|
||||
} else {
|
||||
$row.addClass( "file" );
|
||||
};
|
||||
} );
|
||||
$entries = $( "#details tr.entry" );
|
||||
if ( $entries.size() === 0 || $entries.size() === 1 && $entries.find( "td.name a" ).text() === "Parent Directory" ) {
|
||||
$( "#details" ).append( $( "<div class='empty'>empty</div>" ) );
|
||||
}
|
||||
};
|
||||
@ -194,11 +242,16 @@
|
||||
var $tr = $( this );
|
||||
var icon = $tr.find( "td.icon img" ).attr( "src" ).replace( "icons", "images" );
|
||||
var $link = $tr.find( "td.name a" );
|
||||
$( "<div class='entry'><img src='" + icon + "' /><div class='label'>" + $link.text() + "</div></div>" )
|
||||
var $entry = $( "<div class='entry'><img src='" + icon + "' /><div class='label'>" + $link.text() + "</div></div>" )
|
||||
.click( function () {
|
||||
document.location.href = $link.attr( "href" );
|
||||
} ).
|
||||
appendTo( $div );
|
||||
if ( $tr.hasClass( "folder" ) ) {
|
||||
$entry.addClass( "folder" );
|
||||
} else {
|
||||
$entry.addClass( "file" );
|
||||
}
|
||||
} );
|
||||
$div.append( $( "<div class='clearfix'></div>" ) );
|
||||
$( "#icons" ).append( $div );
|
||||
@ -216,6 +269,13 @@
|
||||
initDetailsView();
|
||||
initIconsView();
|
||||
|
||||
$( "#content .entry.folder" ).click( function() {
|
||||
$.h5ai.applyFolderClick( $( this ).find( ".label" ).text() );
|
||||
} );
|
||||
$( "#content .entry.file" ).click( function() {
|
||||
$.h5ai.applyFileClick( $( this ).find( ".label" ).text() );
|
||||
} );
|
||||
|
||||
$( "#viewdetails" ).closest( "li" )
|
||||
.click( function () {
|
||||
applyViewmode( "details" );
|
||||
@ -233,7 +293,6 @@
|
||||
* customize
|
||||
*******************************/
|
||||
|
||||
|
||||
function customize() {
|
||||
try {
|
||||
$.ajax( {
|
||||
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
(function(h){h(function(){a();f();m();j()});var d={columnClasses:["icon","name","date","size"],defaultSortOrder:"C=N;O=A",viewmodes:["details","icons"],store:{viewmode:"h5ai.viewmode"},icons:{crumb:"/h5ai/icons/crumb.png",ascending:"/h5ai/icons/ascending.png",descending:"/h5ai/icons/descending.png"},customHeader:"h5ai.header.html",customFooter:"h5ai.footer.html"};function g(){var o=localStorage.getItem(d.store.viewmode);if(h.inArray(o,d.viewmodes)){return o}return d.viewmodes[0]}function a(o){if(o!==undefined){localStorage.setItem(d.store.viewmode,o)}if(g()==="icons"){h("#details").hide();h("#icons").show()}else{h("#details").show();h("#icons").hide()}}function f(){h("#domain span").text(document.domain);var s=decodeURI(document.location.pathname);var r=s.split("/");var q="/";var p=h("nav ul");for(idx in r){var o=r[idx];if(o!==""){q+=o+"/";p.append(h("<li class='crumb'><a href='"+q+"'><img src='"+d.icons.crumb+"' alt='>' />"+o+"</a></li>"))}}h("nav li a").closest("li").click(function(){document.location.href=h(this).find("a").attr("href")});document.title=document.domain+s}function c(){h("#details td").removeAttr("align").removeAttr("valign")}function i(o){if(o>=0&&o<d.columnClasses.length){return d.columnClasses[o]}return"unknown"}function b(){h("#details tr").each(function(){var o=0;h(this).find("th,td").each(function(){h(this).addClass(i(o));o++})})}function l(){h("#details th a").closest("th").addClass("header").click(function(){document.location.href=h(this).find("a").attr("href")});h("#details td.name a").closest("tr").addClass("entry").click(function(){document.location.href=h(this).find("td.name a").attr("href")});$dataRows=h("#details td").closest("tr");if($dataRows.size()===0||$dataRows.size()===1&&$dataRows.find("td.name a").text()==="Parent Directory"){h("#details").append(h("<div class='empty'>empty</div>"))}}function e(){var o=document.location.search;if(o===""){o=d.defaultSortOrder}var p;if(o.indexOf("O=A")>=0){p=h("<img src='"+d.icons.ascending+"' class='sort' alt='ascending' />")}else{p=h("<img src='"+d.icons.descending+"' class='sort' alt='descending' />")}if(o.indexOf("C=N")>=0){h("#details th.name a").append(p)}else{if(o.indexOf("C=M")>=0){h("#details th.date a").prepend(p)}else{if(o.indexOf("C=S")>=0){h("#details th.size a").prepend(p)}}}}function k(){c();b();l();e()}function n(){var o=h("<div></div>");h("#details td.name a").closest("tr").each(function(){var r=h(this);var q=r.find("td.icon img").attr("src").replace("icons","images");var p=r.find("td.name a");h("<div class='entry'><img src='"+q+"' /><div class='label'>"+p.text()+"</div></div>").click(function(){document.location.href=p.attr("href")}).appendTo(o)});o.append(h("<div class='clearfix'></div>"));h("#icons").append(o)}function m(){k();n();h("#viewdetails").closest("li").click(function(){a("details")});h("#viewicons").closest("li").click(function(){a("icons")})}function j(){try{h.ajax({url:d.customHeader,dataType:"html",success:function(p){h("#content > header").append(h(p)).show()}})}catch(o){}try{h.ajax({url:d.customFooter,dataType:"html",success:function(p){h("#content > footer").prepend(h(p)).show()}})}catch(o){}}})(jQuery);
|
||||
(function(h){h(function(){i();a();f();n();k()});var d={columnClasses:["icon","name","date","size"],defaultSortOrder:"C=N;O=A",viewmodes:["details","icons"],store:{viewmode:"h5ai.viewmode"},icons:{crumb:"/h5ai/icons/crumb.png",ascending:"/h5ai/icons/ascending.png",descending:"/h5ai/icons/descending.png"},customHeader:"h5ai.header.html",customFooter:"h5ai.footer.html"};function i(){H5ai=function(){var p=[];var q=[];this.folderClick=function(r){if(typeof r==="function"){p.push(r)}};this.fileClick=function(r){if(typeof r==="function"){q.push(r)}};this.applyFolderClick=function(r){for(idx in p){p[idx].call(window,r)}};this.applyFileClick=function(r){for(idx in q){q[idx].call(window,r)}}};h.h5ai=new H5ai()}function g(){var p=localStorage.getItem(d.store.viewmode);if(h.inArray(p,d.viewmodes)){return p}return d.viewmodes[0]}function a(p){if(p!==undefined){localStorage.setItem(d.store.viewmode,p)}if(g()==="icons"){h("#details").hide();h("#icons").show()}else{h("#details").show();h("#icons").hide()}}function f(){h("#domain span").text(document.domain);var t=decodeURI(document.location.pathname);var s=t.split("/");var r="/";var q=h("nav ul");for(idx in s){var p=s[idx];if(p!==""){r+=p+"/";q.append(h("<li class='crumb'><a href='"+r+"'><img src='"+d.icons.crumb+"' alt='>' />"+p+"</a></li>"))}}h("nav li a").closest("li").click(function(){document.location.href=h(this).find("a").attr("href")});document.title=document.domain+t}function c(){h("#details td").removeAttr("align").removeAttr("valign")}function j(p){if(p>=0&&p<d.columnClasses.length){return d.columnClasses[p]}return"unknown"}function b(){h("#details tr").each(function(){var p=0;h(this).find("th,td").each(function(){h(this).addClass(j(p));p++})})}function m(){h("#details th a").closest("th").addClass("header").click(function(){document.location.href=h(this).find("a").attr("href")});h("#details td.name a").closest("tr").addClass("entry").click(function(){document.location.href=h(this).find("td.name a").attr("href")});h("#details tr.entry").each(function(){var p=h(this);p.find("td.name a").addClass("label");if(p.find("td.icon img").attr("alt")==="[DIR]"){p.addClass("folder")}else{p.addClass("file")}});$entries=h("#details tr.entry");if($entries.size()===0||$entries.size()===1&&$entries.find("td.name a").text()==="Parent Directory"){h("#details").append(h("<div class='empty'>empty</div>"))}}function e(){var p=document.location.search;if(p===""){p=d.defaultSortOrder}var q;if(p.indexOf("O=A")>=0){q=h("<img src='"+d.icons.ascending+"' class='sort' alt='ascending' />")}else{q=h("<img src='"+d.icons.descending+"' class='sort' alt='descending' />")}if(p.indexOf("C=N")>=0){h("#details th.name a").append(q)}else{if(p.indexOf("C=M")>=0){h("#details th.date a").prepend(q)}else{if(p.indexOf("C=S")>=0){h("#details th.size a").prepend(q)}}}}function l(){c();b();m();e()}function o(){var p=h("<div></div>");h("#details td.name a").closest("tr").each(function(){var t=h(this);var s=t.find("td.icon img").attr("src").replace("icons","images");var q=t.find("td.name a");var r=h("<div class='entry'><img src='"+s+"' /><div class='label'>"+q.text()+"</div></div>").click(function(){document.location.href=q.attr("href")}).appendTo(p);if(t.hasClass("folder")){r.addClass("folder")}else{r.addClass("file")}});p.append(h("<div class='clearfix'></div>"));h("#icons").append(p)}function n(){l();o();h("#content .entry.folder").click(function(){h.h5ai.applyFolderClick(h(this).find(".label").text())});h("#content .entry.file").click(function(){h.h5ai.applyFileClick(h(this).find(".label").text())});h("#viewdetails").closest("li").click(function(){a("details")});h("#viewicons").closest("li").click(function(){a("icons")})}function k(){try{h.ajax({url:d.customHeader,dataType:"html",success:function(q){h("#content > header").append(h(q)).show()}})}catch(p){}try{h.ajax({url:d.customFooter,dataType:"html",success:function(q){h("#content > footer").prepend(h(q)).show()}})}catch(p){}}})(jQuery);
|
Loading…
x
Reference in New Issue
Block a user