<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[14531] trunk: Some sortable improvements in the nav menu UI.</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/14531">14531</a></dd>
<dt>Author</dt> <dd>nacin</dd>
<dt>Date</dt> <dd>2010-05-10 04:51:57 +0000 (Mon, 10 May 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>Some sortable improvements in the nav menu UI. props koopersmith, see <a href="http://trac.wordpress.org/ticket/13220">#13220</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadminjsnavmenudevjs">trunk/wp-admin/js/nav-menu.dev.js</a></li>
<li><a href="#trunkwpadminjsnavmenujs">trunk/wp-admin/js/nav-menu.js</a></li>
<li><a href="#trunkwpincludesscriptloaderphp">trunk/wp-includes/script-loader.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadminjsnavmenudevjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/nav-menu.dev.js (14530 => 14531)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/nav-menu.dev.js        2010-05-10 04:49:52 UTC (rev 14530)
+++ trunk/wp-admin/js/nav-menu.dev.js        2010-05-10 04:51:57 UTC (rev 14531)
</span><span class="lines">@@ -161,20 +161,20 @@
</span><span class="cx">                 },
</span><span class="cx"> 
</span><span class="cx">                 initSortables : function() {
</span><del>-                        var currentDepth = 0, originalDepth, minDepth, maxDepth, prevBottom,
-                                menuLeft = api.menuList.offset().left,
-                                newItem, transport;
</del><ins>+                        var currentDepth = 0, originalDepth, minDepth, maxDepth,
+                                prev, next, prevBottom, nextThreshold, helperHeight, transport,
+                                menuLeft = api.menuList.offset().left;
</ins><span class="cx"> 
</span><span class="cx">                         api.menuList.sortable({
</span><span class="cx">                                 handle: '.menu-item-handle',
</span><span class="cx">                                 placeholder: 'sortable-placeholder',
</span><span class="cx">                                 start: function(e, ui) {
</span><del>-                                        var height, width, parent, children, maxChildDepth;
</del><ins>+                                        var height, width, parent, children, maxChildDepth, tempHolder;
</ins><span class="cx"> 
</span><span class="cx">                                         transport = ui.item.children('.menu-item-transport');
</span><span class="cx">                                 
</span><span class="cx">                                         // Set depths. currentDepth must be set before children are located.
</span><del>-                                        originalDepth = ( newItem ) ? 0 : ui.item.menuItemDepth();
</del><ins>+                                        originalDepth = ui.item.menuItemDepth();
</ins><span class="cx">                                         updateCurrentDepth(ui, originalDepth);
</span><span class="cx">                                 
</span><span class="cx">                                         // Attach child elements to parent
</span><span class="lines">@@ -183,14 +183,12 @@
</span><span class="cx">                                         children = parent.childMenuItems();
</span><span class="cx">                                         transport.append( children );
</span><span class="cx"> 
</span><del>-                                        // Now that the element is complete, we can update...
-                                        updateDepthRange(ui);
-
</del><span class="cx">                                         // Update the height of the placeholder to match the moving item.
</span><span class="cx">                                         height = transport.outerHeight();
</span><span class="cx">                                         // If there are children, account for distance between top of children and parent
</span><span class="cx">                                         height += ( height &gt; 0 ) ? (ui.placeholder.css('margin-top').slice(0, -2) * 1) : 0;
</span><span class="cx">                                         height += ui.helper.outerHeight();
</span><ins>+                                        helperHeight = height;
</ins><span class="cx">                                         height -= 2; // Subtract 2 for borders
</span><span class="cx">                                         ui.placeholder.height(height);
</span><span class="cx"> 
</span><span class="lines">@@ -204,6 +202,17 @@
</span><span class="cx">                                         width += api.depthToPx(maxChildDepth - originalDepth); // Account for children
</span><span class="cx">                                         width -= 2; // Subtract 2 for borders
</span><span class="cx">                                         ui.placeholder.width(width);
</span><ins>+                                        
+                                        // Update the list of menu items.
+                                        tempHolder = ui.placeholder.next();
+                                        tempHolder.css( 'margin-top', helperHeight + 'px' ); // Set the margin to absorb the placeholder
+                                        ui.placeholder.detach(); // detach or jQuery UI will think the placeholder is a menu item
+                                        $(this).sortable( &quot;refresh&quot; ); // The children aren't sortable. We should let jQ UI know.
+                                        ui.item.after( ui.placeholder ); // reattach the placeholder.
+                                        tempHolder.css('margin-top', 0); // reset the margin
+                                        
+                                        // Now that the element is complete, we can update...
+                                        updateSharedVars(ui);
</ins><span class="cx">                                 },
</span><span class="cx">                                 stop: function(e, ui) {
</span><span class="cx">                                         var children, depthChange = currentDepth - originalDepth;
</span><span class="lines">@@ -225,9 +234,9 @@
</span><span class="cx">                                         // Make sure the placeholder is inside the menu.
</span><span class="cx">                                         // Otherwise fix it, or we're in trouble.
</span><span class="cx">                                         if( ! ui.placeholder.parent().hasClass('menu') )
</span><del>-                                                ui.placeholder.appendTo(api.menuList);
</del><ins>+                                                (prev.length) ? prev.after( ui.placeholder ) : api.menuList.prepend( ui.placeholder );
</ins><span class="cx"> 
</span><del>-                                        updateDepthRange(ui);
</del><ins>+                                        updateSharedVars(ui);
</ins><span class="cx">                                 },
</span><span class="cx">                                 sort: function(e, ui) {
</span><span class="cx">                                         var offset = ui.helper.offset(),
</span><span class="lines">@@ -240,18 +249,28 @@
</span><span class="cx"> 
</span><span class="cx">                                         if( depth != currentDepth )
</span><span class="cx">                                                 updateCurrentDepth(ui, depth);
</span><ins>+                                                
+                                        // If we overlap the next element, manually shift downwards
+                                        if( nextThreshold &amp;&amp; offset.top + helperHeight &gt; nextThreshold ) {
+                                                next.after( ui.placeholder );
+                                                updateSharedVars( ui );
+                                                $(this).sortable( &quot;refreshPositions&quot; );
+                                        }
</ins><span class="cx">                                 }
</span><span class="cx">                         });
</span><span class="cx"> 
</span><del>-                        function updateDepthRange(ui) {
-                                var prev = ui.placeholder.prev(),
-                                        next = ui.placeholder.next(), depth;
</del><ins>+                        function updateSharedVars(ui) {
+                                var depth;
+                                
+                                prev = ui.placeholder.prev();
+                                next = ui.placeholder.next();
</ins><span class="cx"> 
</span><span class="cx">                                 // Make sure we don't select the moving item.
</span><span class="cx">                                 if( prev[0] == ui.item[0] ) prev = prev.prev();
</span><span class="cx">                                 if( next[0] == ui.item[0] ) next = next.next();
</span><span class="cx"> 
</span><span class="cx">                                 prevBottom = (prev.length) ? prev.offset().top + prev.height() : 0;
</span><ins>+                                nextThreshold = (next.length) ? next.offset().top + next.height() / 3 : 0;
</ins><span class="cx">                                 minDepth = (next.length) ? next.menuItemDepth() : 0;
</span><span class="cx"> 
</span><span class="cx">                                 if( prev.length )
</span></span></pre></div>
<a id="trunkwpadminjsnavmenujs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/nav-menu.js (14530 => 14531)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/nav-menu.js        2010-05-10 04:49:52 UTC (rev 14530)
+++ trunk/wp-admin/js/nav-menu.js        2010-05-10 04:51:57 UTC (rev 14531)
</span><span class="lines">@@ -1 +1 @@
</span><del>-var wpNavMenu;(function(b){var a=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:undefined,targetList:undefined,autoCompleteData:{},init:function(){a.menuList=b(&quot;#menu-to-edit&quot;);a.targetList=a.menuList;this.jQueryExtensions();this.attachMenuEditListeners();this.setupInputWithDefaultTitle();this.attachAddMenuItemListeners();this.attachQuickSearchListeners();this.attachTabsPanelListeners();this.attachHomeLinkListener();if(a.menuList.length){this.initSortables()}this.initToggles();this.initTabManager()},jQueryExtensions:function(){b.fn.extend({menuItemDepth:function(){return a.pxToDepth(this.eq(0).css(&quot;margin-left&quot;).slice(0,-2))},updateDepthClass:function(d,c){return this.each(function(){var e=b(this);c=c||e.menuItemDepth();b(this).removeClass(&quot;menu-item-depth-&quot;+c).addClass(&quot;menu-item-depth-&quot;+d)})},shiftDepthClass:function(c){return this.each(function(){var d=b(this),e=d.menuItemDepth();b(this).removeClass(&quot;menu-item-depth-&quot;+e).addClass(&quot;menu-item-depth-&quot;+(e+c))})},childMenuItems:function(){var c=b();this.each(function(){var d=b(this),f=d.menuItemDepth(),e=d.next();while(e.length&amp;&amp;e.menuItemDepth()&gt;f){c=c.add(e);e=e.next()}});return c},updateParentMenuItemDBId:function(){return this.each(function(){var e=b(this),c=e.find(&quot;.menu-item-data-parent-id&quot;),f=e.menuItemDepth(),d=e.prev();if(f==0){c.val(0)}else{while(d.menuItemDepth()!=f-1){d=d.prev()}c.val(d.find(&quot;.menu-item-data-db-id&quot;).val())}})},hideAdvancedMenuItemFields:function(){return this.each(function(){var c=b(this);b(&quot;.hide-column-tog&quot;).not(&quot;:checked&quot;).each(function(){c.find(&quot;.field-&quot;+b(this).val()).addClass(&quot;hidden-field&quot;)})})},addSelectedToMenu:function(c){return this.each(function(){var e=b(this),d={},g=e.find(&quot;.tabs-panel-active .categorychecklist li input:checked&quot;),f=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;);c=c||a.addMenuItemToBottom;if(!g.length){return false}e.find(&quot;img.waiting&quot;).show();b(g).each(function(){var h=f.exec(b(this).attr(&quot;name&quot;)),i=&quot;undefined&quot;==typeof h[1]?0:parseInt(h[1],10);d[i]=a.getListDataFromID(i)});a.addItemToMenu(d,c,function(){g.removeAttr(&quot;checked&quot;);e.find(&quot;img.waiting&quot;).hide()})})}})},initToggles:function(){postboxes.add_postbox_toggles(&quot;nav-menus&quot;);columns.useCheckboxesForHidden();columns.checked=function(c){b(&quot;.field-&quot;+c).removeClass(&quot;hidden-field&quot;)};columns.unchecked=function(c){b(&quot;.field-&quot;+c).addClass(&quot;hidden-field&quot;)};a.menuList.hideAdvancedMenuItemFields()},initSortables:function(){var j=0,i,g,c,h,f=a.menuList.offset().left,k,e;a.menuList.sortable({handle:&quot;.menu-item-handle&quot;,placeholder:&quot;sortable-placeholder&quot;,start:function(s,r){var m,q,p,n,o;e=r.item.children(&quot;.menu-item-transport&quot;);i=(k)?0:r.item.menuItemDepth();d(r,i);p=(r.item.next()[0]==r.placeholder[0])?r.item.next():r.item;n=p.childMenuItems();e.append(n);l(r);m=e.outerHeight();m+=(m&gt;0)?(r.placeholder.css(&quot;margin-top&quot;).slice(0,-2)*1):0;m+=r.helper.outerHeight();m-=2;r.placeholder.height(m);o=i;n.each(function(){var t=b(this).menuItemDepth();o=(t&gt;o)?t:o});q=r.helper.find(&quot;.menu-item-handle&quot;).outerWidth();q+=a.depthToPx(o-i);q-=2;r.placeholder.width(q)},stop:function(p,o){var n,m=j-i;n=e.children().insertAfter(o.item);if(m!=0){o.item.updateDepthClass(j);n.shiftDepthClass(m)}o.item.updateParentMenuItemDBId();a.recalculateMenuItemPositions()},change:function(n,m){if(!m.placeholder.parent().hasClass(&quot;menu&quot;)){m.placeholder.appendTo(a.menuList)}l(m)},sort:function(n,m){var p=m.helper.offset(),o=a.pxToDepth(p.left-f);if(o&gt;c||p.top&lt;h){o=c}else{if(o&lt;g){o=g}}if(o!=j){d(m,o)}}});function l(o){var n=o.placeholder.prev(),m=o.placeholder.next(),p;if(n[0]==o.item[0]){n=n.prev()}if(m[0]==o.item[0]){m=m.next()}h=(n.length)?n.offset().top+n.height():0;g=(m.length)?m.menuItemDepth():0;if(n.length){c=((p=n.menuItemDepth()+1)&gt;a.options.globalMaxDepth)?a.options.globalMaxDepth:p}else{c=0}}function d(m,n){m.placeholder.updateDepthClass(n,j);j=n}},attachMenuEditListeners:function(){var c=this;b(&quot;#update-nav-menu&quot;).bind(&quot;click&quot;,function(d){if(d.target&amp;&amp;d.target.className){if(-1!=d.target.className.indexOf(&quot;item-edit&quot;)){return c.eventOnClickEditLink(d.target)}else{if(-1!=d.target.className.indexOf(&quot;menu-delete&quot;)){return c.eventOnClickMenuDelete(d.target)}else{if(-1!=d.target.className.indexOf(&quot;item-delete&quot;)){return c.eventOnClickMenuItemDelete(d.target)}else{if(-1!=d.target.className.indexOf(&quot;item-close&quot;)){return c.eventOnClickCloseLink(d.target)}}}}}})},setupInputWithDefaultTitle:function(){var c=&quot;input-with-default-title&quot;;b(&quot;.&quot;+c).each(function(){var f=b(this),e=f.attr(&quot;title&quot;),d=f.val();f.data(c,e);if(&quot;&quot;==d){f.val(e)}else{if(e==d){return}else{f.removeClass(c)}}}).focus(function(){var d=b(this);if(d.val()==d.data(c)){d.val(&quot;&quot;).removeClass(c)}}).blur(function(){var d=b(this);if(&quot;&quot;==d.val()){d.addClass(c).val(d.data(c))}})},attachAddMenuItemListeners:function(){var c=b(&quot;#nav-menu-meta&quot;);c.find(&quot;.add-to-menu input&quot;).click(function(){b(this).trigger(&quot;wp-add-menu-item&quot;,[a.addMenuItemToBottom]);return false});c.find(&quot;.customlinkdiv&quot;).bind(&quot;wp-add-menu-item&quot;,function(f,d){a.addCustomLink(d)});c.find(&quot;.posttypediv, .taxonomydiv&quot;).bind(&quot;wp-add-menu-item&quot;,function(f,d){b(this).addSelectedToMenu(d)})},attachQuickSearchListeners:function(){var d=this,c=b(&quot;#nav-menu-meta&quot;);b(&quot;input.quick-search&quot;).each(function(e,f){d.setupQuickSearchEventListeners(f)});c.find(&quot;.quick-search-submit&quot;).click(function(){b(this).trigger(&quot;wp-quick-search&quot;);return false});c.find(&quot;.inside&quot;).children().bind(&quot;wp-quick-search&quot;,function(){d.quickSearch(b(this).attr(&quot;id&quot;))})},quickSearch:function(j){var e=b(&quot;#&quot;+j+&quot; .quick-search&quot;).attr(&quot;name&quot;),g=b(&quot;#&quot;+j+&quot; .quick-search&quot;).val(),i=b(&quot;#menu&quot;).val(),d=b(&quot;#menu-settings-column-nonce&quot;).val(),h={},f=this,c=function(){};c=f.processQuickSearchQueryResponse;h={action:&quot;menu-quick-search&quot;,&quot;response-format&quot;:&quot;markup&quot;,menu:i,&quot;menu-settings-column-nonce&quot;:d,q:g,type:e};b.post(ajaxurl,h,function(k){c.call(f,k,h)})},addCustomLink:function(c){var e=b(&quot;#custom-menu-item-url&quot;).val(),d=b(&quot;#custom-menu-item-name&quot;).val();c=c||a.addMenuItemToBottom;if(&quot;&quot;==e||&quot;http://&quot;==e){return false}b(&quot;.customlinkdiv img.waiting&quot;).show();this.addLinkToMenu(e,d,c,function(){b(&quot;.customlinkdiv img.waiting&quot;).hide();b(&quot;#custom-menu-item-name&quot;).val(&quot;&quot;).blur();b(&quot;#custom-menu-item-url&quot;).val(&quot;http://&quot;)})},addLinkToMenu:function(e,d,c,f){c=c||a.addMenuItemToBottom;f=f||function(){};a.addItemToMenu({&quot;-1&quot;:{&quot;menu-item-type&quot;:&quot;custom&quot;,&quot;menu-item-url&quot;:e,&quot;menu-item-title&quot;:d}},c,f)},addItemToMenu:function(e,c,g){var f=b(&quot;#menu&quot;).val(),d=b(&quot;#menu-settings-column-nonce&quot;).val();c=c||function(){};g=g||function(){};params={action:&quot;add-menu-item&quot;,menu:f,&quot;menu-settings-column-nonce&quot;:d,&quot;menu-item&quot;:e};b.post(ajaxurl,params,function(h){c(h,params);g()})},addMenuItemToBottom:function(c,d){b(c).hideAdvancedMenuItemFields().appendTo(a.targetList)},addMenuItemToTop:function(c,d){b(c).hideAdvancedMenuItemFields().prependTo(a.targetList)},attachHomeLinkListener:function(){b(&quot;.add-home-link&quot;,&quot;.customlinkdiv&quot;).click(function(c){a.addLinkToMenu(navMenuL10n.homeurl,navMenuL10n.home,a.addMenuItemToTop,a.recalculateMenuItemPositions);return false})},attachTabsPanelListeners:function(){b(&quot;#menu-settings-column&quot;).bind(&quot;click&quot;,function(j){var h,k,d,l,c,g,f;if(j.target&amp;&amp;j.target.className&amp;&amp;-1!=j.target.className.indexOf(&quot;nav-tab-link&quot;)){d=/#(.*)$/.exec(j.target.href);l=b(j.target).parents(&quot;.inside&quot;).first()[0];c=l?l.getElementsByTagName(&quot;input&quot;):[];g=c.length;while(g--){c[g].checked=false}b(&quot;.tabs-panel&quot;,l).each(function(){if(this.className){this.className=this.className.replace(&quot;tabs-panel-active&quot;,&quot;tabs-panel-inactive&quot;)}});b(&quot;.tabs&quot;,l).each(function(){this.className=this.className.replace(&quot;tabs&quot;,&quot;&quot;)});j.target.parentNode.className+=&quot; tabs&quot;;if(d&amp;&amp;d[1]){k=document.getElementById(d[1]);if(k){k.className=k.className.replace(&quot;tabs-panel-inactive&quot;,&quot;tabs-panel-active&quot;)}}return false}else{if(j.target&amp;&amp;j.target.className&amp;&amp;-1!=j.target.className.indexOf(&quot;select-all&quot;)){h=/#(.*)$/.exec(j.target.href);if(h&amp;&amp;h[1]){f=b(&quot;#&quot;+h[1]+&quot; .tabs-panel-active .menu-item-title input&quot;);if(f.length===f.filter(&quot;:checked&quot;).length){f.removeAttr(&quot;checked&quot;)}else{f.attr(&quot;checked&quot;,&quot;checked&quot;)}return false}}}})},initTabManager:function(){var h=b(&quot;.nav-tabs-wrapper&quot;),i=h.children(&quot;.nav-tabs&quot;),g=i.children(&quot;.nav-tab-active&quot;),l=i.children(&quot;.nav-tab&quot;),e=0,m,f,k,d,j=false;function c(){f=h.offset().left;m=f+h.width();g.makeTabVisible()}b.fn.extend({makeTabVisible:function(){var o=this.eq(0),p,n;if(!o.length){return}p=o.offset().left;n=p+o.outerWidth();if(n&gt;m){i.animate({&quot;margin-left&quot;:&quot;+=&quot;+(m-n)+&quot;px&quot;},&quot;fast&quot;)}else{if(p&lt;f){i.animate({&quot;margin-left&quot;:&quot;-=&quot;+(p-f)+&quot;px&quot;},&quot;fast&quot;)}}return o},isTabVisible:function(){var o=this.eq(0),p=o.offset().left,n=p+o.outerWidth();return(n&lt;=m&amp;&amp;p&gt;=f)?true:false}});l.each(function(){e+=b(this).outerWidth(true)});if(e&lt;=h.width()-i.css(&quot;padding-left&quot;).slice(0,-2)-i.css(&quot;padding-right&quot;).slice(0,-2)){return}i.css({&quot;margin-right&quot;:(-1*e)+&quot;px&quot;,padding:0});k=b('&lt;div class=&quot;nav-tabs-arrow nav-tabs-arrow-left&quot;&gt;&lt;a&gt;&amp;laquo;&lt;/a&gt;&lt;/div&gt;');d=b('&lt;div class=&quot;nav-tabs-arrow nav-tabs-arrow-right&quot;&gt;&lt;a&gt;&amp;raquo;&lt;/a&gt;&lt;/div&gt;');h.wrap('&lt;div class=&quot;nav-tabs-nav&quot;/&gt;').parent().prepend(k).append(d);c();b(window).resize(function(){if(j){return}j=true;setTimeout(function(){c();j=false},1000)});b.each([{arrow:k,next:&quot;next&quot;,last:&quot;first&quot;,operator:&quot;+=&quot;},{arrow:d,next:&quot;prev&quot;,last:&quot;last&quot;,operator:&quot;-=&quot;}],function(){var n=this;this.arrow.mousedown(function(){var p=l[n.last](),o=function(){if(!p.isTabVisible()){i.animate({&quot;margin-left&quot;:n.operator+&quot;90px&quot;},300,&quot;linear&quot;,o)}};o()}).mouseup(function(){var p,o;i.stop(true);p=l[n.last]();while((o=p[n.next]())&amp;&amp;o.length&amp;&amp;!o.isTabVisible()){p=o}p.makeTabVisible()})})},setupQuickSearchEventListeners:function(c){var d=this;b(c).autocomplete(ajaxurl+&quot;?action=menu-quick-search&amp;type=&quot;+c.name,{delay:500,formatItem:a.formatAutocompleteResponse,formatResult:a.formatAutocompleteResult,minchars:2,multiple:false}).bind(&quot;blur&quot;,function(h){var f=a.autoCompleteData[this.value],g=this;if(f){b.post(ajaxurl+&quot;?action=menu-quick-search&amp;type=get-post-item&amp;response-format=markup&quot;,f,function(e){d.processQuickSearchQueryResponse.call(d,e,f);a.autoCompleteData[g.value]=false})}})},eventOnClickEditLink:function(c){var e,d=/#(.*)$/.exec(c.href);if(d&amp;&amp;d[1]){e=b(&quot;#&quot;+d[1]);if(0!=e.length){if(e.hasClass(&quot;menu-item-edit-inactive&quot;)){e.slideDown(&quot;fast&quot;).siblings(&quot;dl&quot;).andSelf().removeClass(&quot;menu-item-edit-inactive&quot;).addClass(&quot;menu-item-edit-active&quot;)}else{e.slideUp(&quot;fast&quot;).siblings(&quot;dl&quot;).andSelf().removeClass(&quot;menu-item-edit-active&quot;).addClass(&quot;menu-item-edit-inactive&quot;)}return false}}},eventOnClickCloseLink:function(c){b(c).closest(&quot;.menu-item-settings&quot;).siblings(&quot;dl&quot;).find(&quot;.item-edit&quot;).click();return false},eventOnClickMenuDelete:function(c){if(confirm(navMenuL10n.warnDeleteMenu)){return true}else{return false}},eventOnClickMenuItemDelete:function(c){var f,e,d=this;if(confirm(navMenuL10n.warnDeleteMenuItem)){e=/_wpnonce=([a-zA-Z0-9]*)$/.exec(c.href);if(e&amp;&amp;e[1]){f=parseInt(c.id.replace(&quot;delete-&quot;,&quot;&quot;),10);b.post(ajaxurl,{action:&quot;delete-menu-item&quot;,&quot;menu-item&quot;:f,_wpnonce:e[1]},function(g){if(&quot;1&quot;==g){d.removeMenuItem(document.getElementById(&quot;menu-item-&quot;+f))}});return false}return true}else{return false}},processQuickSearchQueryResponse:function(g,m){if(!m){m={}}var d=document.createElement(&quot;ul&quot;),c=document.getElementById(&quot;nav-menu-meta&quot;),h,l,e,n,j,k=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;),f;e=k.exec(g);if(e&amp;&amp;e[1]){j=e[1];while(c.elements[&quot;menu-item[&quot;+j+&quot;][menu-item-type]&quot;]){j--}if(j!=e[1]){g=g.replace(new RegExp(&quot;menu-item\\[&quot;+e[1]+&quot;\\]&quot;,&quot;g&quot;),&quot;menu-item[&quot;+j+&quot;]&quot;)}}d.innerHTML=g;l=d.getElementsByTagName(&quot;li&quot;);if(l[0]&amp;&amp;m.object_type){f=document.getElementById(m.object_type+&quot;-search-checklist&quot;);if(f){f.appendChild(l[0])}}else{if(m.type){e=/quick-search-(posttype|taxonomy)-([a-zA-Z_-]*)/.exec(m.type);if(e&amp;&amp;e[2]){f=document.getElementById(e[2]+&quot;-search-checklist&quot;);if(f){h=l.length;if(!h){n=document.createElement(&quot;li&quot;);n.appendChild(document.createTextNode(navMenuL10n.noResultsFound));f.appendChild(n)}while(h--){f.appendChild(l[h])}}}}}},removeMenuItem:function(d){d=b(d);var c=d.childMenuItems(),e=this;d.addClass(&quot;deleting&quot;).fadeOut(350,function(){d.remove();c.shiftDepthClass(-1).updateParentMenuItemDBId();a.recalculateMenuItemPositions()})},formatAutocompleteResponse:function(c,g,d,f){if(c&amp;&amp;c[0]){var e=b.parseJSON(c[0]);if(e.post_title){if(e.ID&amp;&amp;e.post_type){a.autoCompleteData[e.post_title]={ID:e.ID,object_type:e.post_type}}return e.post_title}}},formatAutocompleteResult:function(c,g,d,f){if(c&amp;&amp;c[0]){var e=b.parseJSON(c[0]);if(e.post_title){return e.post_title}}},getListDataFromID:function(k,h){if(!k){return false}h=h||document;var d=[&quot;menu-item-db-id&quot;,&quot;menu-item-object-id&quot;,&quot;menu-item-object&quot;,&quot;menu-item-parent-id&quot;,&quot;menu-item-position&quot;,&quot;menu-item-type&quot;,&quot;menu-item-append&quot;,&quot;menu-item-title&quot;,&quot;menu-item-url&quot;,&quot;menu-item-description&quot;,&quot;menu-item-attr-title&quot;,&quot;menu-item-target&quot;,&quot;menu-item-classes&quot;,&quot;menu-item-xfn&quot;],c={},e=h.getElementsByTagName(&quot;input&quot;),g=e.length,f;while(g--){f=d.length;while(f--){if(e[g]&amp;&amp;e[g].name&amp;&amp;&quot;menu-item[&quot;+k+&quot;][&quot;+d[f]+&quot;]&quot;==e[g].name){c[d[f]]=e[g].value}}}return c},recalculateMenuItemPositions:function(){a.menuList.find(&quot;.menu-item-data-position&quot;).val(function(c){return c+1})},depthToPx:function(c){return c*a.options.menuItemDepthPerLevel},pxToDepth:function(c){return Math.floor(c/a.options.menuItemDepthPerLevel)}};b(document).ready(function(){wpNavMenu.init()})})(jQuery);
</del><span class="cx">\ No newline at end of file
</span><ins>+var wpNavMenu;(function(b){var a=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:undefined,targetList:undefined,autoCompleteData:{},init:function(){a.menuList=b(&quot;#menu-to-edit&quot;);a.targetList=a.menuList;this.jQueryExtensions();this.attachMenuEditListeners();this.setupInputWithDefaultTitle();this.attachAddMenuItemListeners();this.attachQuickSearchListeners();this.attachTabsPanelListeners();this.attachHomeLinkListener();if(a.menuList.length){this.initSortables()}this.initToggles();this.initTabManager()},jQueryExtensions:function(){b.fn.extend({menuItemDepth:function(){return a.pxToDepth(this.eq(0).css(&quot;margin-left&quot;).slice(0,-2))},updateDepthClass:function(d,c){return this.each(function(){var e=b(this);c=c||e.menuItemDepth();b(this).removeClass(&quot;menu-item-depth-&quot;+c).addClass(&quot;menu-item-depth-&quot;+d)})},shiftDepthClass:function(c){return this.each(function(){var d=b(this),e=d.menuItemDepth();b(this).removeClass(&quot;menu-item-depth-&quot;+e).addClass(&quot;menu-item-depth-&quot;+(e+c))})},childMenuItems:function(){var c=b();this.each(function(){var d=b(this),f=d.menuItemDepth(),e=d.next();while(e.length&amp;&amp;e.menuItemDepth()&gt;f){c=c.add(e);e=e.next()}});return c},updateParentMenuItemDBId:function(){return this.each(function(){var e=b(this),c=e.find(&quot;.menu-item-data-parent-id&quot;),f=e.menuItemDepth(),d=e.prev();if(f==0){c.val(0)}else{while(d.menuItemDepth()!=f-1){d=d.prev()}c.val(d.find(&quot;.menu-item-data-db-id&quot;).val())}})},hideAdvancedMenuItemFields:function(){return this.each(function(){var c=b(this);b(&quot;.hide-column-tog&quot;).not(&quot;:checked&quot;).each(function(){c.find(&quot;.field-&quot;+b(this).val()).addClass(&quot;hidden-field&quot;)})})},addSelectedToMenu:function(c){return this.each(function(){var e=b(this),d={},g=e.find(&quot;.tabs-panel-active .categorychecklist li input:checked&quot;),f=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;);c=c||a.addMenuItemToBottom;if(!g.length){return false}e.find(&quot;img.waiting&quot;).show();b(g).each(function(){var h=f.exec(b(this).attr(&quot;name&quot;)),i=&quot;undefined&quot;==typeof h[1]?0:parseInt(h[1],10);d[i]=a.getListDataFromID(i)});a.addItemToMenu(d,c,function(){g.removeAttr(&quot;checked&quot;);e.find(&quot;img.waiting&quot;).hide()})})}})},initToggles:function(){postboxes.add_postbox_toggles(&quot;nav-menus&quot;);columns.useCheckboxesForHidden();columns.checked=function(c){b(&quot;.field-&quot;+c).removeClass(&quot;hidden-field&quot;)};columns.unchecked=function(c){b(&quot;.field-&quot;+c).addClass(&quot;hidden-field&quot;)};a.menuList.hideAdvancedMenuItemFields()},initSortables:function(){var m=0,l,j,e,h,n,k,o,d,g,i=a.menuList.offset().left;a.menuList.sortable({handle:&quot;.menu-item-handle&quot;,placeholder:&quot;sortable-placeholder&quot;,start:function(w,v){var p,t,s,q,r,u;g=v.item.children(&quot;.menu-item-transport&quot;);l=v.item.menuItemDepth();f(v,l);s=(v.item.next()[0]==v.placeholder[0])?v.item.next():v.item;q=s.childMenuItems();g.append(q);p=g.outerHeight();p+=(p&gt;0)?(v.placeholder.css(&quot;margin-top&quot;).slice(0,-2)*1):0;p+=v.helper.outerHeight();d=p;p-=2;v.placeholder.height(p);r=l;q.each(function(){var x=b(this).menuItemDepth();r=(x&gt;r)?x:r});t=v.helper.find(&quot;.menu-item-handle&quot;).outerWidth();t+=a.depthToPx(r-l);t-=2;v.placeholder.width(t);u=v.placeholder.next();u.css(&quot;margin-top&quot;,d+&quot;px&quot;);v.placeholder.detach();b(this).sortable(&quot;refresh&quot;);v.item.after(v.placeholder);u.css(&quot;margin-top&quot;,0);c(v)},stop:function(s,r){var q,p=m-l;q=g.children().insertAfter(r.item);if(p!=0){r.item.updateDepthClass(m);q.shiftDepthClass(p)}r.item.updateParentMenuItemDBId();a.recalculateMenuItemPositions()},change:function(q,p){if(!p.placeholder.parent().hasClass(&quot;menu&quot;)){(h.length)?h.after(p.placeholder):a.menuList.prepend(p.placeholder)}c(p)},sort:function(q,p){var s=p.helper.offset(),r=a.pxToDepth(s.left-i);if(r&gt;e||s.top&lt;k){r=e}else{if(r&lt;j){r=j}}if(r!=m){f(p,r)}if(o&amp;&amp;s.top+d&gt;o){n.after(p.placeholder);c(p);b(this).sortable(&quot;refreshPositions&quot;)}}});function c(p){var q;h=p.placeholder.prev();n=p.placeholder.next();if(h[0]==p.item[0]){h=h.prev()}if(n[0]==p.item[0]){n=n.next()}k=(h.length)?h.offset().top+h.height():0;o=(n.length)?n.offset().top+n.height()/3:0;j=(n.length)?n.menuItemDepth():0;if(h.length){e=((q=h.menuItemDepth()+1)&gt;a.options.globalMaxDepth)?a.options.globalMaxDepth:q}else{e=0}}function f(p,q){p.placeholder.updateDepthClass(q,m);m=q}},attachMenuEditListeners:function(){var c=this;b(&quot;#update-nav-menu&quot;).bind(&quot;click&quot;,function(d){if(d.target&amp;&amp;d.target.className){if(-1!=d.target.className.indexOf(&quot;item-edit&quot;)){return c.eventOnClickEditLink(d.target)}else{if(-1!=d.target.className.indexOf(&quot;menu-delete&quot;)){return c.eventOnClickMenuDelete(d.target)}else{if(-1!=d.target.className.indexOf(&quot;item-delete&quot;)){return c.eventOnClickMenuItemDelete(d.target)}else{if(-1!=d.target.className.indexOf(&quot;item-close&quot;)){return c.eventOnClickCloseLink(d.target)}}}}}})},setupInputWithDefaultTitle:function(){var c=&quot;input-with-default-title&quot;;b(&quot;.&quot;+c).each(function(){var f=b(this),e=f.attr(&quot;title&quot;),d=f.val();f.data(c,e);if(&quot;&quot;==d){f.val(e)}else{if(e==d){return}else{f.removeClass(c)}}}).focus(function(){var d=b(this);if(d.val()==d.data(c)){d.val(&quot;&quot;).removeClass(c)}}).blur(function(){var d=b(this);if(&quot;&quot;==d.val()){d.addClass(c).val(d.data(c))}})},attachAddMenuItemListeners:function(){var c=b(&quot;#nav-menu-meta&quot;);c.find(&quot;.add-to-menu input&quot;).click(function(){b(this).trigger(&quot;wp-add-menu-item&quot;,[a.addMenuItemToBottom]);return false});c.find(&quot;.customlinkdiv&quot;).bind(&quot;wp-add-menu-item&quot;,function(f,d){a.addCustomLink(d)});c.find(&quot;.posttypediv, .taxonomydiv&quot;).bind(&quot;wp-add-menu-item&quot;,function(f,d){b(this).addSelectedToMenu(d)})},attachQuickSearchListeners:function(){var d=this,c=b(&quot;#nav-menu-meta&quot;);b(&quot;input.quick-search&quot;).each(function(e,f){d.setupQuickSearchEventListeners(f)});c.find(&quot;.quick-search-submit&quot;).click(function(){b(this).trigger(&quot;wp-quick-search&quot;);return false});c.find(&quot;.inside&quot;).children().bind(&quot;wp-quick-search&quot;,function(){d.quickSearch(b(this).attr(&quot;id&quot;))})},quickSearch:function(j){var e=b(&quot;#&quot;+j+&quot; .quick-search&quot;).attr(&quot;name&quot;),g=b(&quot;#&quot;+j+&quot; .quick-search&quot;).val(),i=b(&quot;#menu&quot;).val(),d=b(&quot;#menu-settings-column-nonce&quot;).val(),h={},f=this,c=function(){};c=f.processQuickSearchQueryResponse;h={action:&quot;menu-quick-search&quot;,&quot;response-format&quot;:&quot;markup&quot;,menu:i,&quot;menu-settings-column-nonce&quot;:d,q:g,type:e};b.post(ajaxurl,h,function(k){c.call(f,k,h)})},addCustomLink:function(c){var e=b(&quot;#custom-menu-item-url&quot;).val(),d=b(&quot;#custom-menu-item-name&quot;).val();c=c||a.addMenuItemToBottom;if(&quot;&quot;==e||&quot;http://&quot;==e){return false}b(&quot;.customlinkdiv img.waiting&quot;).show();this.addLinkToMenu(e,d,c,function(){b(&quot;.customlinkdiv img.waiting&quot;).hide();b(&quot;#custom-menu-item-name&quot;).val(&quot;&quot;).blur();b(&quot;#custom-menu-item-url&quot;).val(&quot;http://&quot;)})},addLinkToMenu:function(e,d,c,f){c=c||a.addMenuItemToBottom;f=f||function(){};a.addItemToMenu({&quot;-1&quot;:{&quot;menu-item-type&quot;:&quot;custom&quot;,&quot;menu-item-url&quot;:e,&quot;menu-item-title&quot;:d}},c,f)},addItemToMenu:function(e,c,g){var f=b(&quot;#menu&quot;).val(),d=b(&quot;#menu-settings-column-nonce&quot;).val();c=c||function(){};g=g||function(){};params={action:&quot;add-menu-item&quot;,menu:f,&quot;menu-settings-column-nonce&quot;:d,&quot;menu-item&quot;:e};b.post(ajaxurl,params,function(h){c(h,params);g()})},addMenuItemToBottom:function(c,d){b(c).hideAdvancedMenuItemFields().appendTo(a.targetList)},addMenuItemToTop:function(c,d){b(c).hideAdvancedMenuItemFields().prependTo(a.targetList)},attachHomeLinkListener:function(){b(&quot;.add-home-link&quot;,&quot;.customlinkdiv&quot;).click(function(c){a.addLinkToMenu(navMenuL10n.homeurl,navMenuL10n.home,a.addMenuItemToTop,a.recalculateMenuItemPositions);return false})},attachTabsPanelListeners:function(){b(&quot;#menu-settings-column&quot;).bind(&quot;click&quot;,function(j){var h,k,d,l,c,g,f;if(j.target&amp;&amp;j.target.className&amp;&amp;-1!=j.target.className.indexOf(&quot;nav-tab-link&quot;)){d=/#(.*)$/.exec(j.target.href);l=b(j.target).parents(&quot;.inside&quot;).first()[0];c=l?l.getElementsByTagName(&quot;input&quot;):[];g=c.length;while(g--){c[g].checked=false}b(&quot;.tabs-panel&quot;,l).each(function(){if(this.className){this.className=this.className.replace(&quot;tabs-panel-active&quot;,&quot;tabs-panel-inactive&quot;)}});b(&quot;.tabs&quot;,l).each(function(){this.className=this.className.replace(&quot;tabs&quot;,&quot;&quot;)});j.target.parentNode.className+=&quot; tabs&quot;;if(d&amp;&amp;d[1]){k=document.getElementById(d[1]);if(k){k.className=k.className.replace(&quot;tabs-panel-inactive&quot;,&quot;tabs-panel-active&quot;)}}return false}else{if(j.target&amp;&amp;j.target.className&amp;&amp;-1!=j.target.className.indexOf(&quot;select-all&quot;)){h=/#(.*)$/.exec(j.target.href);if(h&amp;&amp;h[1]){f=b(&quot;#&quot;+h[1]+&quot; .tabs-panel-active .menu-item-title input&quot;);if(f.length===f.filter(&quot;:checked&quot;).length){f.removeAttr(&quot;checked&quot;)}else{f.attr(&quot;checked&quot;,&quot;checked&quot;)}return false}}}})},initTabManager:function(){var h=b(&quot;.nav-tabs-wrapper&quot;),i=h.children(&quot;.nav-tabs&quot;),g=i.children(&quot;.nav-tab-active&quot;),l=i.children(&quot;.nav-tab&quot;),e=0,m,f,k,d,j=false;function c(){f=h.offset().left;m=f+h.width();g.makeTabVisible()}b.fn.extend({makeTabVisible:function(){var o=this.eq(0),p,n;if(!o.length){return}p=o.offset().left;n=p+o.outerWidth();if(n&gt;m){i.animate({&quot;margin-left&quot;:&quot;+=&quot;+(m-n)+&quot;px&quot;},&quot;fast&quot;)}else{if(p&lt;f){i.animate({&quot;margin-left&quot;:&quot;-=&quot;+(p-f)+&quot;px&quot;},&quot;fast&quot;)}}return o},isTabVisible:function(){var o=this.eq(0),p=o.offset().left,n=p+o.outerWidth();return(n&lt;=m&amp;&amp;p&gt;=f)?true:false}});l.each(function(){e+=b(this).outerWidth(true)});if(e&lt;=h.width()-i.css(&quot;padding-left&quot;).slice(0,-2)-i.css(&quot;padding-right&quot;).slice(0,-2)){return}i.css({&quot;margin-right&quot;:(-1*e)+&quot;px&quot;,padding:0});k=b('&lt;div class=&quot;nav-tabs-arrow nav-tabs-arrow-left&quot;&gt;&lt;a&gt;&amp;laquo;&lt;/a&gt;&lt;/div&gt;');d=b('&lt;div class=&quot;nav-tabs-arrow nav-tabs-arrow-right&quot;&gt;&lt;a&gt;&amp;raquo;&lt;/a&gt;&lt;/div&gt;');h.wrap('&lt;div class=&quot;nav-tabs-nav&quot;/&gt;').parent().prepend(k).append(d);c();b(window).resize(function(){if(j){return}j=true;setTimeout(function(){c();j=false},1000)});b.each([{arrow:k,next:&quot;next&quot;,last:&quot;first&quot;,operator:&quot;+=&quot;},{arrow:d,next:&quot;prev&quot;,last:&quot;last&quot;,operator:&quot;-=&quot;}],function(){var n=this;this.arrow.mousedown(function(){var p=l[n.last](),o=function(){if(!p.isTabVisible()){i.animate({&quot;margin-left&quot;:n.operator+&quot;90px&quot;},300,&quot;linear&quot;,o)}};o()}).mouseup(function(){var p,o;i.stop(true);p=l[n.last]();while((o=p[n.next]())&amp;&amp;o.length&amp;&amp;!o.isTabVisible()){p=o}p.makeTabVisible()})})},setupQuickSearchEventListeners:function(c){var d=this;b(c).autocomplete(ajaxurl+&quot;?action=menu-quick-search&amp;type=&quot;+c.name,{delay:500,formatItem:a.formatAutocompleteResponse,formatResult:a.formatAutocompleteResult,minchars:2,multiple:false}).bind(&quot;blur&quot;,function(h){var f=a.autoCompleteData[this.value],g=this;if(f){b.post(ajaxurl+&quot;?action=menu-quick-search&amp;type=get-post-item&amp;response-format=markup&quot;,f,function(e){d.processQuickSearchQueryResponse.call(d,e,f);a.autoCompleteData[g.value]=false})}})},eventOnClickEditLink:function(c){var e,d=/#(.*)$/.exec(c.href);if(d&amp;&amp;d[1]){e=b(&quot;#&quot;+d[1]);if(0!=e.length){if(e.hasClass(&quot;menu-item-edit-inactive&quot;)){e.slideDown(&quot;fast&quot;).siblings(&quot;dl&quot;).andSelf().removeClass(&quot;menu-item-edit-inactive&quot;).addClass(&quot;menu-item-edit-active&quot;)}else{e.slideUp(&quot;fast&quot;).siblings(&quot;dl&quot;).andSelf().removeClass(&quot;menu-item-edit-active&quot;).addClass(&quot;menu-item-edit-inactive&quot;)}return false}}},eventOnClickCloseLink:function(c){b(c).closest(&quot;.menu-item-settings&quot;).siblings(&quot;dl&quot;).find(&quot;.item-edit&quot;).click();return false},eventOnClickMenuDelete:function(c){if(confirm(navMenuL10n.warnDeleteMenu)){return true}else{return false}},eventOnClickMenuItemDelete:function(c){var f,e,d=this;if(confirm(navMenuL10n.warnDeleteMenuItem)){e=/_wpnonce=([a-zA-Z0-9]*)$/.exec(c.href);if(e&amp;&amp;e[1]){f=parseInt(c.id.replace(&quot;delete-&quot;,&quot;&quot;),10);b.post(ajaxurl,{action:&quot;delete-menu-item&quot;,&quot;menu-item&quot;:f,_wpnonce:e[1]},function(g){if(&quot;1&quot;==g){d.removeMenuItem(document.getElementById(&quot;menu-item-&quot;+f))}});return false}return true}else{return false}},processQuickSearchQueryResponse:function(g,m){if(!m){m={}}var d=document.createElement(&quot;ul&quot;),c=document.getElementById(&quot;nav-menu-meta&quot;),h,l,e,n,j,k=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;),f;e=k.exec(g);if(e&amp;&amp;e[1]){j=e[1];while(c.elements[&quot;menu-item[&quot;+j+&quot;][menu-item-type]&quot;]){j--}if(j!=e[1]){g=g.replace(new RegExp(&quot;menu-item\\[&quot;+e[1]+&quot;\\]&quot;,&quot;g&quot;),&quot;menu-item[&quot;+j+&quot;]&quot;)}}d.innerHTML=g;l=d.getElementsByTagName(&quot;li&quot;);if(l[0]&amp;&amp;m.object_type){f=document.getElementById(m.object_type+&quot;-search-checklist&quot;);if(f){f.appendChild(l[0])}}else{if(m.type){e=/quick-search-(posttype|taxonomy)-([a-zA-Z_-]*)/.exec(m.type);if(e&amp;&amp;e[2]){f=document.getElementById(e[2]+&quot;-search-checklist&quot;);if(f){h=l.length;if(!h){n=document.createElement(&quot;li&quot;);n.appendChild(document.createTextNode(navMenuL10n.noResultsFound));f.appendChild(n)}while(h--){f.appendChild(l[h])}}}}}},removeMenuItem:function(d){d=b(d);var c=d.childMenuItems(),e=this;d.addClass(&quot;deleting&quot;).fadeOut(350,function(){d.remove();c.shiftDepthClass(-1).updateParentMenuItemDBId();a.recalculateMenuItemPositions()})},formatAutocompleteResponse:function(c,g,d,f){if(c&amp;&amp;c[0]){var e=b.parseJSON(c[0]);if(e.post_title){if(e.ID&amp;&amp;e.post_type){a.autoCompleteData[e.post_title]={ID:e.ID,object_type:e.post_type}}return e.post_title}}},formatAutocompleteResult:function(c,g,d,f){if(c&amp;&amp;c[0]){var e=b.parseJSON(c[0]);if(e.post_title){return e.post_title}}},getListDataFromID:function(k,h){if(!k){return false}h=h||document;var d=[&quot;menu-item-db-id&quot;,&quot;menu-item-object-id&quot;,&quot;menu-item-object&quot;,&quot;menu-item-parent-id&quot;,&quot;menu-item-position&quot;,&quot;menu-item-type&quot;,&quot;menu-item-append&quot;,&quot;menu-item-title&quot;,&quot;menu-item-url&quot;,&quot;menu-item-description&quot;,&quot;menu-item-attr-title&quot;,&quot;menu-item-target&quot;,&quot;menu-item-classes&quot;,&quot;menu-item-xfn&quot;],c={},e=h.getElementsByTagName(&quot;input&quot;),g=e.length,f;while(g--){f=d.length;while(f--){if(e[g]&amp;&amp;e[g].name&amp;&amp;&quot;menu-item[&quot;+k+&quot;][&quot;+d[f]+&quot;]&quot;==e[g].name){c[d[f]]=e[g].value}}}return c},recalculateMenuItemPositions:function(){a.menuList.find(&quot;.menu-item-data-position&quot;).val(function(c){return c+1})},depthToPx:function(c){return c*a.options.menuItemDepthPerLevel},pxToDepth:function(c){return Math.floor(c/a.options.menuItemDepthPerLevel)}};b(document).ready(function(){wpNavMenu.init()})})(jQuery);
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesscriptloaderphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/script-loader.php (14530 => 14531)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/script-loader.php        2010-05-10 04:49:52 UTC (rev 14530)
+++ trunk/wp-includes/script-loader.php        2010-05-10 04:51:57 UTC (rev 14531)
</span><span class="lines">@@ -393,7 +393,7 @@
</span><span class="cx">                 ) );
</span><span class="cx"> 
</span><span class="cx">                 // Custom Navigation
</span><del>-                $scripts-&gt;add( 'nav-menu', &quot;/wp-admin/js/nav-menu$suffix.js&quot;, false, '20100508' );
</del><ins>+                $scripts-&gt;add( 'nav-menu', &quot;/wp-admin/js/nav-menu$suffix.js&quot;, false, '20100510' );
</ins><span class="cx">                 $scripts-&gt;localize( 'nav-menu', 'navMenuL10n', array(
</span><span class="cx">                         'home' =&gt; _x('Home', 'nav menu home label'),
</span><span class="cx">                         'homeurl' =&gt; home_url('/'),
</span></span></pre>
</div>
</div>

</body>
</html>