From bd51b01d5b696ec7fe0b2c4c7440f9ac1fad0d49 Mon Sep 17 00:00:00 2001
From: Mark Carver <mark.carver@me.com>
Date: Wed, 26 Mar 2014 18:25:39 -0500
Subject: [PATCH] Issue #2226901 by Mark Carver: Decrease JS specificity to
 allow HTML5 "button" elements.

---
 hierarchical_select.js         | 14 +++++++-------
 includes/common_config_form.js |  4 ++--
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/hierarchical_select.js b/hierarchical_select.js
index ffe15ab..5ee41ce 100644
--- a/hierarchical_select.js
+++ b/hierarchical_select.js
@@ -173,9 +173,9 @@ Drupal.HierarchicalSelect.resize = function($selects, defaultHeight, resizedHeig
 Drupal.HierarchicalSelect.disableForm = function(hsid) {
   // Disable *all* submit buttons in this form, as well as all input-related
   // elements of the current hierarchical select.
-  $('form:has(#hierarchical-select-' + hsid +'-wrapper) input[type=submit]')
+  $('form:has(#hierarchical-select-' + hsid +'-wrapper) :input[type=submit]')
   .add('#hierarchical-select-' + hsid +'-wrapper .hierarchical-select .selects select')
-  .add('#hierarchical-select-' + hsid +'-wrapper .hierarchical-select input')
+  .add('#hierarchical-select-' + hsid +'-wrapper .hierarchical-select :input')
   .attr('disabled', true);
 
   // Add the 'waiting' class. Default style: make everything transparent.
@@ -188,8 +188,8 @@ Drupal.HierarchicalSelect.disableForm = function(hsid) {
 Drupal.HierarchicalSelect.enableForm = function(hsid) {
   // This method undoes everything the disableForm() method did.
 
-  $e = $('form:has(#hierarchical-select-' + hsid +'-wrapper) input[type=submit]');
-  $e = $e.add('#hierarchical-select-' + hsid +'-wrapper .hierarchical-select input[type!=submit]');
+  $e = $('form:has(#hierarchical-select-' + hsid +'-wrapper) :input[type=submit]');
+  $e = $e.add('#hierarchical-select-' + hsid +'-wrapper .hierarchical-select :input[type!=submit]');
 
   // Don't enable the selects again if they've been disabled because the
   // dropbox limit was exceeded.
@@ -202,7 +202,7 @@ Drupal.HierarchicalSelect.enableForm = function(hsid) {
   // Don't enable the 'Add' button again if it's been disabled because the
   // dropbox limit was exceeded.
   if (dropboxLimitExceeded) {
-    $('#hierarchical-select-' + hsid +'-wrapper .hierarchical-select input[type=submit]')
+    $('#hierarchical-select-' + hsid +'-wrapper .hierarchical-select :input[type=submit]')
     .attr('disabled', true);
   }
 
@@ -238,7 +238,7 @@ Drupal.HierarchicalSelect.prepareGETSubmit = function(hsid) {
   // Remove the name attributes of all form elements that end up in GET,
   // except for the "flat select" form element.
   $('#hierarchical-select-'+ hsid +'-wrapper', Drupal.HierarchicalSelect.context)
-  .find('input, select')
+  .find(':input')
   .not('.flat-select')
   .removeAttr('name');
 
@@ -252,7 +252,7 @@ Drupal.HierarchicalSelect.prepareGETSubmit = function(hsid) {
 
 Drupal.HierarchicalSelect.attachBindings = function(hsid) {
   var updateOpString = $('#hierarchical-select-'+ hsid +'-wrapper .update-button').val();
-  var addOpString = $('#hierarchical-select-'+ hsid +'-wrapper .hierarchical-select input', Drupal.HierarchicalSelect.context).val();
+  var addOpString = $('#hierarchical-select-'+ hsid +'-wrapper .hierarchical-select :input', Drupal.HierarchicalSelect.context).val();
   var createNewItemOpString = $('#hierarchical-select-'+ hsid +'-wrapper .hierarchical-select .create-new-item-create', Drupal.HierarchicalSelect.context).val();
   var cancelNewItemOpString = $('#hierarchical-select-'+ hsid +'-wrapper .hierarchical-select .create-new-item-cancel', Drupal.HierarchicalSelect.context).val();
 
diff --git a/includes/common_config_form.js b/includes/common_config_form.js
index 848d7e8..f413791 100644
--- a/includes/common_config_form.js
+++ b/includes/common_config_form.js
@@ -14,7 +14,7 @@ cfg.context = function(configId) {
 
 cfg.levelLabels = function(configId) {
   var $status = $('.level-labels-status', cfg.context(configId));
-  var $enforceDeepest = $('.enforce-deepest input', cfg.context(configId));
+  var $enforceDeepest = $('.enforce-deepest :input', cfg.context(configId));
 
   var showHide = function(speed) {
     $affected = $('.level-labels-settings', cfg.context(configId)); 
@@ -109,7 +109,7 @@ cfg.editability = function(configId) {
 
 cfg.livePreview = function(configId) {
   // React on changes to any input, except the ones in the live preview.
-  $updateLivePreview = $('input', cfg.context(configId))
+  $updateLivePreview = $(':input', cfg.context(configId))
   .filter(':not(.create-new-item-input):not(.create-new-item-create):not(.create-new-item-cancel)')
   .change(function() {
     // TODO: Do an AJAX submit of the entire form.
-- 
1.8.5.3

