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); |