/** * DO NOT EDIT THIS FILE. * See the following change record for more information, * https://www.drupal.org/node/2815083 * @preserve **/ (function ($, Drupal) { Drupal.behaviors.menuUiChangeParentItems = { attach(context, settings) { const menu = once('menu-parent', '#edit-menu'); if (menu.length) { const $menu = $(menu); Drupal.menuUiUpdateParentList(); $menu.on('change', 'input', Drupal.menuUiUpdateParentList); } } }; Drupal.menuUiUpdateParentList = function () { const $menu = $('#edit-menu'); const values = []; $menu.find('input:checked').each(function () { values.push(Drupal.checkPlain($(this).val())); }); $.ajax({ url: `${window.location.protocol}//${window.location.host}${Drupal.url('admin/structure/menu/parents')}`, type: 'POST', data: { 'menus[]': values }, dataType: 'json', success(options) { const $select = $('#edit-menu-parent'); const selected = $select.val(); $select.children().remove(); let totalOptions = 0; Object.keys(options || {}).forEach(machineName => { $select.append($(``).val(machineName).text(options[machineName])); totalOptions++; }); $select.closest('div').toggle(totalOptions > 0).attr('hidden', totalOptions === 0); } }); }; })(jQuery, Drupal);