ads
8 months ago
control
8 months ago
img
10 years ago
blocker.js
1 week ago
blocker.min.js
1 week ago
embed.js
5 years ago
embed.min.js
7 months ago
front.js
1 day ago
front.min.js
1 day ago
jquery-ui-timepicker-addon.js
10 years ago
jquery-ui-timepicker-addon.min.js
7 months ago
jquery.dataTables.min.js
1 year ago
jquery.validate.js
7 months ago
jquery.validate.min.js
1 week ago
jqueryFileTree.js
5 years ago
jqueryFileTree.min.js
7 months ago
overwatch.js
7 months ago
overwatch.min.js
7 months ago
password-strength.js
2 years ago
password-strength.min.js
7 months ago
simple-scrollbar.js
7 months ago
simple-scrollbar.min.js
7 months ago
simplebar.js
6 years ago
validator.min.js
9 years ago
vue.js
9 months ago
vue.min.js
9 months ago
wpdm-admin.js
1 week ago
wpdm-admin.min.js
1 week ago
wpdm.js
6 months ago
wpdm.min.js
6 months ago
jqueryFileTree.js
99 lines
| 1 | // jQuery File Tree Plugin |
| 2 | // |
| 3 | // Version 1.01 |
| 4 | // |
| 5 | // Cory S.N. LaViska |
| 6 | // A Beautiful Site (http://abeautifulsite.net/) |
| 7 | // 24 March 2008 |
| 8 | // |
| 9 | // Visit http://abeautifulsite.net/notebook.php?article=58 for more information |
| 10 | // |
| 11 | // Usage: $('.fileTreeDemo').fileTree( options, callback ) |
| 12 | // |
| 13 | // Options: root - root folder to display; default = / |
| 14 | // script - location of the serverside AJAX file to use; default = jqueryFileTree.php |
| 15 | // folderEvent - event to trigger expand/collapse; default = click |
| 16 | // expandSpeed - default = 500 (ms); use -1 for no animation |
| 17 | // collapseSpeed - default = 500 (ms); use -1 for no animation |
| 18 | // expandEasing - easing function to use on expand (optional) |
| 19 | // collapseEasing - easing function to use on collapse (optional) |
| 20 | // multiFolder - whether or not to limit the browser to one subfolder at a time |
| 21 | // loadMessage - Message to display while initial tree loads (can be HTML) |
| 22 | // |
| 23 | // History: |
| 24 | // |
| 25 | // 1.01 - updated to work with foreign characters in directory/file names (12 April 2008) |
| 26 | // 1.00 - released (24 March 2008) |
| 27 | // |
| 28 | // TERMS OF USE |
| 29 | // |
| 30 | // This plugin is dual-licensed under the GNU General Public License and the MIT License and |
| 31 | // is copyright 2008 A Beautiful Site, LLC. |
| 32 | // |
| 33 | if(jQuery) (function($){ |
| 34 | |
| 35 | $.extend($.fn, { |
| 36 | fileTree: function(o, h) { |
| 37 | // Defaults |
| 38 | if( !o ) var o = {}; |
| 39 | if( o.root == undefined ) o.root = '/'; |
| 40 | if( o.script == undefined ) o.script = 'jqueryFileTree.php'; |
| 41 | if( o.folderEvent == undefined ) o.folderEvent = 'click'; |
| 42 | if( o.expandSpeed == undefined ) o.expandSpeed= 500; |
| 43 | if( o.collapseSpeed == undefined ) o.collapseSpeed= 500; |
| 44 | if( o.expandEasing == undefined ) o.expandEasing = null; |
| 45 | if( o.collapseEasing == undefined ) o.collapseEasing = null; |
| 46 | if( o.multiFolder == undefined ) o.multiFolder = true; |
| 47 | if( o.loadMessage == undefined ) o.loadMessage = 'Loading...'; |
| 48 | |
| 49 | $(this).each( function() { |
| 50 | |
| 51 | function showTree(c, t) { |
| 52 | $(c).addClass('wait'); |
| 53 | $(".jqueryFileTree.start").remove(); |
| 54 | $.post(o.script, { dir: t }, function(data) { |
| 55 | $(c).find('.start').html(''); |
| 56 | $(c).removeClass('wait').append(data); |
| 57 | if( o.root == t ) $(c).find('UL:hidden').show(); else $(c).find('UL:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing }); |
| 58 | bindTree(c); |
| 59 | }); |
| 60 | } |
| 61 | |
| 62 | function bindTree(t) { |
| 63 | $(t).find('LI A').bind(o.folderEvent, function() { |
| 64 | if( $(this).parent().hasClass('directory') ) { |
| 65 | if( $(this).parent().hasClass('collapsed') ) { |
| 66 | // Expand |
| 67 | if( !o.multiFolder ) { |
| 68 | $(this).parent().parent().find('UL').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing }); |
| 69 | $(this).parent().parent().find('LI.directory').removeClass('expanded').addClass('collapsed'); |
| 70 | } |
| 71 | $(this).parent().find('UL').remove(); // cleanup |
| 72 | showTree( $(this).parent(), escape($(this).attr('rel').match( /.*\// )) ); |
| 73 | $(this).parent().removeClass('collapsed').addClass('expanded'); |
| 74 | } else { |
| 75 | // Collapse |
| 76 | $(this).parent().find('UL').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing }); |
| 77 | $(this).parent().removeClass('expanded').addClass('collapsed'); |
| 78 | } |
| 79 | current_bucket = $(this).data('bucket') !== undefined ? $(this).data('bucket') : ''; |
| 80 | current_folder = $(this).data('prefix') !== undefined ? $(this).data('prefix') : ''; |
| 81 | } else { |
| 82 | h($(this).attr('rel'), $(this).attr('id')); |
| 83 | } |
| 84 | /*alert($(this).attr('rel'));*/ |
| 85 | return false; |
| 86 | }); |
| 87 | // Prevent A from triggering the # on non-click events |
| 88 | if( o.folderEvent.toLowerCase != 'click' ) $(t).find('LI A').bind('click', function() { return false; }); |
| 89 | } |
| 90 | // Loading message |
| 91 | $(this).html('<ul class="jqueryFileTree start"><li class="wait">' + o.loadMessage + '<li></ul>'); |
| 92 | // Get the initial file list |
| 93 | showTree( $(this), escape(o.root) ); |
| 94 | }); |
| 95 | } |
| 96 | }); |
| 97 | |
| 98 | })(jQuery); |
| 99 |