diff --git a/js/entity_browser.common.js b/js/entity_browser.common.js index d28e176..5911c44 100644 --- a/js/entity_browser.common.js +++ b/js/entity_browser.common.js @@ -66,6 +66,7 @@ selector.val(entity_ids); selector.trigger('entity_browser_value_updated'); + selector.trigger('formUpdated'); }; /** diff --git a/js/entity_browser.entity_reference.js b/js/entity_browser.entity_reference.js index 882799a..b70f80c 100644 --- a/js/entity_browser.entity_reference.js +++ b/js/entity_browser.entity_reference.js @@ -15,9 +15,14 @@ Drupal.behaviors.entityBrowserEntityReference = { attach: function (context) { $(context).find('.field--widget-entity-browser-entity-reference').each(function () { - $(this).find('.entities-list.sortable').sortable({ + var $list = $(this).find('.entities-list.sortable'); + $list.sortable({ stop: Drupal.entityBrowserEntityReference.entitiesReordered }); + // Trigger an update when an action button (Remove, Edit) is clicked. + $list.find('input[type="submit"]').on('mousedown', function () { + $(this).trigger('formUpdated'); + }); }); } }; @@ -39,7 +44,7 @@ ids[i] = $(items[i]).attr('data-entity-id'); } - $(this).parent().parent().find('input[type*=hidden][name*="[target_id]"]').val(ids.join(' ')); + $(this).parent().parent().find('input[type*=hidden][name*="[target_id]"]').val(ids.join(' ')).trigger('formUpdated'); }; }(jQuery, Drupal));