Bachir Soussi Chiadmi 1bc61b12ad first import
2015-04-08 11:40:19 +02:00

59 lines
1.9 KiB
JavaScript

(function ($) {
Drupal.behaviors.diffRevisions = {
attach: function (context, settings) {
var $rows = $('table.diff-revisions tbody tr');
function updateDiffRadios() {
var newTd = false;
var oldTd = false;
if (!$rows.length) {
return true;
}
$rows.removeClass('selected').each(function() {
var $row = $(this);
$row.removeClass('selected');
var $inputs = $row.find('input[type="radio"]');
var $oldRadio = $inputs.filter('[name="old"]').eq(0);
var $newRadio = $inputs.filter('[name="new"]').eq(0);
if (!$oldRadio.length || !$newRadio.length) {
return true;
}
if ($oldRadio.attr('checked')) {
oldTd = true;
$row.addClass('selected');
$oldRadio.css('visibility', 'visible');
$newRadio.css('visibility', 'hidden');
} else if ($newRadio.attr('checked')) {
newTd = true;
$row.addClass('selected');
$oldRadio.css('visibility', 'hidden');
$newRadio.css('visibility', 'visible');
} else {
if (Drupal.settings.diffRevisionRadios == 'linear') {
if (newTd && oldTd) {
$oldRadio.css('visibility', 'visible');
$newRadio.css('visibility', 'hidden');
} else if (newTd) {
$newRadio.css('visibility', 'visible');
$oldRadio.css('visibility', 'visible');
} else {
$newRadio.css('visibility', 'visible');
$oldRadio.css('visibility', 'hidden');
}
} else {
$newRadio.css('visibility', 'visible');
$oldRadio.css('visibility', 'visible');
}
}
});
return true;
}
if (Drupal.settings.diffRevisionRadios) {
$rows.find('input[name="new"], input[name="old"]').click(updateDiffRadios);
updateDiffRadios();
}
}
};
})(jQuery);