--- a/core/misc/states.es6.js +++ b/core/misc/states.es6.js @@ -93,15 +93,15 @@ */ Drupal.behaviors.states = { attach(context, settings) { - const $states = $(context).find('[data-drupal-states]'); - const il = $states.length; + const elements = once('states', '[data-drupal-states]', context); + const il = elements.length; for (let i = 0; i < il; i++) { const config = JSON.parse( - $states[i].getAttribute('data-drupal-states'), + elements[i].getAttribute('data-drupal-states'), ); Object.keys(config || {}).forEach((state) => { new states.Dependent({ - element: $($states[i]), + element: $(elements[i]), state: states.State.sanitize(state), constraints: config[state], }); --- a/core/misc/states.js +++ b/core/misc/states.js @@ -29,13 +29,13 @@ } Drupal.behaviors.states = { attach: function attach(context, settings) { - var $states = $(context).find('[data-drupal-states]'); - var il = $states.length; + var elements = once('states', '[data-drupal-states]', context); + var il = elements.length; var _loop = function _loop(i) { - var config = JSON.parse($states[i].getAttribute('data-drupal-states')); + var config = JSON.parse(elements[i].getAttribute('data-drupal-states')); Object.keys(config || {}).forEach(function (state) { new states.Dependent({ - element: $($states[i]), + element: $(elements[i]), state: states.State.sanitize(state), constraints: config[state] });