1 (function ($, Drupal, drupalSettings) {
5 Drupal.behaviors.diffRevisions = {
6 attach: function (context, settings) {
7 // drupalSettings in not anymore bound to attached functions.
8 // It is available outside the scope of this anonymous function also.
9 var $rows = $('table.diff-revisions tbody tr').once('diff-revisions');
10 if ($rows.length === 0) {
14 function updateDiffRadios() {
20 $rows.each(function () {
22 var $inputs = $row.find('input[type="radio"]');
23 var $oldRadio = $inputs.filter('[name="radios_left"]').eq(0);
24 var $newRadio = $inputs.filter('[name="radios_right"]').eq(0);
25 if (!$oldRadio.length || !$newRadio.length) {
28 if ($oldRadio.prop('checked')) {
30 $oldRadio.css('visibility', 'visible');
31 $newRadio.css('visibility', 'hidden');
33 else if ($newRadio.prop('checked')) {
35 $oldRadio.css('visibility', 'hidden');
36 $newRadio.css('visibility', 'visible');
39 if (drupalSettings.diffRevisionRadios === 'linear') {
41 $oldRadio.css('visibility', 'visible');
42 $newRadio.css('visibility', 'hidden');
45 $newRadio.css('visibility', 'visible');
46 $oldRadio.css('visibility', 'visible');
49 $newRadio.css('visibility', 'visible');
50 $oldRadio.css('visibility', 'hidden');
54 $newRadio.css('visibility', 'visible');
55 $oldRadio.css('visibility', 'visible');
62 if (drupalSettings.diffRevisionRadios) {
63 $rows.find('input[name="radios_left"], input[name="radios_right"]').click(updateDiffRadios);
69 })(jQuery, Drupal, drupalSettings);