<!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>[14286] trunk/wp-admin/js: Nav menu UI updates.</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/14286">14286</a></dd>
<dt>Author</dt> <dd>nacin</dd>
<dt>Date</dt> <dd>2010-04-29 03:43:11 +0000 (Thu, 29 Apr 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>Nav menu UI updates. props koopersmith, see <a href="http://trac.wordpress.org/ticket/13134">#13134</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadminjscommondevjs">trunk/wp-admin/js/common.dev.js</a></li>
<li><a href="#trunkwpadminjscommonjs">trunk/wp-admin/js/common.js</a></li>
<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>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadminjscommondevjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/common.dev.js (14285 => 14286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/common.dev.js        2010-04-28 20:44:08 UTC (rev 14285)
+++ trunk/wp-admin/js/common.dev.js        2010-04-29 03:43:11 UTC (rev 14286)
</span><span class="lines">@@ -123,26 +123,48 @@
</span><span class="cx"> // show/hide/save table columns
</span><span class="cx"> columns = {
</span><span class="cx">         init : function() {
</span><ins>+                var that = this;
</ins><span class="cx">                 $('.hide-column-tog', '#adv-settings').click( function() {
</span><del>-                        var column = $(this).val();
-                        if ( $(this).attr('checked') )
-                                $('.column-' + column).show();
</del><ins>+                        var $t = $(this), column = $t.val();
+                        if ( $t.attr('checked') )
+                                that.checked(column);
</ins><span class="cx">                         else
</span><del>-                                $('.column-' + column).hide();
</del><ins>+                                that.unchecked(column);
</ins><span class="cx"> 
</span><del>-                        columns.save_manage_columns_state();
</del><ins>+                        columns.saveManageColumnsState();
</ins><span class="cx">                 });
</span><span class="cx">         },
</span><span class="cx"> 
</span><del>-        save_manage_columns_state : function() {
-                var hidden = $('.manage-column').filter(':hidden').map(function() { return this.id; }).get().join(',');
</del><ins>+        saveManageColumnsState : function() {
+                var hidden = this.hidden();
</ins><span class="cx">                 $.post(ajaxurl, {
</span><span class="cx">                         action: 'hidden-columns',
</span><span class="cx">                         hidden: hidden,
</span><span class="cx">                         screenoptionnonce: $('#screenoptionnonce').val(),
</span><span class="cx">                         page: pagenow
</span><span class="cx">                 });
</span><del>-        }
</del><ins>+        },
+        
+        checked : function(column) {
+                $('.column-' + column).show();
+        },
+        
+        unchecked : function(column) {
+                $('.column-' + column).hide();
+        },
+        
+        hidden : function() {
+                return $('.manage-column').filter(':hidden').map(function() { return this.id; }).get().join(',');
+        },
+        
+        useCheckboxesForHidden : function() {
+                this.hidden = function(){
+                        return $('.hide-column-tog').not(':checked').map(function() {
+                                var id = this.id;
+                                return id.substring( id, id.length - 5 );
+                        }).get().join(',');
+                };
+        },
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> $(document).ready(function(){columns.init();});
</span></span></pre></div>
<a id="trunkwpadminjscommonjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/common.js (14285 => 14286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/common.js        2010-04-28 20:44:08 UTC (rev 14285)
+++ trunk/wp-admin/js/common.js        2010-04-29 03:43:11 UTC (rev 14286)
</span><span class="lines">@@ -1 +1 @@
</span><del>-var showNotice,adminMenu,columns,validateForm;(function(a){adminMenu={init:function(){var b=a(&quot;#adminmenu&quot;);a(&quot;.wp-menu-toggle&quot;,b).each(function(){var c=a(this),d=c.siblings(&quot;.wp-submenu&quot;);if(d.length){c.click(function(){adminMenu.toggle(d)})}else{c.hide()}});this.favorites();a(&quot;.separator&quot;,b).click(function(){if(a(&quot;body&quot;).hasClass(&quot;folded&quot;)){adminMenu.fold(1);deleteUserSetting(&quot;mfold&quot;)}else{adminMenu.fold();setUserSetting(&quot;mfold&quot;,&quot;f&quot;)}return false});if(a(&quot;body&quot;).hasClass(&quot;folded&quot;)){this.fold()}this.restoreMenuState()},restoreMenuState:function(){a(&quot;li.wp-has-submenu&quot;,&quot;#adminmenu&quot;).each(function(c,d){var b=getUserSetting(&quot;m&quot;+c);if(a(d).hasClass(&quot;wp-has-current-submenu&quot;)){return true}if(&quot;o&quot;==b){a(d).addClass(&quot;wp-menu-open&quot;)}else{if(&quot;c&quot;==b){a(d).removeClass(&quot;wp-menu-open&quot;)}}})},toggle:function(b){var c=b.slideToggle(150,function(){b.css(&quot;display&quot;,&quot;&quot;)}).parent().toggleClass(&quot;wp-menu-open&quot;).attr(&quot;id&quot;);if(c){a(&quot;li.wp-has-submenu&quot;,&quot;#adminmenu&quot;).each(function(f,g){if(c==g.id){var d=a(g).hasClass(&quot;wp-menu-open&quot;)?&quot;o&quot;:&quot;c&quot;;setUserSetting(&quot;m&quot;+f,d)}})}return false},fold:function(b){if(b){a(&quot;body&quot;).removeClass(&quot;folded&quot;);a(&quot;#adminmenu li.wp-has-submenu&quot;).unbind()}else{a(&quot;body&quot;).addClass(&quot;folded&quot;);a(&quot;#adminmenu li.wp-has-submenu&quot;).hoverIntent({over:function(j){var d,c,g,k,i;d=a(this).find(&quot;.wp-submenu&quot;);c=a(this).offset().top+d.height()+1;g=a(&quot;#wpwrap&quot;).height();k=60+c-g;i=a(window).height()+a(window).scrollTop()-15;if(i&lt;(c-k)){k=c-i}if(k&gt;1){d.css({marginTop:&quot;-&quot;+k+&quot;px&quot;})}else{if(d.css(&quot;marginTop&quot;)){d.css({marginTop:&quot;&quot;})}}d.addClass(&quot;sub-open&quot;)},out:function(){a(this).find(&quot;.wp-submenu&quot;).removeClass(&quot;sub-open&quot;).css({marginTop:&quot;&quot;})},timeout:220,sensitivity:8,interval:100})}},favorites:function(){a(&quot;#favorite-inside&quot;).width(a(&quot;#favorite-actions&quot;).width()-4);a(&quot;#favorite-toggle, #favorite-inside&quot;).bind(&quot;mouseenter&quot;,function(){a(&quot;#favorite-inside&quot;).removeClass(&quot;slideUp&quot;).addClass(&quot;slideDown&quot;);setTimeout(function(){if(a(&quot;#favorite-inside&quot;).hasClass(&quot;slideDown&quot;)){a(&quot;#favorite-inside&quot;).slideDown(100);a(&quot;#favorite-first&quot;).addClass(&quot;slide-down&quot;)}},200)}).bind(&quot;mouseleave&quot;,function(){a(&quot;#favorite-inside&quot;).removeClass(&quot;slideDown&quot;).addClass(&quot;slideUp&quot;);setTimeout(function(){if(a(&quot;#favorite-inside&quot;).hasClass(&quot;slideUp&quot;)){a(&quot;#favorite-inside&quot;).slideUp(100,function(){a(&quot;#favorite-first&quot;).removeClass(&quot;slide-down&quot;)})}},300)})}};a(document).ready(function(){adminMenu.init()});columns={init:function(){a(&quot;.hide-column-tog&quot;,&quot;#adv-settings&quot;).click(function(){var b=a(this).val();if(a(this).attr(&quot;checked&quot;)){a(&quot;.column-&quot;+b).show()}else{a(&quot;.column-&quot;+b).hide()}columns.save_manage_columns_state()})},save_manage_columns_state:function(){var b=a(&quot;.manage-column&quot;).filter(&quot;:hidden&quot;).map(function(){return this.id}).get().join(&quot;,&quot;);a.post(ajaxurl,{action:&quot;hidden-columns&quot;,hidden:b,screenoptionnonce:a(&quot;#screenoptionnonce&quot;).val(),page:pagenow})}};a(document).ready(function(){columns.init()});validateForm=function(b){return !a(b).find(&quot;.form-required&quot;).filter(function(){return a(&quot;input:visible&quot;,this).val()==&quot;&quot;}).addClass(&quot;form-invalid&quot;).find(&quot;input:visible&quot;).change(function(){a(this).closest(&quot;.form-invalid&quot;).removeClass(&quot;form-invalid&quot;)}).size()}})(jQuery);showNotice={warn:function(){var a=commonL10n.warnDelete||&quot;&quot;;if(confirm(a)){return true}return false},note:function(a){alert(a)}};jQuery(document).ready(function(d){var f=false,a,e,c,b;d(&quot;div.wrap h2:first&quot;).nextAll(&quot;div.updated, div.error&quot;).addClass(&quot;below-h2&quot;);d(&quot;div.updated, div.error&quot;).not(&quot;.below-h2, .inline&quot;).insertAfter(d(&quot;div.wrap h2:first&quot;));d(&quot;#show-settings-link&quot;).click(function(){if(!d(&quot;#screen-options-wrap&quot;).hasClass(&quot;screen-options-open&quot;)){d(&quot;#contextual-help-link-wrap&quot;).css(&quot;visibility&quot;,&quot;hidden&quot;)}d(&quot;#screen-options-wrap&quot;).slideToggle(&quot;fast&quot;,function(){if(d(this).hasClass(&quot;screen-options-open&quot;)){d(&quot;#show-settings-link&quot;).css({backgroundImage:'url(&quot;images/screen-options-right.gif&quot;)'});d(&quot;#contextual-help-link-wrap&quot;).css(&quot;visibility&quot;,&quot;&quot;);d(this).removeClass(&quot;screen-options-open&quot;)}else{d(&quot;#show-settings-link&quot;).css({backgroundImage:'url(&quot;images/screen-options-right-up.gif&quot;)'});d(this).addClass(&quot;screen-options-open&quot;)}});return false});d(&quot;#contextual-help-link&quot;).click(function(){if(!d(&quot;#contextual-help-wrap&quot;).hasClass(&quot;contextual-help-open&quot;)){d(&quot;#screen-options-link-wrap&quot;).css(&quot;visibility&quot;,&quot;hidden&quot;)}d(&quot;#contextual-help-wrap&quot;).slideToggle(&quot;fast&quot;,function(){if(d(this).hasClass(&quot;contextual-help-open&quot;)){d(&quot;#contextual-help-link&quot;).css({backgroundImage:'url(&quot;images/screen-options-right.gif&quot;)'});d(&quot;#screen-options-link-wrap&quot;).css(&quot;visibility&quot;,&quot;&quot;);d(this).removeClass(&quot;contextual-help-open&quot;)}else{d(&quot;#contextual-help-link&quot;).css({backgroundImage:'url(&quot;images/screen-options-right-up.gif&quot;)'});d(this).addClass(&quot;contextual-help-open&quot;)}});return false});d(&quot;tbody&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).click(function(g){if(&quot;undefined&quot;==g.shiftKey){return true}if(g.shiftKey){if(!f){return true}a=d(f).closest(&quot;form&quot;).find(&quot;:checkbox&quot;);e=a.index(f);c=a.index(this);b=d(this).attr(&quot;checked&quot;);if(0&lt;e&amp;&amp;0&lt;c&amp;&amp;e!=c){a.slice(e,c).attr(&quot;checked&quot;,function(){if(d(this).closest(&quot;tr&quot;).is(&quot;:visible&quot;)){return b?&quot;checked&quot;:&quot;&quot;}return&quot;&quot;})}}f=this;return true});d(&quot;thead, tfoot&quot;).find(&quot;:checkbox&quot;).click(function(i){var j=d(this).attr(&quot;checked&quot;),h=&quot;undefined&quot;==typeof toggleWithKeyboard?false:toggleWithKeyboard,g=i.shiftKey||h;d(this).closest(&quot;table&quot;).children(&quot;tbody&quot;).filter(&quot;:visible&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).attr(&quot;checked&quot;,function(){if(d(this).closest(&quot;tr&quot;).is(&quot;:hidden&quot;)){return&quot;&quot;}if(g){return d(this).attr(&quot;checked&quot;)?&quot;&quot;:&quot;checked&quot;}else{if(j){return&quot;checked&quot;}}return&quot;&quot;});d(this).closest(&quot;table&quot;).children(&quot;thead,  tfoot&quot;).filter(&quot;:visible&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).attr(&quot;checked&quot;,function(){if(g){return&quot;&quot;}else{if(j){return&quot;checked&quot;}}return&quot;&quot;})});d(&quot;#default-password-nag-no&quot;).click(function(){setUserSetting(&quot;default_password_nag&quot;,&quot;hide&quot;);d(&quot;div.default-password-nag&quot;).hide();return false});d(&quot;#newcontent&quot;).keydown(function(l){if(l.keyCode!=9){return true}var i=l.target,n=i.selectionStart,h=i.selectionEnd,m=i.value,g,k;try{this.lastKey=9}catch(j){}if(document.selection){i.focus();k=document.selection.createRange();k.text=&quot;\t&quot;}else{if(n&gt;=0){g=this.scrollTop;i.value=m.substring(0,n).concat(&quot;\t&quot;,m.substring(h));i.selectionStart=i.selectionEnd=n+1;this.scrollTop=g}}if(l.stopPropagation){l.stopPropagation()}if(l.preventDefault){l.preventDefault()}});d(&quot;#newcontent&quot;).blur(function(g){if(this.lastKey&amp;&amp;9==this.lastKey){this.focus()}})});
</del><span class="cx">\ No newline at end of file
</span><ins>+var showNotice,adminMenu,columns,validateForm;(function(a){adminMenu={init:function(){var b=a(&quot;#adminmenu&quot;);a(&quot;.wp-menu-toggle&quot;,b).each(function(){var c=a(this),d=c.siblings(&quot;.wp-submenu&quot;);if(d.length){c.click(function(){adminMenu.toggle(d)})}else{c.hide()}});this.favorites();a(&quot;.separator&quot;,b).click(function(){if(a(&quot;body&quot;).hasClass(&quot;folded&quot;)){adminMenu.fold(1);deleteUserSetting(&quot;mfold&quot;)}else{adminMenu.fold();setUserSetting(&quot;mfold&quot;,&quot;f&quot;)}return false});if(a(&quot;body&quot;).hasClass(&quot;folded&quot;)){this.fold()}this.restoreMenuState()},restoreMenuState:function(){a(&quot;li.wp-has-submenu&quot;,&quot;#adminmenu&quot;).each(function(c,d){var b=getUserSetting(&quot;m&quot;+c);if(a(d).hasClass(&quot;wp-has-current-submenu&quot;)){return true}if(&quot;o&quot;==b){a(d).addClass(&quot;wp-menu-open&quot;)}else{if(&quot;c&quot;==b){a(d).removeClass(&quot;wp-menu-open&quot;)}}})},toggle:function(b){var c=b.slideToggle(150,function(){b.css(&quot;display&quot;,&quot;&quot;)}).parent().toggleClass(&quot;wp-menu-open&quot;).attr(&quot;id&quot;);if(c){a(&quot;li.wp-has-submenu&quot;,&quot;#adminmenu&quot;).each(function(f,g){if(c==g.id){var d=a(g).hasClass(&quot;wp-menu-open&quot;)?&quot;o&quot;:&quot;c&quot;;setUserSetting(&quot;m&quot;+f,d)}})}return false},fold:function(b){if(b){a(&quot;body&quot;).removeClass(&quot;folded&quot;);a(&quot;#adminmenu li.wp-has-submenu&quot;).unbind()}else{a(&quot;body&quot;).addClass(&quot;folded&quot;);a(&quot;#adminmenu li.wp-has-submenu&quot;).hoverIntent({over:function(j){var d,c,g,k,i;d=a(this).find(&quot;.wp-submenu&quot;);c=a(this).offset().top+d.height()+1;g=a(&quot;#wpwrap&quot;).height();k=60+c-g;i=a(window).height()+a(window).scrollTop()-15;if(i&lt;(c-k)){k=c-i}if(k&gt;1){d.css({marginTop:&quot;-&quot;+k+&quot;px&quot;})}else{if(d.css(&quot;marginTop&quot;)){d.css({marginTop:&quot;&quot;})}}d.addClass(&quot;sub-open&quot;)},out:function(){a(this).find(&quot;.wp-submenu&quot;).removeClass(&quot;sub-open&quot;).css({marginTop:&quot;&quot;})},timeout:220,sensitivity:8,interval:100})}},favorites:function(){a(&quot;#favorite-inside&quot;).width(a(&quot;#favorite-actions&quot;).width()-4);a(&quot;#favorite-toggle, #favorite-inside&quot;).bind(&quot;mouseenter&quot;,function(){a(&quot;#favorite-inside&quot;).removeClass(&quot;slideUp&quot;).addClass(&quot;slideDown&quot;);setTimeout(function(){if(a(&quot;#favorite-inside&quot;).hasClass(&quot;slideDown&quot;)){a(&quot;#favorite-inside&quot;).slideDown(100);a(&quot;#favorite-first&quot;).addClass(&quot;slide-down&quot;)}},200)}).bind(&quot;mouseleave&quot;,function(){a(&quot;#favorite-inside&quot;).removeClass(&quot;slideDown&quot;).addClass(&quot;slideUp&quot;);setTimeout(function(){if(a(&quot;#favorite-inside&quot;).hasClass(&quot;slideUp&quot;)){a(&quot;#favorite-inside&quot;).slideUp(100,function(){a(&quot;#favorite-first&quot;).removeClass(&quot;slide-down&quot;)})}},300)})}};a(document).ready(function(){adminMenu.init()});columns={init:function(){var b=this;a(&quot;.hide-column-tog&quot;,&quot;#adv-settings&quot;).click(function(){var d=a(this),c=d.val();if(d.attr(&quot;checked&quot;)){b.checked(c)}else{b.unchecked(c)}columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:&quot;hidden-columns&quot;,hidden:b,screenoptionnonce:a(&quot;#screenoptionnonce&quot;).val(),page:pagenow})},checked:function(b){a(&quot;.column-&quot;+b).show()},unchecked:function(b){a(&quot;.column-&quot;+b).hide()},hidden:function(){return a(&quot;.manage-column&quot;).filter(&quot;:hidden&quot;).map(function(){return this.id}).get().join(&quot;,&quot;)},useCheckboxesForHidden:function(){this.hidden=function(){return a(&quot;.hide-column-tog&quot;).not(&quot;:checked&quot;).map(function(){var b=this.id;return b.substring(b,b.length-5)}).get().join(&quot;,&quot;)}},};a(document).ready(function(){columns.init()});validateForm=function(b){return !a(b).find(&quot;.form-required&quot;).filter(function(){return a(&quot;input:visible&quot;,this).val()==&quot;&quot;}).addClass(&quot;form-invalid&quot;).find(&quot;input:visible&quot;).change(function(){a(this).closest(&quot;.form-invalid&quot;).removeClass(&quot;form-invalid&quot;)}).size()}})(jQuery);showNotice={warn:function(){var a=commonL10n.warnDelete||&quot;&quot;;if(confirm(a)){return true}return false},note:function(a){alert(a)}};jQuery(document).ready(function(d){var f=false,a,e,c,b;d(&quot;div.wrap h2:first&quot;).nextAll(&quot;div.updated, div.error&quot;).addClass(&quot;below-h2&quot;);d(&quot;div.updated, div.error&quot;).not(&quot;.below-h2, .inline&quot;).insertAfter(d(&quot;div.wrap h2:first&quot;));d(&quot;#show-settings-link&quot;).click(function(){if(!d(&quot;#screen-options-wrap&quot;).hasClass(&quot;screen-options-open&quot;)){d(&quot;#contextual-help-link-wrap&quot;).css(&quot;visibility&quot;,&quot;hidden&quot;)}d(&quot;#screen-options-wrap&quot;).slideToggle(&quot;fast&quot;,function(){if(d(this).hasClass(&quot;screen-options-open&quot;)){d(&quot;#show-settings-link&quot;).css({backgroundImage:'url(&quot;images/screen-options-right.gif&quot;)'});d(&quot;#contextual-help-link-wrap&quot;).css(&quot;visibility&quot;,&quot;&quot;);d(this).removeClass(&quot;screen-options-open&quot;)}else{d(&quot;#show-settings-link&quot;).css({backgroundImage:'url(&quot;images/screen-options-right-up.gif&quot;)'});d(this).addClass(&quot;screen-options-open&quot;)}});return false});d(&quot;#contextual-help-link&quot;).click(function(){if(!d(&quot;#contextual-help-wrap&quot;).hasClass(&quot;contextual-help-open&quot;)){d(&quot;#screen-options-link-wrap&quot;).css(&quot;visibility&quot;,&quot;hidden&quot;)}d(&quot;#contextual-help-wrap&quot;).slideToggle(&quot;fast&quot;,function(){if(d(this).hasClass(&quot;contextual-help-open&quot;)){d(&quot;#contextual-help-link&quot;).css({backgroundImage:'url(&quot;images/screen-options-right.gif&quot;)'});d(&quot;#screen-options-link-wrap&quot;).css(&quot;visibility&quot;,&quot;&quot;);d(this).removeClass(&quot;contextual-help-open&quot;)}else{d(&quot;#contextual-help-link&quot;).css({backgroundImage:'url(&quot;images/screen-options-right-up.gif&quot;)'});d(this).addClass(&quot;contextual-help-open&quot;)}});return false});d(&quot;tbody&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).click(function(g){if(&quot;undefined&quot;==g.shiftKey){return true}if(g.shiftKey){if(!f){return true}a=d(f).closest(&quot;form&quot;).find(&quot;:checkbox&quot;);e=a.index(f);c=a.index(this);b=d(this).attr(&quot;checked&quot;);if(0&lt;e&amp;&amp;0&lt;c&amp;&amp;e!=c){a.slice(e,c).attr(&quot;checked&quot;,function(){if(d(this).closest(&quot;tr&quot;).is(&quot;:visible&quot;)){return b?&quot;checked&quot;:&quot;&quot;}return&quot;&quot;})}}f=this;return true});d(&quot;thead, tfoot&quot;).find(&quot;:checkbox&quot;).click(function(i){var j=d(this).attr(&quot;checked&quot;),h=&quot;undefined&quot;==typeof toggleWithKeyboard?false:toggleWithKeyboard,g=i.shiftKey||h;d(this).closest(&quot;table&quot;).children(&quot;tbody&quot;).filter(&quot;:visible&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).attr(&quot;checked&quot;,function(){if(d(this).closest(&quot;tr&quot;).is(&quot;:hidden&quot;)){return&quot;&quot;}if(g){return d(this).attr(&quot;checked&quot;)?&quot;&quot;:&quot;checked&quot;}else{if(j){return&quot;checked&quot;}}return&quot;&quot;});d(this).closest(&quot;table&quot;).children(&quot;thead,  tfoot&quot;).filter(&quot;:visible&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).attr(&quot;checked&quot;,function(){if(g){return&quot;&quot;}else{if(j){return&quot;checked&quot;}}return&quot;&quot;})});d(&quot;#default-password-nag-no&quot;).click(function(){setUserSetting(&quot;default_password_nag&quot;,&quot;hide&quot;);d(&quot;div.default-password-nag&quot;).hide();return false});d(&quot;#newcontent&quot;).keydown(function(l){if(l.keyCode!=9){return true}var i=l.target,n=i.selectionStart,h=i.selectionEnd,m=i.value,g,k;try{this.lastKey=9}catch(j){}if(document.selection){i.focus();k=document.selection.createRange();k.text=&quot;\t&quot;}else{if(n&gt;=0){g=this.scrollTop;i.value=m.substring(0,n).concat(&quot;\t&quot;,m.substring(h));i.selectionStart=i.selectionEnd=n+1;this.scrollTop=g}}if(l.stopPropagation){l.stopPropagation()}if(l.preventDefault){l.preventDefault()}});d(&quot;#newcontent&quot;).blur(function(g){if(this.lastKey&amp;&amp;9==this.lastKey){this.focus()}})});
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadminjsnavmenudevjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/nav-menu.dev.js (14285 => 14286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/nav-menu.dev.js        2010-04-28 20:44:08 UTC (rev 14285)
+++ trunk/wp-admin/js/nav-menu.dev.js        2010-04-29 03:43:11 UTC (rev 14286)
</span><span class="lines">@@ -111,28 +111,6 @@
</span><span class="cx">                 }
</span><span class="cx">         },
</span><span class="cx"> 
</span><del>-        /**
-         * Get the parent element with the matching class, but go no higher than the form.
-         *
-         * @param DOM-element el The descendant element up from which we'll be searching
-         * @param string parentClass The class name of the desired parent element.
-         * @return DOM-element The parent element.
-         */
-        getParentWrapper = function( el, parentClass ) {
-                var form = document.getElementById('nav-menu-meta'),
-                i;
-
-                while ( 
-                        el.parentNode &amp;&amp;
-                        ( ! el.className || -1 == el.className.indexOf(parentClass) ) &amp;&amp;
-                        el.parentNode != form
-                ) {
-                        el = el.parentNode;
-                }
-
-                return el;
-        },
-
</del><span class="cx">         makeDroppable = function(el) {
</span><span class="cx">                 var that = this;
</span><span class="cx"> 
</span><span class="lines">@@ -189,9 +167,32 @@
</span><span class="cx">                         // init drag and drop
</span><span class="cx">                         setupListItemsDragAndDrop.call(this, menuList); 
</span><span class="cx"> 
</span><ins>+                        this.initToggles();
+                },
+                
+                initToggles : function() {
+                        // init postboxes
</ins><span class="cx">                         postboxes.add_postbox_toggles('nav-menus');
</span><ins>+                        
+                        // adjust columns functions for menus UI
+                        columns.useCheckboxesForHidden();
+                        columns.checked = function(field) {
+                                $('.field-' + field).removeClass('hidden-field');
+                        }
+                        columns.unchecked = function(field) {
+                                $('.field-' + field).addClass('hidden-field');
+                        }
+                        // hide fields
+                        this.hideAdvancedMenuItemFields();
</ins><span class="cx">                 },
</span><span class="cx">                 
</span><ins>+                hideAdvancedMenuItemFields : function(container) {
+                        container = container || '.menu';
+                        $('.hide-column-tog').not(':checked').each(function(){
+                                $(container).find('.field-' + $(this).val() ).addClass('hidden-field');
+                        });
+                },
+                
</ins><span class="cx">                 attachMenuEditListeners : function() {
</span><span class="cx">                         var that = this;
</span><span class="cx">                         $('#update-nav-menu').bind('click', function(e) {
</span><span class="lines">@@ -202,6 +203,8 @@
</span><span class="cx">                                                 return that.eventOnClickMenuDelete(e.target);
</span><span class="cx">                                         } else if ( -1 != e.target.className.indexOf('item-delete') ) {
</span><span class="cx">                                                 return that.eventOnClickMenuItemDelete(e.target);
</span><ins>+                                        } else if ( -1 != e.target.className.indexOf('item-close') ) {
+                                                return that.eventOnClickCloseLink(e.target);
</ins><span class="cx">                                         }
</span><span class="cx">                                 }
</span><span class="cx">                         });
</span><span class="lines">@@ -211,24 +214,24 @@
</span><span class="cx">                         if ( ! formEL )
</span><span class="cx">                                 return;
</span><span class="cx"> 
</span><del>-                        var that = this;
</del><ins>+                        var that = this, lwd = 'label-with-default-title';
+                        
+                        $('.'+lwd).each(function(){
+                                var $t = $(this), title = $t.attr('title'), val = $t.val();
+                                $t.data(lwd, title);
+                                if( '' == val ) $t.val(title);
+                                else if ( title == val ) return;
+                                else $t.removeClass(lwd);
+                        }).focus(function(){
+                                var $t = $(this);
+                                if( $t.val() == $t.data(lwd) )
+                                        $t.val('').removeClass(lwd);
+                        }).blur(function(){
+                                var $t = $(this);
+                                if( '' == $t.val() )
+                                        $t.val( $t.data(lwd) ).addClass(lwd);
+                        });
</ins><span class="cx"> 
</span><del>-                        // set default value for custom link name
-                        customLinkNameInput = document.getElementById('custom-menu-item-name');
-                        customLinkURLInput = document.getElementById('custom-menu-item-url');
-
-                        if ( customLinkNameInput ) {
-                                customLinkNameDefault = 'undefined' != typeof customLinkNameInput.defaultValue ? customLinkNameInput.defaultValue : customLinkNameInput.getAttribute('value');
-                                customLinkURLDefault = 'undefined' != typeof customLinkURLInput.defaultValue ? customLinkURLInput.defaultValue : customLinkURLInput.getAttribute('value');
-                                $(customLinkNameInput).bind('focus', function(e) {
-                                        this.value = customLinkNameDefault == this.value ? '' : this.value;
-                                });
-                                
-                                $(customLinkNameInput).bind('blur', function(e) {
-                                        this.value = '' == this.value ? customLinkNameDefault : this.value;
-                                });
-                        }
-
</del><span class="cx">                         // auto-suggest for the quick-search boxes
</span><span class="cx">                         $('input.quick-search').each(function(i, el) {
</span><span class="cx">                                 that.setupQuickSearchEventListeners(el); 
</span><span class="lines">@@ -241,7 +244,7 @@
</span><span class="cx"> 
</span><span class="cx">                 attachTabsPanelListeners : function() {
</span><span class="cx">                         $('#menu-settings-column').bind('click', function(e) {
</span><del>-                                if ( e.target &amp;&amp; e.target.className &amp;&amp; -1 != e.target.className.indexOf('menu-tab-link') ) {
</del><ins>+                                if ( e.target &amp;&amp; e.target.className &amp;&amp; -1 != e.target.className.indexOf('nav-tab-link') ) {
</ins><span class="cx">                                         var activePanel,
</span><span class="cx">                                         panelIdMatch = /#(.*)$/.exec(e.target.href),
</span><span class="cx">                                         tabPanels,
</span><span class="lines">@@ -330,18 +333,29 @@
</span><span class="cx">                         var activeEdit,
</span><span class="cx">                         matchedSection = /#(.*)$/.exec(clickedEl.href);
</span><span class="cx">                         if ( matchedSection &amp;&amp; matchedSection[1] ) {
</span><del>-                                activeEdit = document.getElementById(matchedSection[1]);
-                                if ( activeEdit ) {
-                                        if ( -1 != activeEdit.className.indexOf('menu-item-edit-inactive') ) {
-                                                activeEdit.className = activeEdit.className.replace('menu-item-edit-inactive', 'menu-item-edit-active');
-                                        } else { 
-                                                activeEdit.className = activeEdit.className.replace('menu-item-edit-active', 'menu-item-edit-inactive');
</del><ins>+                                activeEdit = $('#'+matchedSection[1]);
+                                if( 0 != activeEdit.length ) {
+                                        if( activeEdit.hasClass('menu-item-edit-inactive') ) {
+                                                activeEdit.slideDown('fast')
+                                                        .siblings('dl').andSelf()
+                                                        .removeClass('menu-item-edit-inactive')
+                                                        .addClass('menu-item-edit-active');
+                                        } else {
+                                                activeEdit.slideUp('fast')
+                                                        .siblings('dl').andSelf()
+                                                        .removeClass('menu-item-edit-active')
+                                                        .addClass('menu-item-edit-inactive');
</ins><span class="cx">                                         }
</span><span class="cx">                                         return false;
</span><span class="cx">                                 }
</span><span class="cx">                         }
</span><span class="cx">                 },
</span><span class="cx">                 
</span><ins>+                eventOnClickCloseLink : function(clickedEl) {
+                        $(clickedEl).closest('.menu-item-settings').siblings('dl').find('.item-edit').click();
+                        return false;
+                },
+                
</ins><span class="cx">                 eventOnClickMenuDelete : function(clickedEl) {
</span><span class="cx">                         // Delete warning AYS
</span><span class="cx">                         if ( confirm( navMenuL10n.warnDeleteMenu ) ) {
</span><span class="lines">@@ -460,8 +474,7 @@
</span><span class="cx">                  * @param object e The event object.
</span><span class="cx">                  */
</span><span class="cx">                 eventSubmitMetaForm : function(thisForm, e) {
</span><del>-                        var ancestor,
-                        inputs = thisForm.getElementsByTagName('input'),
</del><ins>+                        var inputs = thisForm.getElementsByTagName('input'),
</ins><span class="cx">                         i = inputs.length,
</span><span class="cx">                         j,
</span><span class="cx">                         listItemData,
</span><span class="lines">@@ -471,6 +484,7 @@
</span><span class="cx">                         processMethod = function(){},
</span><span class="cx">                         re = new RegExp('menu-item\\[(\[^\\]\]*)');
</span><span class="cx"> 
</span><ins>+                        thisForm.className = thisForm.className + ' processing',
</ins><span class="cx">                         that = this;
</span><span class="cx"> 
</span><span class="cx">                         params['action'] = '';
</span><span class="lines">@@ -498,7 +512,6 @@
</span><span class="cx">                                                 params['menu-item[' + listItemDBID + '][' + j + ']'] = listItemData[j];
</span><span class="cx">                                         }
</span><span class="cx"> 
</span><del>-                                        ancestor = getParentWrapper(inputs[i], 'inside');
</del><span class="cx">                                         inputs[i].checked = false;
</span><span class="cx"> 
</span><span class="cx">                                 // we're submitting a search term
</span><span class="lines">@@ -508,7 +521,6 @@
</span><span class="cx">                                         inputs[i].className &amp;&amp;
</span><span class="cx">                                         -1 != inputs[i].className.search(/quick-search\b[^-]/)
</span><span class="cx">                                 ) {
</span><del>-                                        ancestor = getParentWrapper(inputs[i], 'inside');
</del><span class="cx">                                         params['action'] = 'menu-quick-search';
</span><span class="cx">                                         params['q'] = inputs[i].value;
</span><span class="cx">                                         params['response-format'] = 'markup';
</span><span class="lines">@@ -516,16 +528,12 @@
</span><span class="cx">                                         processMethod = that.processQuickSearchQueryResponse;
</span><span class="cx">                                 }
</span><span class="cx">                         }
</span><del>-
-                        if ( ancestor )
-                                ancestor.className = ancestor.className + ' processing',
-
</del><span class="cx">                         params['menu'] = thisForm.elements['menu'].value;
</span><span class="cx">                         params['menu-settings-column-nonce'] = thisForm.elements['menu-settings-column-nonce'].value;
</span><span class="cx"> 
</span><span class="cx">                         $.post( ajaxurl, params, function(menuMarkup) {
</span><span class="cx">                                 processMethod.call(that, menuMarkup, params);        
</span><del>-                                ancestor.className = ancestor.className.replace(/processing/g, '');
</del><ins>+                                thisForm.className = thisForm.className.replace(/processing/g, '');
</ins><span class="cx">                         });
</span><span class="cx"> 
</span><span class="cx">                         return false;
</span><span class="lines">@@ -592,12 +600,11 @@
</span><span class="cx">                         }
</span><span class="cx"> 
</span><span class="cx">                         this.recalculateSortOrder(menuList);
</span><ins>+                        this.hideAdvancedMenuItemFields(menuList);
</ins><span class="cx"> 
</span><span class="cx">                         /* set custom link form back to defaults */
</span><del>-                        if ( customLinkNameInput &amp;&amp; customLinkURLInput ) { 
-                                customLinkNameInput.value = customLinkNameDefault;
-                                customLinkURLInput.value = customLinkURLDefault; 
-                        }
</del><ins>+                        $('#custom-menu-item-name').val('').blur();
+                        $('#custom-menu-item-url').val('http://');
</ins><span class="cx">                 },
</span><span class="cx"> 
</span><span class="cx">                 /**
</span><span class="lines">@@ -639,7 +646,6 @@
</span><span class="cx">                         if ( items[0] &amp;&amp; req.object_type ) {
</span><span class="cx">                                 resultList = document.getElementById(req.object_type + '-search-checklist');
</span><span class="cx">                                 if ( resultList ) {
</span><del>-                                        resultList.innerHTML = '';
</del><span class="cx">                                         resultList.appendChild(items[0]);
</span><span class="cx">                                 }
</span><span class="cx">                         } else if ( req.type ) {
</span><span class="lines">@@ -647,7 +653,6 @@
</span><span class="cx">                                 if ( matched &amp;&amp; matched[2] ) {
</span><span class="cx">                                         resultList = document.getElementById(matched[2] + '-search-checklist');
</span><span class="cx">                                         if ( resultList ) {
</span><del>-                                                resultList.innerHTML = '';
</del><span class="cx">                                                 i = items.length;
</span><span class="cx">                                                 if ( ! i ) {
</span><span class="cx">                                                         message = document.createElement('li');
</span></span></pre></div>
<a id="trunkwpadminjsnavmenujs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/nav-menu.js (14285 => 14286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/nav-menu.js        2010-04-28 20:44:08 UTC (rev 14285)
+++ trunk/wp-admin/js/nav-menu.js        2010-04-29 03:43:11 UTC (rev 14286)
</span><span class="lines">@@ -1 +1 @@
</span><del>-var WPNavMenuHandler=function(){var i=jQuery,a=false,k=null,h,d,n,j,m={},o=function(q,u,r,t){if(q&amp;&amp;q[0]){var s=i.parseJSON(q[0]);if(s.post_title){if(s.ID&amp;&amp;s.post_type){m[s.post_title]={ID:s.ID,object_type:s.post_type}}return s.post_title}}},p=function(q,u,r,t){if(q&amp;&amp;q[0]){var s=i.parseJSON(q[0]);if(s.post_title){return s.post_title}}},b=function(w,v){if(!w){return false}v=v||document;var r=[&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;],q={},s=v.getElementsByTagName(&quot;input&quot;),u=s.length,t,x=document.getElementById(&quot;nav-menu-meta-object-id&quot;).value;while(u--){t=r.length;while(t--){if(s[u]&amp;&amp;s[u].name&amp;&amp;&quot;menu-item[&quot;+w+&quot;][&quot;+r[t]+&quot;]&quot;==s[u].name){q[r[t]]=s[u].value}}}return q},c=function(){var u=this.getElementsByTagName(&quot;input&quot;),r=u.length,q,t,s;while(r--){if(-1!=u[r].name.indexOf(&quot;menu-item-parent-id[&quot;+parseInt(this.id.replace(&quot;menu-item-&quot;,&quot;&quot;),10)+&quot;]&quot;)){if(!this.parentNode.className||-1==this.parentNode.className.indexOf(&quot;sub-menu&quot;)){u[r].value=0}else{if(&quot;LI&quot;==this.parentNode.parentNode.nodeName&amp;&amp;-1!=this.parentNode.parentNode.id.indexOf(&quot;menu-item-&quot;)){t=this.parentNode.parentNode;s=t.getElementsByTagName(&quot;input&quot;);q=s.length;while(q--){if(s[q].name&amp;&amp;-1!=s[q].name.indexOf(&quot;menu-item-object-id[&quot;+parseInt(t.id.replace(&quot;menu-item-&quot;,&quot;&quot;),10)+&quot;]&quot;)){u[r].value=parseInt(s[q].value,10);break}}}}break}}},e=function(r,t){var s=document.getElementById(&quot;nav-menu-meta&quot;),q;while(r.parentNode&amp;&amp;(!r.className||-1==r.className.indexOf(t))&amp;&amp;r.parentNode!=s){r=r.parentNode}return r},f=function(q){var r=this;i(q).droppable({accept:&quot;.menu li&quot;,tolerance:&quot;pointer&quot;,drop:function(t,s){r.eventOnDrop(s.draggable[0],this,s,t)},over:function(t,s){r.eventOnDragOver(s.draggable[0],this,s,t)},out:function(t,s){r.eventOnDragOut(s.draggable[0],this,s,t)}})},l,g=function(t){if(!t){return}var r=document.getElementById(t.id+&quot;-dummy-list-item&quot;),q=t.getElementsByTagName(&quot;li&quot;),s=q.length;if(!r){r=document.createElement(&quot;li&quot;);r.id=t.id+&quot;-dummy-list-item&quot;;t.appendChild(r);this.setupListItemDragAndDrop(r)}while(s--){this.setupListItemDragAndDrop(q[s])}};return{init:function(){l=document.getElementById(&quot;menu-to-edit&quot;);this.attachMenuEditListeners();this.attachMenuMetaListeners(document.getElementById(&quot;nav-menu-meta&quot;));this.attachTabsPanelListeners();g.call(this,l);postboxes.add_postbox_toggles(&quot;nav-menus&quot;)},attachMenuEditListeners:function(){var q=this;i(&quot;#update-nav-menu&quot;).bind(&quot;click&quot;,function(r){if(r.target&amp;&amp;r.target.className){if(-1!=r.target.className.indexOf(&quot;item-edit&quot;)){return q.eventOnClickEditLink(r.target)}else{if(-1!=r.target.className.indexOf(&quot;menu-delete&quot;)){return q.eventOnClickMenuDelete(r.target)}else{if(-1!=r.target.className.indexOf(&quot;item-delete&quot;)){return q.eventOnClickMenuItemDelete(r.target)}}}}})},attachMenuMetaListeners:function(q){if(!q){return}var r=this;h=document.getElementById(&quot;custom-menu-item-name&quot;);d=document.getElementById(&quot;custom-menu-item-url&quot;);if(h){n=&quot;undefined&quot;!=typeof h.defaultValue?h.defaultValue:h.getAttribute(&quot;value&quot;);j=&quot;undefined&quot;!=typeof d.defaultValue?d.defaultValue:d.getAttribute(&quot;value&quot;);i(h).bind(&quot;focus&quot;,function(s){this.value=n==this.value?&quot;&quot;:this.value});i(h).bind(&quot;blur&quot;,function(s){this.value=&quot;&quot;==this.value?n:this.value})}i(&quot;input.quick-search&quot;).each(function(s,t){r.setupQuickSearchEventListeners(t)});i(q).bind(&quot;submit&quot;,function(s){return r.eventSubmitMetaForm.call(r,this,s)})},attachTabsPanelListeners:function(){i(&quot;#menu-settings-column&quot;).bind(&quot;click&quot;,function(v){if(v.target&amp;&amp;v.target.className&amp;&amp;-1!=v.target.className.indexOf(&quot;menu-tab-link&quot;)){var w,r=/#(.*)$/.exec(v.target.href),u,x=e(v.target,&quot;inside&quot;),q=x?x.getElementsByTagName(&quot;input&quot;):[],s=q.length;while(s--){q[s].checked=false}i(&quot;.tabs-panel&quot;,x).each(function(){if(this.className){this.className=this.className.replace(&quot;tabs-panel-active&quot;,&quot;tabs-panel-inactive&quot;)}});i(&quot;.tabs&quot;,x).each(function(){this.className=this.className.replace(&quot;tabs&quot;,&quot;&quot;)});v.target.parentNode.className+=&quot; tabs&quot;;if(r&amp;&amp;r[1]){w=document.getElementById(r[1]);if(w){w.className=w.className.replace(&quot;tabs-panel-inactive&quot;,&quot;tabs-panel-active&quot;)}}return false}else{if(v.target&amp;&amp;v.target.className&amp;&amp;-1!=v.target.className.indexOf(&quot;select-all&quot;)){var t=/#(.*)$/.exec(v.target.href);if(t&amp;&amp;t[1]){i(&quot;#&quot;+t[1]+&quot; .tabs-panel-active input[type=checkbox]&quot;).attr(&quot;checked&quot;,&quot;checked&quot;);return false}}}})},setupListItemDragAndDrop:function(s){var q=s.getElementsByTagName(&quot;dl&quot;),t=this.makeListItemDropzone(s),r=q.length;f.call(this,t);this.makeListItemDraggable(s);while(r--){f.call(this,q[r])}},setupQuickSearchEventListeners:function(q){var r=this;i(q).autocomplete(ajaxurl+&quot;?action=menu-quick-search&amp;type=&quot;+q.name,{delay:500,formatItem:o,formatResult:p,minchars:2,multiple:false}).bind(&quot;blur&quot;,function(u){var s=m[this.value],t=this;if(s){i.post(ajaxurl+&quot;?action=menu-quick-search&amp;type=get-post-item&amp;response-format=markup&quot;,s,function(v){r.processQuickSearchQueryResponse.call(r,v,s);m[t.value]=false})}})},eventOnClickEditLink:function(q){var s,r=/#(.*)$/.exec(q.href);if(r&amp;&amp;r[1]){s=document.getElementById(r[1]);if(s){if(-1!=s.className.indexOf(&quot;menu-item-edit-inactive&quot;)){s.className=s.className.replace(&quot;menu-item-edit-inactive&quot;,&quot;menu-item-edit-active&quot;)}else{s.className=s.className.replace(&quot;menu-item-edit-active&quot;,&quot;menu-item-edit-inactive&quot;)}return false}}},eventOnClickMenuDelete:function(q){if(confirm(navMenuL10n.warnDeleteMenu)){return true}else{return false}},eventOnClickMenuItemDelete:function(q){var t,s,r=this;if(confirm(navMenuL10n.warnDeleteMenuItem)){s=/_wpnonce=([a-zA-Z0-9]*)$/.exec(q.href);if(s&amp;&amp;s[1]){t=parseInt(q.id.replace(&quot;delete-&quot;,&quot;&quot;),10);i.post(ajaxurl,{action:&quot;delete-menu-item&quot;,&quot;menu-item&quot;:t,_wpnonce:s[1]},function(u){if(&quot;1&quot;==u){r.removeMenuItem(document.getElementById(&quot;menu-item-&quot;+t))}});return false}return true}else{return false}},eventOnDragOver:function(q,r){a=true;k=r;r.className+=&quot; sortable-placeholder&quot;},eventOnDragOut:function(q,r){a=false;(function(s){setTimeout(function(){if(s!=k||(!a&amp;&amp;s.className&amp;&amp;-1!=s.className.indexOf(&quot;sortable-placeholder&quot;))){s.className=s.className.replace(/sortable-placeholder/g,&quot;&quot;)}},800)})(r)},eventOnDrop:function(t,w){var u=!!(-1==w.className.indexOf(&quot;dropzone&quot;)),r=w.parentNode.getElementsByTagName(&quot;ul&quot;),v=false,s=r.length,q;a=false;w.className=w.className.replace(/sortable-placeholder/g,&quot;&quot;);if(u){while(s--){if(r[s]&amp;&amp;1!=r[s].className.indexOf(&quot;sub-menu&quot;)){v=true;q=r[s]}}if(!v){q=document.createElement(&quot;ul&quot;);q.className=&quot;sub-menu&quot;;w.parentNode.appendChild(q)}q.appendChild(t)}else{w.parentNode.parentNode.insertBefore(t,w.parentNode)}this.recalculateSortOrder(l);c.call(t)},eventSubmitMetaForm:function(r,y){var v,w=r.getElementsByTagName(&quot;input&quot;),u=w.length,t,A,q,x,s={},z=function(){},B=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;);that=this;s.action=&quot;&quot;;while(u--){if(w[u].name&amp;&amp;-1!=w[u].name.indexOf(&quot;menu-item-object-id&quot;)&amp;&amp;w[u].checked||(&quot;undefined&quot;!=typeof w[u].id&amp;&amp;&quot;custom-menu-item-url&quot;==w[u].id&amp;&amp;&quot;&quot;!=w[u].value&amp;&amp;&quot;http://&quot;!=w[u].value)){s.action=&quot;add-menu-item&quot;;z=that.processAddMenuItemResponse;x=B.exec(w[u].name);q=&quot;undefined&quot;==typeof x[1]?0:parseInt(x[1],10);A=b(q);for(t in A){s[&quot;menu-item[&quot;+q+&quot;][&quot;+t+&quot;]&quot;]=A[t]}v=e(w[u],&quot;inside&quot;);w[u].checked=false}else{if(&quot;&quot;==s.action&amp;&amp;&quot;&quot;!=w[u].value&amp;&amp;w[u].className&amp;&amp;-1!=w[u].className.search(/quick-search\b[^-]/)){v=e(w[u],&quot;inside&quot;);s.action=&quot;menu-quick-search&quot;;s.q=w[u].value;s[&quot;response-format&quot;]=&quot;markup&quot;;s.type=w[u].name;z=that.processQuickSearchQueryResponse}}}if(v){v.className=v.className+&quot; processing&quot;,s.menu=r.elements.menu.value}s[&quot;menu-settings-column-nonce&quot;]=r.elements[&quot;menu-settings-column-nonce&quot;].value;i.post(ajaxurl,s,function(C){z.call(that,C,s);v.className=v.className.replace(/processing/g,&quot;&quot;)});return false},makeListItemDraggable:function(q){i(q).draggable({handle:&quot; &gt; dl&quot;,opacity:0.8,addClasses:false,helper:&quot;clone&quot;,zIndex:100})},makeListItemDropzone:function(s){if(!s){return false}var r=s.getElementsByTagName(&quot;div&quot;),q=r.length,t=document.createElement(&quot;div&quot;);while(q--){if(r[q].className&amp;&amp;-1!=r[q].className.indexOf(&quot;dropzone&quot;)&amp;&amp;(s==r[q].parentNode)){return r[q]}}t.className=&quot;dropzone&quot;;s.insertBefore(t,s.firstChild);return t},processAddMenuItemResponse:function(q,v){if(!v){v={}}var w,r=document.getElementById(l.id+&quot;-dummy-list-item&quot;),t,s,u=document.createElement(&quot;ul&quot;);u.innerHTML=q;s=u.getElementsByTagName(&quot;li&quot;);t=s.length;while(t--){this.setupListItemDragAndDrop(s[t]);if(r){l.insertBefore(s[t],r)}else{l.appendChild(s[t])}}this.recalculateSortOrder(l);if(h&amp;&amp;d){h.value=n;d.value=j}},processQuickSearchQueryResponse:function(u,z){if(!z){z={}}var r=document.createElement(&quot;ul&quot;),q=document.getElementById(&quot;nav-menu-meta&quot;),v,y,s,A,w,x=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;),t;s=x.exec(u);if(s&amp;&amp;s[1]){w=s[1];while(q.elements[&quot;menu-item[&quot;+w+&quot;][menu-item-type]&quot;]){w--}if(w!=s[1]){u=u.replace(new RegExp(&quot;menu-item\\[&quot;+s[1]+&quot;\\]&quot;,&quot;g&quot;),&quot;menu-item[&quot;+w+&quot;]&quot;)}}r.innerHTML=u;y=r.getElementsByTagName(&quot;li&quot;);if(y[0]&amp;&amp;z.object_type){t=document.getElementById(z.object_type+&quot;-search-checklist&quot;);if(t){t.innerHTML=&quot;&quot;;t.appendChild(y[0])}}else{if(z.type){s=/quick-search-(posttype|taxonomy)-([a-zA-Z_-]*)/.exec(z.type);if(s&amp;&amp;s[2]){t=document.getElementById(s[2]+&quot;-search-checklist&quot;);if(t){t.innerHTML=&quot;&quot;;v=y.length;if(!v){A=document.createElement(&quot;li&quot;);A.appendChild(document.createTextNode(navMenuL10n.noResultsFound));t.appendChild(A)}while(v--){t.appendChild(y[v])}}}}}},recalculateSortOrder:function(s){var t=s.getElementsByTagName(&quot;input&quot;),r,q=0;for(r=0;r&lt;t.length;r++){if(t[r].name&amp;&amp;-1!=t[r].name.indexOf(&quot;menu-item-position&quot;)){t[r].value=++q}}},removeMenuItem:function(s){if(!s){return false}var t=s.getElementsByTagName(&quot;ul&quot;),r,q;if(t[0]){r=t[0].getElementsByTagName(&quot;li&quot;);for(q=0;q&lt;r.length;q++){if(r[q].id&amp;&amp;-1!=r[q].id.indexOf(&quot;menu-item-&quot;)&amp;&amp;r[q].parentNode==t[0]){s.parentNode.insertBefore(r[q],s)}}}s.className+=&quot; deleting&quot;;i(s).fadeOut(350,function(){this.parentNode.removeChild(this)});this.recalculateSortOrder(l)}}};var wpNavMenu=new WPNavMenuHandler();jQuery(function(){wpNavMenu.init()});
</del><span class="cx">\ No newline at end of file
</span><ins>+var WPNavMenuHandler=function(){var h=jQuery,a=false,j=null,g,d,m,i,l={},n=function(p,t,q,s){if(p&amp;&amp;p[0]){var r=h.parseJSON(p[0]);if(r.post_title){if(r.ID&amp;&amp;r.post_type){l[r.post_title]={ID:r.ID,object_type:r.post_type}}return r.post_title}}},o=function(p,t,q,s){if(p&amp;&amp;p[0]){var r=h.parseJSON(p[0]);if(r.post_title){return r.post_title}}},b=function(v,u){if(!v){return false}u=u||document;var q=[&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;],p={},r=u.getElementsByTagName(&quot;input&quot;),t=r.length,s,w=document.getElementById(&quot;nav-menu-meta-object-id&quot;).value;while(t--){s=q.length;while(s--){if(r[t]&amp;&amp;r[t].name&amp;&amp;&quot;menu-item[&quot;+v+&quot;][&quot;+q[s]+&quot;]&quot;==r[t].name){p[q[s]]=r[t].value}}}return p},c=function(){var t=this.getElementsByTagName(&quot;input&quot;),q=t.length,p,s,r;while(q--){if(-1!=t[q].name.indexOf(&quot;menu-item-parent-id[&quot;+parseInt(this.id.replace(&quot;menu-item-&quot;,&quot;&quot;),10)+&quot;]&quot;)){if(!this.parentNode.className||-1==this.parentNode.className.indexOf(&quot;sub-menu&quot;)){t[q].value=0}else{if(&quot;LI&quot;==this.parentNode.parentNode.nodeName&amp;&amp;-1!=this.parentNode.parentNode.id.indexOf(&quot;menu-item-&quot;)){s=this.parentNode.parentNode;r=s.getElementsByTagName(&quot;input&quot;);p=r.length;while(p--){if(r[p].name&amp;&amp;-1!=r[p].name.indexOf(&quot;menu-item-object-id[&quot;+parseInt(s.id.replace(&quot;menu-item-&quot;,&quot;&quot;),10)+&quot;]&quot;)){t[q].value=parseInt(r[p].value,10);break}}}}break}}},e=function(p){var q=this;h(p).droppable({accept:&quot;.menu li&quot;,tolerance:&quot;pointer&quot;,drop:function(s,r){q.eventOnDrop(r.draggable[0],this,r,s)},over:function(s,r){q.eventOnDragOver(r.draggable[0],this,r,s)},out:function(s,r){q.eventOnDragOut(r.draggable[0],this,r,s)}})},k,f=function(s){if(!s){return}var q=document.getElementById(s.id+&quot;-dummy-list-item&quot;),p=s.getElementsByTagName(&quot;li&quot;),r=p.length;if(!q){q=document.createElement(&quot;li&quot;);q.id=s.id+&quot;-dummy-list-item&quot;;s.appendChild(q);this.setupListItemDragAndDrop(q)}while(r--){this.setupListItemDragAndDrop(p[r])}};return{init:function(){k=document.getElementById(&quot;menu-to-edit&quot;);this.attachMenuEditListeners();this.attachMenuMetaListeners(document.getElementById(&quot;nav-menu-meta&quot;));this.attachTabsPanelListeners();f.call(this,k);this.initToggles()},initToggles:function(){postboxes.add_postbox_toggles(&quot;nav-menus&quot;);columns.useCheckboxesForHidden();columns.checked=function(p){h(&quot;.field-&quot;+p).removeClass(&quot;hidden-field&quot;)};columns.unchecked=function(p){h(&quot;.field-&quot;+p).addClass(&quot;hidden-field&quot;)};this.hideAdvancedMenuItemFields()},hideAdvancedMenuItemFields:function(p){p=p||&quot;.menu&quot;;h(&quot;.hide-column-tog&quot;).not(&quot;:checked&quot;).each(function(){h(p).find(&quot;.field-&quot;+h(this).val()).addClass(&quot;hidden-field&quot;)})},attachMenuEditListeners:function(){var p=this;h(&quot;#update-nav-menu&quot;).bind(&quot;click&quot;,function(q){if(q.target&amp;&amp;q.target.className){if(-1!=q.target.className.indexOf(&quot;item-edit&quot;)){return p.eventOnClickEditLink(q.target)}else{if(-1!=q.target.className.indexOf(&quot;menu-delete&quot;)){return p.eventOnClickMenuDelete(q.target)}else{if(-1!=q.target.className.indexOf(&quot;item-delete&quot;)){return p.eventOnClickMenuItemDelete(q.target)}else{if(-1!=q.target.className.indexOf(&quot;item-close&quot;)){return p.eventOnClickCloseLink(q.target)}}}}}})},attachMenuMetaListeners:function(q){if(!q){return}var r=this,p=&quot;label-with-default-title&quot;;h(&quot;.&quot;+p).each(function(){var u=h(this),t=u.attr(&quot;title&quot;),s=u.val();u.data(p,t);if(&quot;&quot;==s){u.val(t)}else{if(t==s){return}else{u.removeClass(p)}}}).focus(function(){var s=h(this);if(s.val()==s.data(p)){s.val(&quot;&quot;).removeClass(p)}}).blur(function(){var s=h(this);if(&quot;&quot;==s.val()){s.val(s.data(p)).addClass(p)}});h(&quot;input.quick-search&quot;).each(function(s,t){r.setupQuickSearchEventListeners(t)});h(q).bind(&quot;submit&quot;,function(s){return r.eventSubmitMetaForm.call(r,this,s)})},attachTabsPanelListeners:function(){h(&quot;#menu-settings-column&quot;).bind(&quot;click&quot;,function(u){if(u.target&amp;&amp;u.target.className&amp;&amp;-1!=u.target.className.indexOf(&quot;nav-tab-link&quot;)){var v,q=/#(.*)$/.exec(u.target.href),t,w=getParentWrapper(u.target,&quot;inside&quot;),p=w?w.getElementsByTagName(&quot;input&quot;):[],r=p.length;while(r--){p[r].checked=false}h(&quot;.tabs-panel&quot;,w).each(function(){if(this.className){this.className=this.className.replace(&quot;tabs-panel-active&quot;,&quot;tabs-panel-inactive&quot;)}});h(&quot;.tabs&quot;,w).each(function(){this.className=this.className.replace(&quot;tabs&quot;,&quot;&quot;)});u.target.parentNode.className+=&quot; tabs&quot;;if(q&amp;&amp;q[1]){v=document.getElementById(q[1]);if(v){v.className=v.className.replace(&quot;tabs-panel-inactive&quot;,&quot;tabs-panel-active&quot;)}}return false}else{if(u.target&amp;&amp;u.target.className&amp;&amp;-1!=u.target.className.indexOf(&quot;select-all&quot;)){var s=/#(.*)$/.exec(u.target.href);if(s&amp;&amp;s[1]){h(&quot;#&quot;+s[1]+&quot; .tabs-panel-active input[type=checkbox]&quot;).attr(&quot;checked&quot;,&quot;checked&quot;);return false}}}})},setupListItemDragAndDrop:function(r){var p=r.getElementsByTagName(&quot;dl&quot;),s=this.makeListItemDropzone(r),q=p.length;e.call(this,s);this.makeListItemDraggable(r);while(q--){e.call(this,p[q])}},setupQuickSearchEventListeners:function(p){var q=this;h(p).autocomplete(ajaxurl+&quot;?action=menu-quick-search&amp;type=&quot;+p.name,{delay:500,formatItem:n,formatResult:o,minchars:2,multiple:false}).bind(&quot;blur&quot;,function(t){var r=l[this.value],s=this;if(r){h.post(ajaxurl+&quot;?action=menu-quick-search&amp;type=get-post-item&amp;response-format=markup&quot;,r,function(u){q.processQuickSearchQueryResponse.call(q,u,r);l[s.value]=false})}})},eventOnClickEditLink:function(p){var r,q=/#(.*)$/.exec(p.href);if(q&amp;&amp;q[1]){r=h(&quot;#&quot;+q[1]);if(0!=r.length){if(r.hasClass(&quot;menu-item-edit-inactive&quot;)){r.slideDown(&quot;fast&quot;).siblings(&quot;dl&quot;).andSelf().removeClass(&quot;menu-item-edit-inactive&quot;).addClass(&quot;menu-item-edit-active&quot;)}else{r.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(p){h(p).closest(&quot;.menu-item-settings&quot;).siblings(&quot;dl&quot;).find(&quot;.item-edit&quot;).click();return false},eventOnClickMenuDelete:function(p){if(confirm(navMenuL10n.warnDeleteMenu)){return true}else{return false}},eventOnClickMenuItemDelete:function(p){var s,r,q=this;if(confirm(navMenuL10n.warnDeleteMenuItem)){r=/_wpnonce=([a-zA-Z0-9]*)$/.exec(p.href);if(r&amp;&amp;r[1]){s=parseInt(p.id.replace(&quot;delete-&quot;,&quot;&quot;),10);h.post(ajaxurl,{action:&quot;delete-menu-item&quot;,&quot;menu-item&quot;:s,_wpnonce:r[1]},function(t){if(&quot;1&quot;==t){q.removeMenuItem(document.getElementById(&quot;menu-item-&quot;+s))}});return false}return true}else{return false}},eventOnDragOver:function(p,q){a=true;j=q;q.className+=&quot; sortable-placeholder&quot;},eventOnDragOut:function(p,q){a=false;(function(r){setTimeout(function(){if(r!=j||(!a&amp;&amp;r.className&amp;&amp;-1!=r.className.indexOf(&quot;sortable-placeholder&quot;))){r.className=r.className.replace(/sortable-placeholder/g,&quot;&quot;)}},800)})(q)},eventOnDrop:function(s,v){var t=!!(-1==v.className.indexOf(&quot;dropzone&quot;)),q=v.parentNode.getElementsByTagName(&quot;ul&quot;),u=false,r=q.length,p;a=false;v.className=v.className.replace(/sortable-placeholder/g,&quot;&quot;);if(t){while(r--){if(q[r]&amp;&amp;1!=q[r].className.indexOf(&quot;sub-menu&quot;)){u=true;p=q[r]}}if(!u){p=document.createElement(&quot;ul&quot;);p.className=&quot;sub-menu&quot;;v.parentNode.appendChild(p)}p.appendChild(s)}else{v.parentNode.parentNode.insertBefore(s,v.parentNode)}this.recalculateSortOrder(k);c.call(s)},eventSubmitMetaForm:function(q,w){var u=q.getElementsByTagName(&quot;input&quot;),t=u.length,s,y,p,v,r={},x=function(){},z=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;);q.className=q.className+&quot; processing&quot;,that=this;r.action=&quot;&quot;;while(t--){if(u[t].name&amp;&amp;-1!=u[t].name.indexOf(&quot;menu-item-object-id&quot;)&amp;&amp;u[t].checked||(&quot;undefined&quot;!=typeof u[t].id&amp;&amp;&quot;custom-menu-item-url&quot;==u[t].id&amp;&amp;&quot;&quot;!=u[t].value&amp;&amp;&quot;http://&quot;!=u[t].value)){r.action=&quot;add-menu-item&quot;;x=that.processAddMenuItemResponse;v=z.exec(u[t].name);p=&quot;undefined&quot;==typeof v[1]?0:parseInt(v[1],10);y=b(p);for(s in y){r[&quot;menu-item[&quot;+p+&quot;][&quot;+s+&quot;]&quot;]=y[s]}u[t].checked=false}else{if(&quot;&quot;==r.action&amp;&amp;&quot;&quot;!=u[t].value&amp;&amp;u[t].className&amp;&amp;-1!=u[t].className.search(/quick-search\b[^-]/)){r.action=&quot;menu-quick-search&quot;;r.q=u[t].value;r[&quot;response-format&quot;]=&quot;markup&quot;;r.type=u[t].name;x=that.processQuickSearchQueryResponse}}}r.menu=q.elements.menu.value;r[&quot;menu-settings-column-nonce&quot;]=q.elements[&quot;menu-settings-column-nonce&quot;].value;h.post(ajaxurl,r,function(A){x.call(that,A,r);q.className=q.className.replace(/processing/g,&quot;&quot;)});return false},makeListItemDraggable:function(p){h(p).draggable({handle:&quot; &gt; dl&quot;,opacity:0.8,addClasses:false,helper:&quot;clone&quot;,zIndex:100})},makeListItemDropzone:function(r){if(!r){return false}var q=r.getElementsByTagName(&quot;div&quot;),p=q.length,s=document.createElement(&quot;div&quot;);while(p--){if(q[p].className&amp;&amp;-1!=q[p].className.indexOf(&quot;dropzone&quot;)&amp;&amp;(r==q[p].parentNode)){return q[p]}}s.className=&quot;dropzone&quot;;r.insertBefore(s,r.firstChild);return s},processAddMenuItemResponse:function(p,u){if(!u){u={}}var v,q=document.getElementById(k.id+&quot;-dummy-list-item&quot;),s,r,t=document.createElement(&quot;ul&quot;);t.innerHTML=p;r=t.getElementsByTagName(&quot;li&quot;);s=r.length;while(s--){this.setupListItemDragAndDrop(r[s]);if(q){k.insertBefore(r[s],q)}else{k.appendChild(r[s])}}this.recalculateSortOrder(k);this.hideAdvancedMenuItemFields(k);h(&quot;#custom-menu-item-name&quot;).val(&quot;&quot;).blur();h(&quot;#custom-menu-item-url&quot;).val(&quot;http://&quot;)},processQuickSearchQueryResponse:function(t,y){if(!y){y={}}var q=document.createElement(&quot;ul&quot;),p=document.getElementById(&quot;nav-menu-meta&quot;),u,x,r,z,v,w=new RegExp(&quot;menu-item\\[([^\\]]*)&quot;),s;r=w.exec(t);if(r&amp;&amp;r[1]){v=r[1];while(p.elements[&quot;menu-item[&quot;+v+&quot;][menu-item-type]&quot;]){v--}if(v!=r[1]){t=t.replace(new RegExp(&quot;menu-item\\[&quot;+r[1]+&quot;\\]&quot;,&quot;g&quot;),&quot;menu-item[&quot;+v+&quot;]&quot;)}}q.innerHTML=t;x=q.getElementsByTagName(&quot;li&quot;);if(x[0]&amp;&amp;y.object_type){s=document.getElementById(y.object_type+&quot;-search-checklist&quot;);if(s){s.appendChild(x[0])}}else{if(y.type){r=/quick-search-(posttype|taxonomy)-([a-zA-Z_-]*)/.exec(y.type);if(r&amp;&amp;r[2]){s=document.getElementById(r[2]+&quot;-search-checklist&quot;);if(s){u=x.length;if(!u){z=document.createElement(&quot;li&quot;);z.appendChild(document.createTextNode(navMenuL10n.noResultsFound));s.appendChild(z)}while(u--){s.appendChild(x[u])}}}}}},recalculateSortOrder:function(r){var s=r.getElementsByTagName(&quot;input&quot;),q,p=0;for(q=0;q&lt;s.length;q++){if(s[q].name&amp;&amp;-1!=s[q].name.indexOf(&quot;menu-item-position&quot;)){s[q].value=++p}}},removeMenuItem:function(r){if(!r){return false}var s=r.getElementsByTagName(&quot;ul&quot;),q,p;if(s[0]){q=s[0].getElementsByTagName(&quot;li&quot;);for(p=0;p&lt;q.length;p++){if(q[p].id&amp;&amp;-1!=q[p].id.indexOf(&quot;menu-item-&quot;)&amp;&amp;q[p].parentNode==s[0]){r.parentNode.insertBefore(q[p],r)}}}r.className+=&quot; deleting&quot;;h(r).fadeOut(350,function(){this.parentNode.removeChild(this)});this.recalculateSortOrder(k)}}};var wpNavMenu=new WPNavMenuHandler();jQuery(function(){wpNavMenu.init()});
</ins><span class="cx">\ No newline at end of file
</span></span></pre>
</div>
</div>

</body>
</html>