summaryrefslogtreecommitdiff
path: root/lib/scripts
diff options
context:
space:
mode:
authorKate Arzamastseva <pshns@ukr.net>2011-07-03 19:00:54 +0300
committerKate Arzamastseva <pshns@ukr.net>2011-07-03 19:00:54 +0300
commit23846a98488bec2aaade6d983b4c0b0db13af80c (patch)
tree9ceb4baa307ef92be262f033e6723f5df37d8ea9 /lib/scripts
parent9c1bd4bc9aa4b9ac3b9981543a14508091cd639a (diff)
downloadrpg-23846a98488bec2aaade6d983b4c0b0db13af80c.tar.gz
rpg-23846a98488bec2aaade6d983b4c0b0db13af80c.tar.bz2
ajax mediamanager
Diffstat (limited to 'lib/scripts')
-rw-r--r--lib/scripts/media.js90
1 files changed, 89 insertions, 1 deletions
diff --git a/lib/scripts/media.js b/lib/scripts/media.js
index ebbee5a78..e03d1cf7b 100644
--- a/lib/scripts/media.js
+++ b/lib/scripts/media.js
@@ -328,7 +328,17 @@
jQuery('div.success, div.info, div.error, div.notify').remove();
- content = $('#media__content');
+ if (document.getElementById('media__content')) {
+ content = $('#media__content');
+ } else {
+ content = $('#mediamanager__files');
+ if (link.hasClass('idx_dir')) {
+ change_tab($('.files'), '#mediamanager__tabs_files');
+ $('#mediamanager__layout_detail').empty();
+ } else {
+ change_tab(link, '#mediamanager__tabs_files');
+ }
+ }
content.html('<img src="' + DOKU_BASE + 'lib/images/loading.gif" alt="..." class="load" />');
// fetch the subtree
@@ -345,6 +355,77 @@
};
+ /**
+ * Changes selected tab
+ *
+ * @author Kate Arzamastseva <pshns@ukr.net>
+ */
+ change_tab = function (tab, tab_menu_id) {
+ $(tab_menu_id + ' a').each(function (i) {
+ $(this).removeClass('selected');
+ });
+ tab.addClass('selected');
+ };
+
+ /**
+ * Changes view of media files list
+ *
+ * @author Kate Arzamastseva <pshns@ukr.net>
+ */
+ list_view = function (event) {
+ var link, content;
+ link = $(this);
+
+ event.preventDefault();
+
+ content = $('#mediamanager__file_list');
+ if (link.hasClass('mediamanager-link-thumbnails')) {
+ content.removeClass('mediamanager-list');
+ content.addClass('mediamanager-thumbs');
+ } else if (link.hasClass('mediamanager-link-list')) {
+ content.removeClass('mediamanager-thumbs');
+ content.addClass('mediamanager-list');
+ }
+ };
+
+ /**
+ * Lists the content of the right column (image details) using AJAX
+ *
+ * @author Kate Arzamastseva <pshns@ukr.net>
+ */
+ details = function (event) {
+ var link, content, call, full;
+ link = $(this);
+
+ event.preventDefault();
+
+ jQuery('div.success, div.info, div.error, div.notify').remove();
+
+ full='';
+ if (document.getElementById('mediamanager__details')) {
+ content = $('#mediamanager__details');
+ } else {
+ content = $('#mediamanager__layout_detail');
+ full = '&full=true';
+ }
+
+ if (link.hasClass('name')) {
+ change_tab($('.view'), '#mediamanager__tabs_details');
+ } else {
+ change_tab(link, '#mediamanager__tabs_details');
+ }
+ content.html('<img src="' + DOKU_BASE + 'lib/images/loading.gif" alt="..." class="load" />');
+
+ $.post(
+ DOKU_BASE + 'lib/exe/ajax.php',
+ link[0].search.substr(1)+'&call=mediadetails'+full,
+ function (data) {
+ content.html(data);
+ },
+ 'html'
+ );
+ };
+
prepare_content = function (content) {
// hide syntax example
content.find('div.example:visible').hide();
@@ -748,5 +829,12 @@
$('#media__tree').delegate('img', 'click', toggle)
.delegate('a', 'click', list);
+
+ $('#mediamanager__tabs_files').delegate('a', 'click', list);
+
+ $('#mediamanager__files').delegate('#mediamanager__tabs_list a', 'click', list_view)
+ .delegate('#mediamanager__file_list a', 'click', details);
+
+ $('#mediamanager__layout_detail').delegate('#mediamanager__tabs_details a', 'click', details);
});
}(jQuery));