Chris@0: /** Chris@0: * DO NOT EDIT THIS FILE. Chris@0: * See the following change record for more information, Chris@0: * https://www.drupal.org/node/2815083 Chris@0: * @preserve Chris@0: **/ Chris@0: Chris@0: (function ($, Drupal, drupalSettings) { Chris@0: Drupal.behaviors.simpleTestGroupCollapse = { Chris@0: attach: function attach(context) { Chris@0: $(context).find('.simpletest-group').once('simpletest-group-collapse').each(function () { Chris@0: var $group = $(this); Chris@0: var $image = $group.find('.simpletest-image'); Chris@0: $image.html(drupalSettings.simpleTest.images[0]).on('click', function () { Chris@0: var $tests = $group.nextUntil('.simpletest-group'); Chris@0: var expand = !$group.hasClass('expanded'); Chris@0: $group.toggleClass('expanded', expand); Chris@0: $tests.toggleClass('js-hide', !expand); Chris@0: $image.html(drupalSettings.simpleTest.images[+expand]); Chris@0: }); Chris@0: }); Chris@0: } Chris@0: }; Chris@0: Chris@0: Drupal.behaviors.simpleTestSelectAll = { Chris@0: attach: function attach(context) { Chris@0: $(context).find('.simpletest-group').once('simpletest-group-select-all').each(function () { Chris@0: var $group = $(this); Chris@0: var $cell = $group.find('.simpletest-group-select-all'); Chris@0: var $groupCheckbox = $(''); Chris@0: var $testCheckboxes = $group.nextUntil('.simpletest-group').find('input[type=checkbox]'); Chris@0: $cell.append($groupCheckbox); Chris@0: Chris@0: $groupCheckbox.on('change', function () { Chris@0: var checked = $(this).prop('checked'); Chris@0: $testCheckboxes.prop('checked', checked); Chris@0: }); Chris@0: Chris@0: function updateGroupCheckbox() { Chris@0: var allChecked = true; Chris@0: $testCheckboxes.each(function () { Chris@0: if (!$(this).prop('checked')) { Chris@0: allChecked = false; Chris@0: return false; Chris@0: } Chris@0: }); Chris@0: $groupCheckbox.prop('checked', allChecked); Chris@0: } Chris@0: Chris@0: $testCheckboxes.on('change', updateGroupCheckbox); Chris@0: }); Chris@0: } Chris@0: }; Chris@0: Chris@0: Drupal.behaviors.simpletestTableFilterByText = { Chris@0: attach: function attach(context) { Chris@0: var $input = $('input.table-filter-text').once('table-filter-text'); Chris@0: var $table = $($input.attr('data-table')); Chris@0: var $rows = void 0; Chris@0: var searched = false; Chris@0: Chris@0: function filterTestList(e) { Chris@0: var query = $(e.target).val().toLowerCase(); Chris@0: Chris@0: function showTestRow(index, row) { Chris@0: var $row = $(row); Chris@0: var $sources = $row.find('.table-filter-text-source'); Chris@0: var textMatch = $sources.text().toLowerCase().indexOf(query) !== -1; Chris@0: $row.closest('tr').toggle(textMatch); Chris@0: } Chris@0: Chris@0: if (query.length >= 3) { Chris@0: searched = true; Chris@0: $('#simpletest-form-table thead th.select-all input').hide(); Chris@0: Chris@0: $rows.each(showTestRow); Chris@0: } else if (searched) { Chris@0: searched = false; Chris@0: $('#simpletest-form-table thead th.select-all input').show(); Chris@0: Chris@0: $rows.css('display', ''); Chris@0: } Chris@0: } Chris@0: Chris@0: if ($table.length) { Chris@0: $rows = $table.find('tbody tr'); Chris@0: $input.trigger('focus').on('keyup', Drupal.debounce(filterTestList, 200)); Chris@0: } Chris@0: } Chris@0: }; Chris@0: })(jQuery, Drupal, drupalSettings);