From ed69a2ae06c0707fdd5634e18d569c25f0cda6d5 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Sun, 3 Jul 2011 23:56:26 +0300 Subject: ajax mediamanager fix --- lib/exe/ajax.php | 8 ++----- lib/scripts/media.js | 68 ++++++++++++++++++++++++++-------------------------- 2 files changed, 36 insertions(+), 40 deletions(-) (limited to 'lib') diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php index 16efd9ac7..8ff0f8eda 100644 --- a/lib/exe/ajax.php +++ b/lib/exe/ajax.php @@ -211,7 +211,7 @@ function ajax_medialist(){ $NS = $_POST['ns']; if ($_POST['do'] == 'media') { - tpl_fileList(true); + tpl_fileList(); } else { tpl_mediaContent(true); } @@ -229,11 +229,7 @@ function ajax_mediadetails(){ $NS = $_POST['ns']; $image = $_POST['image']; - if (isset($_POST['full'])) { - tpl_fileDetails($image, false); - } else { - tpl_fileDetails($image, false, true); - } + tpl_fileDetails($image, false); } /** diff --git a/lib/scripts/media.js b/lib/scripts/media.js index e03d1cf7b..a7574b804 100644 --- a/lib/scripts/media.js +++ b/lib/scripts/media.js @@ -11,7 +11,7 @@ * @author Pierre Spring */ (function ($) { - var toggle, list, prepare_content, insert, confirmattach, attachoptions, initpopup, updatehide, setalign, setsize, inSet, outSet, media_manager, hasFlash; + var toggle, list, prepare_content, insert, confirmattach, attachoptions, initpopup, updatehide, setalign, setsize, inSet, outSet, media_manager, hasFlash, form_params, list_view, details; var media_manager = { keepopen: false, @@ -321,7 +321,7 @@ * @author Pierre Spring */ list = function (event) { - var link, content; + var link, content, params; link = $(this); event.preventDefault(); @@ -329,22 +329,33 @@ jQuery('div.success, div.info, div.error, div.notify').remove(); if (document.getElementById('media__content')) { + //popup content = $('#media__content'); + } else { - content = $('#mediamanager__files'); + //fullscreen media manager + content = $('#mediamanager__layout_list'); + if (link.hasClass('idx_dir')) { - change_tab($('.files'), '#mediamanager__tabs_files'); + //changing namespace $('#mediamanager__layout_detail').empty(); - } else { - change_tab(link, '#mediamanager__tabs_files'); } } - content.html('...'); + + params = ''; + + if (link[0].search) { + params = link[0].search.substr(1)+'&call=medialist'; + } else if (link[0].action) { + params = form_params(link)+'&call=medialist'; + } + + $('.scroll-container', content).html('...'); // fetch the subtree $.post( DOKU_BASE + 'lib/exe/ajax.php', - link[0].search.substr(1)+'&call=medialist', + params, function (data) { content.html(data); prepare_content(content); @@ -356,15 +367,16 @@ }; /** - * Changes selected tab + * Returns form parameters * * @author Kate Arzamastseva */ - change_tab = function (tab, tab_menu_id) { - $(tab_menu_id + ' a').each(function (i) { - $(this).removeClass('selected'); - }); - tab.addClass('selected'); + form_params = function (form) { + var elements = form.serialize(); + var action = ''; + var i = form[0].action.indexOf('?'); + if (i >= 0) action = form[0].action.substr(i+1); + return elements+'&'+action; }; /** @@ -394,31 +406,19 @@ * @author Kate Arzamastseva */ details = function (event) { - var link, content, call, full; + var link, content; 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('...'); + content = $('#mediamanager__layout_detail'); + $('.scroll-container', content).html('...'); $.post( DOKU_BASE + 'lib/exe/ajax.php', - link[0].search.substr(1)+'&call=mediadetails'+full, + link[0].search.substr(1)+'&call=mediadetails', function (data) { content.html(data); }, @@ -830,11 +830,11 @@ $('#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) + $('#mediamanager__layout_list').delegate('#mediamanager__tabs_files a', 'click', list) + .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); + $('#mediamanager__layout_detail').delegate('#mediamanager__tabs_details a', 'click', details) + .delegate('#mediamanager__btn_update', 'submit', list); }); }(jQuery)); -- cgit v1.2.3