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