annotate core/modules/menu_ui/menu_ui.admin.js @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@0 1 /**
Chris@0 2 * DO NOT EDIT THIS FILE.
Chris@0 3 * See the following change record for more information,
Chris@0 4 * https://www.drupal.org/node/2815083
Chris@0 5 * @preserve
Chris@0 6 **/
Chris@0 7
Chris@0 8 (function ($, Drupal) {
Chris@0 9 Drupal.behaviors.menuUiChangeParentItems = {
Chris@0 10 attach: function attach(context, settings) {
Chris@0 11 var $menu = $('#edit-menu').once('menu-parent');
Chris@0 12 if ($menu.length) {
Chris@0 13 Drupal.menuUiUpdateParentList();
Chris@0 14
Chris@0 15 $menu.on('change', 'input', Drupal.menuUiUpdateParentList);
Chris@0 16 }
Chris@0 17 }
Chris@0 18 };
Chris@0 19
Chris@0 20 Drupal.menuUiUpdateParentList = function () {
Chris@0 21 var $menu = $('#edit-menu');
Chris@0 22 var values = [];
Chris@0 23
Chris@0 24 $menu.find('input:checked').each(function () {
Chris@0 25 values.push(Drupal.checkPlain($.trim($(this).val())));
Chris@0 26 });
Chris@0 27
Chris@0 28 $.ajax({
Chris@17 29 url: window.location.protocol + '//' + window.location.host + Drupal.url('admin/structure/menu/parents'),
Chris@0 30 type: 'POST',
Chris@0 31 data: { 'menus[]': values },
Chris@0 32 dataType: 'json',
Chris@0 33 success: function success(options) {
Chris@0 34 var $select = $('#edit-menu-parent');
Chris@0 35
Chris@0 36 var selected = $select.val();
Chris@0 37
Chris@0 38 $select.children().remove();
Chris@0 39
Chris@0 40 var totalOptions = 0;
Chris@14 41 Object.keys(options || {}).forEach(function (machineName) {
Chris@14 42 $select.append($('<option ' + (machineName === selected ? ' selected="selected"' : '') + '></option>').val(machineName).text(options[machineName]));
Chris@14 43 totalOptions++;
Chris@14 44 });
Chris@0 45
Chris@0 46 $select.closest('div').toggle(totalOptions > 0).attr('hidden', totalOptions === 0);
Chris@0 47 }
Chris@0 48 });
Chris@0 49 };
Chris@0 50 })(jQuery, Drupal);