From f5563bf8778f9e371296c767972fc2b8f9b6bf6f Mon Sep 17 00:00:00 2001 From: Dries Date: Tue, 24 Jan 2012 13:54:39 -0500 Subject: [PATCH] - Patch #1400310 by nod_: Fixed Use of .parents() is really .closest(). --- core/misc/ajax.js | 2 +- core/misc/machine-name.js | 2 +- core/misc/tabledrag.js | 6 +++--- core/misc/tableselect.js | 6 +++--- core/modules/block/block.js | 2 +- core/modules/field_ui/field_ui.js | 8 ++++---- core/modules/file/file.js | 10 +++++----- core/modules/filter/filter.js | 4 ++-- core/modules/shortcut/shortcut.admin.js | 2 +- core/modules/simpletest/simpletest.js | 2 +- 10 files changed, 22 insertions(+), 22 deletions(-) diff --git a/core/misc/ajax.js b/core/misc/ajax.js index 92eefea952d..f9c48128ce5 100644 --- a/core/misc/ajax.js +++ b/core/misc/ajax.js @@ -536,7 +536,7 @@ Drupal.ajax.prototype.commands = { // Attach all JavaScript behaviors to the new content, if it was successfully // added to the page, this if statement allows #ajax['wrapper'] to be // optional. - if (new_content.parents('html').length > 0) { + if ($('html').find(new_content).length > 0) { // Apply any settings from the returned JSON if available. var settings = response.settings || ajax.settings || Drupal.settings; Drupal.attachBehaviors(new_content, settings); diff --git a/core/misc/machine-name.js b/core/misc/machine-name.js index 2691c3b73a2..996cf842c2c 100644 --- a/core/misc/machine-name.js +++ b/core/misc/machine-name.js @@ -26,7 +26,7 @@ Drupal.behaviors.machineName = { var $source = $(source_id, context).addClass('machine-name-source'); var $target = $(options.target, context).addClass('machine-name-target'); var $suffix = $(options.suffix, context); - var $wrapper = $target.parents('.form-item:first'); + var $wrapper = $target.closest('.form-item'); // All elements have to exist. if (!$source.length || !$target.length || !$suffix.length || !$wrapper.length) { return; diff --git a/core/misc/tabledrag.js b/core/misc/tabledrag.js index b9b5822c812..61e64bfe18b 100644 --- a/core/misc/tabledrag.js +++ b/core/misc/tabledrag.js @@ -125,7 +125,7 @@ Drupal.tableDrag.prototype.initColumns = function () { var field = $('.' + this.tableSettings[group][d].target + ':first', this.table); if (field.size() && this.tableSettings[group][d].hidden) { var hidden = this.tableSettings[group][d].hidden; - var cell = field.parents('td:first'); + var cell = field.closest('td'); break; } } @@ -744,7 +744,7 @@ Drupal.tableDrag.prototype.updateField = function (changedRow, group) { switch (rowSettings.action) { case 'depth': // Get the depth of the target row. - targetElement.value = $('.indentation', $(sourceElement).parents('tr:first')).size(); + targetElement.value = $('.indentation', $(sourceElement).closest('tr')).size(); break; case 'match': // Update the value. @@ -876,7 +876,7 @@ Drupal.tableDrag.prototype.row = function (tableRow, method, indentEnabled, maxD this.group = [tableRow]; this.groupDepth = $('.indentation', tableRow).size(); this.changed = false; - this.table = $(tableRow).parents('table:first').get(0); + this.table = $(tableRow).closest('table').get(0); this.indentEnabled = indentEnabled; this.maxDepth = maxDepth; this.direction = ''; // Direction the row is being moved. diff --git a/core/misc/tableselect.js b/core/misc/tableselect.js index 1abda24d951..d83da2c1e9a 100644 --- a/core/misc/tableselect.js +++ b/core/misc/tableselect.js @@ -29,7 +29,7 @@ Drupal.tableSelect = function () { checkboxes.each(function () { this.checked = event.target.checked; // Either add or remove the selected class based on the state of the check all checkbox. - $(this).parents('tr:first')[ this.checked ? 'addClass' : 'removeClass' ]('selected'); + $(this).closest('tr').toggleClass('selected', this.checked); }); // Update the title and the state of the check all box. updateSelectAll(event.target.checked); @@ -39,14 +39,14 @@ Drupal.tableSelect = function () { // For each of the checkboxes within the table that are not disabled. checkboxes = $('td input:checkbox:enabled', table).click(function (e) { // Either add or remove the selected class based on the state of the check all checkbox. - $(this).parents('tr:first')[ this.checked ? 'addClass' : 'removeClass' ]('selected'); + $(this).closest('tr').toggleClass('selected', this.checked); // If this is a shift click, we need to highlight everything in the range. // Also make sure that we are actually checking checkboxes over a range and // that a checkbox has been checked or unchecked before. if (e.shiftKey && lastChecked && lastChecked != e.target) { // We use the checkbox's parent TR to do our range searching. - Drupal.tableSelectRange($(e.target).parents('tr')[0], $(lastChecked).parents('tr')[0], e.target.checked); + Drupal.tableSelectRange($(e.target).closest('tr')[0], $(lastChecked).closest('tr')[0], e.target.checked); } // If all checkboxes are checked, make sure the select-all one is checked too, otherwise keep unchecked. diff --git a/core/modules/block/block.js b/core/modules/block/block.js index ce4995dcadf..6d2c33fd6b1 100644 --- a/core/modules/block/block.js +++ b/core/modules/block/block.js @@ -113,7 +113,7 @@ Drupal.behaviors.blockDrag = { $('select.block-region-select', context).once('block-region-select', function () { $(this).change(function (event) { // Make our new row and select field. - var row = $(this).parents('tr:first'); + var row = $(this).closest('tr'); var select = $(this); tableDrag.rowObject = new tableDrag.row(row); diff --git a/core/modules/field_ui/field_ui.js b/core/modules/field_ui/field_ui.js index aa9527ad1c6..73595956709 100644 --- a/core/modules/field_ui/field_ui.js +++ b/core/modules/field_ui/field_ui.js @@ -28,7 +28,7 @@ Drupal.fieldUIFieldOverview = { // 'Field type' select updates its 'Widget' select. $('.field-type-select', table).each(function () { - this.targetSelect = $('.widget-type-select', $(this).parents('tr').eq(0)); + this.targetSelect = $('.widget-type-select', $(this).closest('tr')); $(this).bind('change keyup', function () { var selectedFieldType = this.options[this.selectedIndex].value; @@ -43,8 +43,8 @@ Drupal.fieldUIFieldOverview = { // 'Existing field' select updates its 'Widget' select and 'Label' textfield. $('.field-select', table).each(function () { - this.targetSelect = $('.widget-type-select', $(this).parents('tr').eq(0)); - this.targetTextfield = $('.label-textfield', $(this).parents('tr').eq(0)); + this.targetSelect = $('.widget-type-select', $(this).closest('tr')); + this.targetTextfield = $('.label-textfield', $(this).closest('tr')); this.targetTextfield .data('field_ui_edited', false) .bind('keyup', function (e) { @@ -140,7 +140,7 @@ Drupal.fieldUIOverview = { */ onChange: function () { var $trigger = $(this); - var row = $trigger.parents('tr:first').get(0); + var row = $trigger.closest('tr').get(0); var rowHandler = $(row).data('fieldUIRowHandler'); var refreshRows = {}; diff --git a/core/modules/file/file.js b/core/modules/file/file.js index 1071384f8a1..37419fdf19d 100644 --- a/core/modules/file/file.js +++ b/core/modules/file/file.js @@ -77,7 +77,7 @@ Drupal.file = Drupal.file || { '%filename': this.value, '%extensions': extensionPattern.replace(/\|/g, ', ') }); - $(this).parents('div.form-managed-file').prepend('
' + error + '
'); + $(this).closest('div.form-managed-file').prepend('
' + error + '
'); this.value = ''; return false; } @@ -96,8 +96,8 @@ Drupal.file = Drupal.file || { // Check if we're working with an "Upload" button. var $enabledFields = []; - if ($(this).parents('div.form-managed-file').size() > 0) { - $enabledFields = $(this).parents('div.form-managed-file').find('input.form-file'); + if ($(this).closest('div.form-managed-file').size() > 0) { + $enabledFields = $(this).closest('div.form-managed-file').find('input.form-file'); } // Temporarily disable upload fields other than the one we're currently @@ -119,7 +119,7 @@ Drupal.file = Drupal.file || { */ progressBar: function (event) { var clickedButton = this; - var $progressId = $(clickedButton).parents('div.form-managed-file').find('input.file-progress'); + var $progressId = $(clickedButton).closest('div.form-managed-file').find('input.file-progress'); if ($progressId.size()) { var originalName = $progressId.attr('name'); @@ -133,7 +133,7 @@ Drupal.file = Drupal.file || { } // Show the progress bar if the upload takes longer than half a second. setTimeout(function () { - $(clickedButton).parents('div.form-managed-file').find('div.ajax-progress-bar').slideDown(); + $(clickedButton).closest('div.form-managed-file').find('div.ajax-progress-bar').slideDown(); }, 500); }, /** diff --git a/core/modules/filter/filter.js b/core/modules/filter/filter.js index 94e01c1af7e..c286159fefa 100644 --- a/core/modules/filter/filter.js +++ b/core/modules/filter/filter.js @@ -7,9 +7,9 @@ Drupal.behaviors.filterGuidelines = { attach: function (context) { $('.filter-guidelines', context).once('filter-guidelines') .find(':header').hide() - .parents('.filter-wrapper').find('select.filter-list') + .closest('.filter-wrapper').find('select.filter-list') .bind('change', function () { - $(this).parents('.filter-wrapper') + $(this).closest('.filter-wrapper') .find('.filter-guidelines-item').hide() .siblings('.filter-guidelines-' + this.value).show(); }) diff --git a/core/modules/shortcut/shortcut.admin.js b/core/modules/shortcut/shortcut.admin.js index 9a730fa6726..c9294710729 100644 --- a/core/modules/shortcut/shortcut.admin.js +++ b/core/modules/shortcut/shortcut.admin.js @@ -103,7 +103,7 @@ Drupal.behaviors.shortcutDrag = { Drupal.behaviors.newSet = { attach: function (context, settings) { var selectDefault = function() { - $($(this).parents('div.form-item').get(1)).find('> label > input').attr('checked', 'checked'); + $(this).closest('form').find('.form-item-set .form-type-radio:last input').attr('checked', 'checked'); }; $('div.form-item-new input').focus(selectDefault).keyup(selectDefault); } diff --git a/core/modules/simpletest/simpletest.js b/core/modules/simpletest/simpletest.js index c33ef982a8b..49334520029 100644 --- a/core/modules/simpletest/simpletest.js +++ b/core/modules/simpletest/simpletest.js @@ -14,7 +14,7 @@ Drupal.behaviors.simpleTestMenuCollapse = { // Adds group toggling functionality to arrow images. $('div.simpletest-image').click(function () { - var trs = $(this).parents('tbody').children('.' + settings.simpleTest[this.id].testClass); + var trs = $(this).closest('tbody').children('.' + settings.simpleTest[this.id].testClass); var direction = settings.simpleTest[this.id].imageDirection; var row = direction ? trs.size() - 1 : 0;