116 lines
4.2 KiB
JavaScript
116 lines
4.2 KiB
JavaScript
(function($) { // Avoid conflicts with other libraries
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* The following callbacks are for reording items. row_down
|
|
* is triggered when an item is moved down, and row_up is triggered when
|
|
* an item is moved up. It moves the row up or down, and deactivates /
|
|
* activates any up / down icons that require it (the ones at the top or bottom).
|
|
*/
|
|
phpbb.addAjaxCallback('b3p_move_module_up', function(res) {
|
|
if (typeof res.success === 'undefined' || !res.success) {
|
|
return;
|
|
}
|
|
|
|
var $bottomRow = $(this).parents('tr:first'),
|
|
$topRow = $bottomRow.prev(),
|
|
topRowClass = $topRow.attr('class'),
|
|
bottomRowClass = $bottomRow.attr('class');
|
|
|
|
$bottomRow.insertBefore($topRow);
|
|
if (bottomRowClass !== 'row3' && topRowClass !== 'row3') {
|
|
$bottomRow.attr('class', topRowClass);
|
|
$topRow.attr('class', bottomRowClass);
|
|
} else if (bottomRowClass === 'row3') {
|
|
$topRow.attr('class', (topRowClass === 'row1') ? 'row2' : 'row1');
|
|
} else if (topRowClass === 'row3') {
|
|
$bottomRow.attr('class', (bottomRowClass === 'row1') ? 'row2' : 'row1');
|
|
}
|
|
|
|
// Swap images if swap element is first row
|
|
var swapIsFirstRow = $topRow.find('img[src*="icon_up_disabled"]').parents('span:first').is(':visible');
|
|
|
|
if (swapIsFirstRow) {
|
|
$topRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
|
|
$topRow.find('img[src*="icon_up."]').parents('span:first').toggle();
|
|
$bottomRow.find('img[src*="icon_up."]').parents('span:first').toggle();
|
|
$bottomRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
|
|
}
|
|
|
|
// Swap images if move element is last row
|
|
var elIsLastRow = $bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').is(':visible');
|
|
|
|
if (elIsLastRow) {
|
|
$topRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
|
|
$topRow.find('img[src*="icon_down."]').parents('span:first').toggle();
|
|
$bottomRow.find('img[src*="icon_down."]').parents('span:first').toggle();
|
|
$bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
|
|
}
|
|
});
|
|
|
|
phpbb.addAjaxCallback('b3p_move_module_down', function(res) {
|
|
if (typeof res.success === 'undefined' || !res.success) {
|
|
return;
|
|
}
|
|
|
|
var $topRow = $(this).parents('tr:first'),
|
|
$bottomRow = $topRow.next(),
|
|
bottomRowClass = $bottomRow.attr('class'),
|
|
topRowClass = $topRow.attr('class');
|
|
|
|
$topRow.insertAfter($bottomRow);
|
|
if (bottomRowClass !== 'row3' && topRowClass !== 'row3') {
|
|
$bottomRow.attr('class', topRowClass);
|
|
$topRow.attr('class', bottomRowClass);
|
|
} else if (bottomRowClass === 'row3') {
|
|
$topRow.attr('class', (topRowClass === 'row1') ? 'row2' : 'row1');
|
|
} else if (topRowClass === 'row3') {
|
|
$bottomRow.attr('class', (bottomRowClass === 'row1') ? 'row2' : 'row1');
|
|
}
|
|
|
|
// Swap images if swap element is last row
|
|
var swapIsLastRow = $bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').is(':visible');
|
|
|
|
if (swapIsLastRow) {
|
|
$bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
|
|
$bottomRow.find('img[src*="icon_down."]').parents('span:first').toggle();
|
|
$topRow.find('img[src*="icon_down."]').parents('span:first').toggle();
|
|
$topRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
|
|
}
|
|
|
|
// Swap images if move element is first row
|
|
var elIsFirstRow = $topRow.find('img[src*="icon_up_disabled"]').parents('span:first').is(':visible');
|
|
|
|
if (elIsFirstRow) {
|
|
$bottomRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
|
|
$bottomRow.find('img[src*="icon_up."]').parents('span:first').toggle();
|
|
$topRow.find('img[src*="icon_up."]').parents('span:first').toggle();
|
|
$topRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
|
|
}
|
|
});
|
|
|
|
phpbb.addAjaxCallback('b3p_delete_module', function(res) {
|
|
if (typeof res.success === 'undefined' || !res.success) {
|
|
return;
|
|
}
|
|
|
|
var $deletedRow = $(this).parents('tr:first'),
|
|
$nextRow = $deletedRow.next();
|
|
|
|
$deletedRow.remove();
|
|
|
|
// Fix classes of next elements
|
|
while ($nextRow !== undefined && $nextRow.is('tr')) {
|
|
var nextRowClass = ($nextRow.attr('class') === 'row1') ? 'row2' : 'row1';
|
|
|
|
if ($nextRow.attr('class') !== 'row3') {
|
|
$nextRow.attr('class', nextRowClass);
|
|
}
|
|
|
|
$nextRow = $nextRow.next();
|
|
}
|
|
});
|
|
|
|
})(jQuery); // Avoid conflicts with other libraries
|