summaryrefslogtreecommitdiff
path: root/lib/scripts
diff options
context:
space:
mode:
authorAdrian Lang <mail@adrianlang.de>2011-09-18 20:31:08 +0200
committerAdrian Lang <mail@adrianlang.de>2011-09-18 20:31:08 +0200
commiteaac63bb6c71253d7c2d4817c7ffc40cf4f13aeb (patch)
treeb726d49ffbfd74136254f37ae3b351f155662bf0 /lib/scripts
parent90f69556e88c39509172f5926ca29c1ae63e2103 (diff)
downloadrpg-eaac63bb6c71253d7c2d4817c7ffc40cf4f13aeb.tar.gz
rpg-eaac63bb6c71253d7c2d4817c7ffc40cf4f13aeb.tar.bz2
Fix mediamanager JS (diffs not yet working)
Diffstat (limited to 'lib/scripts')
-rw-r--r--lib/scripts/media.js179
1 files changed, 86 insertions, 93 deletions
diff --git a/lib/scripts/media.js b/lib/scripts/media.js
index 798d42a30..54309640c 100644
--- a/lib/scripts/media.js
+++ b/lib/scripts/media.js
@@ -65,27 +65,26 @@ var dw_mediamanager = {
$tree.delegate('a', 'click', dw_mediamanager.list);
dw_mediamanager.set_filelist_view(dw_mediamanager.view, false);
- jQuery('#mediamanager__form_sort').find('input[type=submit]').hide();
+
+ dw_mediamanager.init_options();
+
dw_mediamanager.image_diff();
dw_mediamanager.init_ajax_uploader();
+ console.log(jQuery('#mediamanager__page div.filelist').find('div.panelContent a'));
// changing opened tab in the file list panel
- jQuery('#mediamanager__layout_list').delegate('#mediamanager__tabs_files a', 'click', dw_mediamanager.list)
- // changing type of the file list view
- .delegate('#mediamanager__tabs_list a', 'click', dw_mediamanager.list_view)
+ jQuery('#mediamanager__page div.filelist').delegate('ul.tabs a', 'click', dw_mediamanager.list)
// loading file details
- .delegate('#mediamanager__file_list a', 'click', dw_mediamanager.details)
+ .delegate('div.panelContent a', 'click', dw_mediamanager.details)
// search form
.delegate('#dw__mediasearch', 'submit', dw_mediamanager.list)
// "upload as" field autofill
.delegate('#upload__file', 'change', dw_mediamanager.suggest)
- // sort type selection
- .delegate('#mediamanager__form_sort select', 'change', dw_mediamanager.list)
// uploaded images
.delegate('.qq-upload-file a', 'click', dw_mediamanager.details);
// changing opened tab in the file details panel
- jQuery('#mediamanager__layout_detail').delegate('#mediamanager__tabs_details a', 'click', dw_mediamanager.details)
+ jQuery('#mediamanager__page div.file').delegate('#mediamanager__tabs_details a', 'click', dw_mediamanager.details)
// "update new version" button
.delegate('#mediamanager__btn_update', 'submit', dw_mediamanager.list)
// revisions form
@@ -102,6 +101,37 @@ var dw_mediamanager = {
},
+ init_options: function () {
+ var $options = jQuery('div.filelist div.panelHeader form.options'),
+ $listType, $sortBy;
+ if ($options.length === 0) {
+ return;
+ }
+
+ $listType = $options.find('li.listType');
+ $sortBy = $options.find('li.sortBy');
+
+ // Remove the submit button
+ $options.find('input[type=submit]').parent().hide();
+
+ // Prepare HTML for jQuery UI buttonset
+ $listType.add($sortBy).find('label').each(function () {
+ var $this = jQuery(this);
+ $this.children('input').appendTo($this.parent());
+ $this.find('span span').addClass('a11y');
+ });
+
+ // Init buttonset
+ $listType.add($sortBy).buttonset();
+
+ // Change handlers
+ $listType.children('input').change(function (event) {
+ event.preventDefault();
+ dw_mediamanager.set_filelist_view(this.value, true);
+ });
+ $sortBy.children('input').change(dw_mediamanager.list);
+ },
+
/**
* build the popup window
*
@@ -273,14 +303,12 @@ var dw_mediamanager = {
$content = jQuery('#media__content');
} else {
//fullscreen media manager
- $content = jQuery('#mediamanager__layout_list');
+ $content = jQuery('div.filelist');
if ($link.hasClass('idx_dir')) {
//changing namespace
- jQuery('#mediamanager__layout_detail').empty();
- jQuery('#media__tree .selected').each(function(){
- jQuery(this).removeClass('selected');
- });
+ jQuery('div.file').empty();
+ jQuery('div.namespaces .selected').removeClass('selected');
$link.addClass('selected');
}
}
@@ -294,9 +322,9 @@ var dw_mediamanager = {
} else if ($link.parents('form')) {
params = dw_mediamanager.form_params($link.parents('form'))+'&call=medialist';
- if ($link.parents('form')[0].id == 'mediamanager__form_sort') {
- DokuCookie.setValue('sort', $link[0].value);
- params += '&q=' + jQuery('#mediamanager__sort_textfield').val();
+ if ($link.parents('form').hasClass('options')) {
+ DokuCookie.setValue('sort', $link.val());
+ params += '&q=' + $link.val();
params += '&mediado=searchlist';
}
}
@@ -310,7 +338,7 @@ var dw_mediamanager = {
$content.html('<img src="' + DOKU_BASE + 'lib/images/loading.gif" alt="..." class="load" />');
} else {
//fullscreen media manager
- jQuery('.scroll-container', $content).html('<img src="' + DOKU_BASE + 'lib/images/loading.gif" alt="..." class="load" />');
+ jQuery('div.panelContent', $content).html('<img src="' + DOKU_BASE + 'lib/images/loading.gif" alt="..." class="load" />');
}
},
@@ -328,43 +356,17 @@ var dw_mediamanager = {
return elements+'&'+action;
},
- /**
- * Changes view of media files list
- *
- * @author Kate Arzamastseva <pshns@ukr.net>
- */
- list_view: function (event) {
- var $link, $content;
- $link = jQuery(this);
-
- event.preventDefault();
-
- $content = jQuery('#mediamanager__file_list');
-
- if ($link[0].id == 'mediamanager__link_thumbs') {
- dw_mediamanager.set_filelist_view('thumbs', true);
-
- } else if ($link[0].id == 'mediamanager__link_list') {
- dw_mediamanager.set_filelist_view('list', true);
- }
- },
-
set_filelist_view: function (type, cookies) {
- var $content = jQuery('#mediamanager__file_list');
- if (!type) type = DokuCookie.getValue('view');
+ type = type || DokuCookie.getValue('view');
- if (type == 'thumbs') {
- $content.removeClass('mediamanager-list');
- $content.addClass('mediamanager-thumbs');
- if (cookies) DokuCookie.setValue('view', 'thumbs');
- dw_mediamanager.view = 'thumbs';
+ jQuery('div.filelist div.panelContent ul')
+ .toggleClass('rows', type === 'rows')
+ .toggleClass('thumbs', type === 'thumbs');
- } else if (type == 'list') {
- $content.removeClass('mediamanager-thumbs');
- $content.addClass('mediamanager-list');
- if (cookies) DokuCookie.setValue('view', 'list');
- dw_mediamanager.view = 'list';
+ if (cookies) {
+ DokuCookie.setValue('view', type);
}
+ dw_mediamanager.view = type;
},
/**
@@ -375,7 +377,6 @@ var dw_mediamanager = {
details: function (event) {
var $link, $content, params, update_list;
$link = jQuery(this);
-
event.preventDefault();
jQuery('div.success, div.info, div.error, div.notify').remove();
@@ -383,7 +384,7 @@ var dw_mediamanager = {
if ($link[0].id == 'mediamanager__btn_delete' && !confirm(LANG['del_confirm'])) return false;
if ($link[0].id == 'mediamanager__btn_restore' && !confirm(LANG['restore_confirm'])) return false;
- $content = jQuery('#mediamanager__layout_detail');
+ $content = jQuery('div.file');
params = '';
if ($link[0].search) {
@@ -397,8 +398,8 @@ var dw_mediamanager = {
update_list = ($link[0].id == 'mediamanager__btn_delete' || $link[0].id == 'mediamanager__btn_restore');
dw_mediamanager.update_content($content, params, update_list);
- if (jQuery('.scroll-container', $content).length) {
- jQuery('.scroll-container', $content).html('<img src="' + DOKU_BASE + 'lib/images/loading.gif" alt="..." class="load" />');
+ if (jQuery('div.panelContent', $content).length) {
+ jQuery('div.panelContent', $content).html('<img src="' + DOKU_BASE + 'lib/images/loading.gif" alt="..." class="load" />');
} else {
jQuery($content).html('<img src="' + DOKU_BASE + 'lib/images/loading.gif" alt="..." class="load" />');
}
@@ -420,18 +421,18 @@ var dw_mediamanager = {
dw_mediamanager.update_resizable();
dw_behaviour.revisionBoxHandler();
- jQuery('#mediamanager__form_sort').find('input[type=submit]').hide();
dw_mediamanager.set_filelist_view(dw_mediamanager.view, false);
dw_mediamanager.image_diff();
dw_mediamanager.init_ajax_uploader();
+ dw_mediamanager.init_options();
if (update_list) {
var $link1, $content1, params1;
$link1 = jQuery('a.files');
params1 = $link1[0].search.substr(1)+'&call=medialist';
- $content1 = jQuery('#mediamanager__layout_list');
+ $content1 = jQuery('div.filelist');
dw_mediamanager.update_content($content1, params1);
- jQuery('.scroll-container', $content1).html('<img src="' + DOKU_BASE + 'lib/images/loading.gif" alt="..." class="load" />');
+ jQuery('div.panelContent', $content1).html('<img src="' + DOKU_BASE + 'lib/images/loading.gif" alt="..." class="load" />');
}
},
'html'
@@ -439,12 +440,12 @@ var dw_mediamanager = {
},
window_resize: function () {
- if (jQuery('#mediamanager__layout').width() == dw_mediamanager.layout_width) {
+ if (jQuery('#mediamanager__page').width() == dw_mediamanager.layout_width) {
return;
}
- dw_mediamanager.layout_width = jQuery('#mediamanager__layout').width();
- $r = jQuery("#mediamanager__layout .layout-resizable, #mediamanager__layout .layout");
+ dw_mediamanager.layout_width = jQuery('#mediamanager__page').width();
+ $r = jQuery("#mediamanager__page div.panel");
var w = 0, wSum = 0, mCount = 0, mArray = [];
$r.each(function() {
@@ -458,7 +459,7 @@ var dw_mediamanager = {
});
if (mCount > 0) {
- var width = (0.95 * jQuery('#mediamanager__layout').width() - wSum - 30);
+ var width = (0.95 * jQuery('#mediamanager__page').width() - wSum - 30);
wSum = 0;
for(var i = 0; i < mArray.length; i++) {
wSum += mArray[i].width();
@@ -472,7 +473,7 @@ var dw_mediamanager = {
$r.each(function() {
w = jQuery(this).width();
- w = (100 * w / jQuery('#mediamanager__layout').width());
+ w = (100 * w / jQuery('#mediamanager__page').width());
w += "%";
jQuery(this).width(w);
});
@@ -481,12 +482,8 @@ var dw_mediamanager = {
var height = windowHeight - 300;
if (layout_height < height) {
layout_height = height;
- jQuery('#mediamanager__layout .scroll-container').each(function (i) {
- jQuery(this).height(height);
- });
- $resizable.each(function() {
- jQuery(this).height(height+100);
- });
+ jQuery('#mediamanager__page div.panelContent').height(height);
+ $resizable.height(height+100);
}
dw_mediamanager.opacity_slider();
@@ -499,7 +496,7 @@ var dw_mediamanager = {
* @author Kate Arzamastseva <pshns@ukr.net>
*/
update_resizable: function () {
- $resizable = jQuery("#mediamanager__layout .layout-resizable");
+ $resizable = jQuery("#mediamanager__page .layout-resizable");
$resizable.resizable({ handles: 'e' ,
resize: function(event, ui){
@@ -507,23 +504,23 @@ var dw_mediamanager = {
$resizable.each(function() {
w += jQuery(this).width();
});
- wSum = w + parseFloat(jQuery('#mediamanager__layout_detail').css("min-width"));
+ wSum = w + parseFloat(jQuery('#mediamanager__page div.file').css("min-width"));
// max width of resizable column
- var maxWidth = 0.95 * jQuery('#mediamanager__layout').width() - wSum + jQuery(this).width() - 30;
+ var maxWidth = 0.95 * jQuery('#mediamanager__page').width() - wSum + jQuery(this).width() - 30;
$resizable.resizable( "option", "maxWidth", maxWidth );
// percentage width of the first two columns
- var wLeft = ( 100*(w+30) / jQuery('#mediamanager__layout').width() );
+ var wLeft = ( 100*(w+30) / jQuery('#mediamanager__page').width() );
// width of the third column
var wRight = 95-wLeft;
wRight += "%";
- jQuery('#mediamanager__layout_detail').width(wRight);
+ jQuery('#mediamanager__page div.file').width(wRight);
$resizable.each(function() {
w = jQuery(this).width();
- w = (100 * w / jQuery('#mediamanager__layout').width());
+ w = (100 * w / jQuery('#mediamanager__page').width());
w += "%";
jQuery(this).width(w);
});
@@ -536,12 +533,8 @@ var dw_mediamanager = {
var windowHeight = jQuery(window).height();
var height = windowHeight - 300;
layout_height = height;
- jQuery('#mediamanager__layout .scroll-container').each(function (i) {
- jQuery(this).height(height);
- });
- $resizable.each(function() {
- jQuery(this).height(height+100);
- });
+ jQuery('#mediamanager__page .panelContent').height(height);
+ $resizable.height(height+100);
},
/**
@@ -567,11 +560,11 @@ var dw_mediamanager = {
$label.append($select);
$form.append($label);
- // for IE
- var select = document.getElementById('mediamanager__difftype');
- select.options[0].text = LANG.media_diff_both;
- select.options[1].text = LANG.media_diff_opacity;
- select.options[2].text = LANG.media_diff_portions;
+ // for IE
+ var select = document.getElementById('mediamanager__difftype');
+ select.options[0].text = LANG.media_diff_both;
+ select.options[1].text = LANG.media_diff_opacity;
+ select.options[2].text = LANG.media_diff_portions;
},
/**
@@ -602,10 +595,10 @@ var dw_mediamanager = {
* @author Kate Arzamastseva <pshns@ukr.net>
*/
opacity_slider: function () {
- var $slider = jQuery( "#mediamanager__opacity_slider" );
+ var $slider = jQuery( "#mediamanager__diff div.diff_slider" );
if (!$slider.length) return;
- var $image = jQuery('#mediamanager__diff_opacity_image1 img');
+ var $image = jQuery('#mediamanager__diff div.diff_opacity div.image1 img');
if (!$image.length) return;
$slider.width($image.width()-20);
@@ -615,7 +608,7 @@ var dw_mediamanager = {
$slider.slider("option", "step", 0.001);
$slider.slider("option", "value", 0.5);
$slider.bind("slide", function(event, ui) {
- jQuery('#mediamanager__diff_opacity_image2').css({ opacity: $slider.slider("option", "value")});
+ jQuery('#mediamanager__diff div.diff_opacity div.image2 img').css({ opacity: $slider.slider("option", "value")});
});
},
@@ -625,8 +618,8 @@ var dw_mediamanager = {
* @author Kate Arzamastseva <pshns@ukr.net>
*/
portions_slider: function () {
- var $image1 = jQuery('#mediamanager__diff_portions_image1 img');
- var $image2 = jQuery('#mediamanager__diff_portions_image2 img');
+ var $image1 = jQuery('#mediamanager__diff div.diff_portions div.image1 img');
+ var $image2 = jQuery('#mediamanager__diff div.diff_portions div.image2 img');
if (!$image1.length || !$image2.length) return;
var $div = jQuery("#mediamanager__diff_layout");
@@ -645,7 +638,7 @@ var dw_mediamanager = {
$image2.width($image1.width());
$image1.width($image1.width());
- var $slider = jQuery("#mediamanager__portions_slider");
+ var $slider = jQuery("#mediamanager__diff div.diff_slider");
if (!$slider.length) return;
$slider.width($image1.width()-20);
@@ -655,7 +648,7 @@ var dw_mediamanager = {
$slider.slider("option", "step", 1);
$slider.slider("option", "value", 50);
$slider.bind("slide", function(event, ui) {
- jQuery('#mediamanager__diff_portions_image2').css({ width: $slider.slider("option", "value")+'%'});
+ jQuery('#mediamanager__diff div.diff_portions div.image2').css({ width: $slider.slider("option", "value")+'%'});
});
},
@@ -964,7 +957,7 @@ function hasFlash(version){
jQuery(document).ready(function() {
dw_mediamanager.update_resizable();
- dw_mediamanager.layout_width = jQuery("#mediamanager__layout").width();
+ dw_mediamanager.layout_width = jQuery("#mediamanager__page").width();
jQuery(window).resize(dw_mediamanager.window_resize);
});