X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fentity_browser%2Fjs%2Fentity_browser.entity_reference.js;h=9034de6ad81ad7e0f61103040000929ca46a72ab;hp=882799afbd9ecaa304854b0d7d07d077982d5833;hb=059867c3f96750652c80f39e44c442a58c2549ee;hpb=f8fc16ae6b862bef59baaad5d051dd37b7ff11b2 diff --git a/web/modules/contrib/entity_browser/js/entity_browser.entity_reference.js b/web/modules/contrib/entity_browser/js/entity_browser.entity_reference.js index 882799afb..9034de6ad 100644 --- a/web/modules/contrib/entity_browser/js/entity_browser.entity_reference.js +++ b/web/modules/contrib/entity_browser/js/entity_browser.entity_reference.js @@ -19,6 +19,21 @@ stop: Drupal.entityBrowserEntityReference.entitiesReordered }); }); + // The AJAX callback will give us a flag when we need to re-open the + // browser, most likely due to a "Replace" button being clicked. + if (typeof drupalSettings.entity_browser_reopen_browser !== 'undefined' && drupalSettings.entity_browser_reopen_browser) { + var data_drupal_selector = '[data-drupal-selector^="edit-' + drupalSettings.entity_browser_reopen_browser.replace(/_/g, '-') + '-entity-browser-entity-browser-' + '"]'; + var $launch_browser_element = $(context).find(data_drupal_selector); + if (!drupalSettings.entity_browser.iframe[$launch_browser_element.attr('data-uuid')].auto_open) { + $launch_browser_element.click(); + } + // In case this is inside a fieldset closed by default, open it so the + // user doesn't need to guess the browser is open but hidden there. + var $fieldset_summary = $launch_browser_element.closest('details').find('summary'); + if ($fieldset_summary.length && $fieldset_summary.attr('aria-expanded') === 'false') { + $fieldset_summary.click(); + } + } } };