Ticket #11817: ticket_11817_nav_menu_enhancements.diff
| File ticket_11817_nav_menu_enhancements.diff, 70.4 KB (added by , 16 years ago) |
|---|
-
wp-includes/nav-menu-template.php
149 149 150 150 case 'default': 151 151 $template_dir = get_bloginfo('url'); 152 $menu_id = 'menu-item-' . $menu_item->ID; 152 153 ?> 153 154 <dl> 154 155 <dt> 155 < a class="title" title="<?php esc_attr_e('Add to Menu'); ?>" onclick="appendToList('<?php echo esc_js( esc_url_raw( $template_dir ) ); ?>','<?php echo esc_js( $menu_item->append ); ?>','<?php echo esc_js( $menu_item->title ); ?>','<?php echo esc_js( $menu_item->link ); ?>','<?php echo esc_js( $menu_item->ID ); ?>','<?php echo esc_js( $menu_item->parent_item ); ?>','<?php echo esc_js( $menu_item->description ); ?>')" name="<?php echo esc_attr( $menu_item->title ); ?>" value="<?php echo esc_attr( $menu_item->link ); ?>"><?php echo $menu_item->title; ?></a>156 <label class="title"><input type="checkbox" id="<?php echo esc_attr($menu_id); ?>" onclick="updateQueue('<?php echo esc_js( esc_url_raw( $template_dir ) ); ?>','<?php echo esc_js( $menu_item->append ); ?>','<?php echo esc_js( $menu_item->title ); ?>','<?php echo esc_js( $menu_item->link ); ?>','<?php echo esc_js( $menu_item->ID ); ?>','<?php echo esc_js( $menu_item->parent_item ); ?>','<?php echo esc_js( $menu_item->description ); ?>')" name="<?php echo esc_attr( $menu_item->title ); ?>" value="<?php echo esc_attr( $menu_item->link ); ?>" /><?php echo $menu_item->title; ?></label> 156 157 </dt> 157 158 </dl> 158 159 <?php -
wp-includes/script-loader.php
398 398 399 399 // Custom Navigation 400 400 $scripts->add( 'nav-menu-default-items', "/wp-admin/js/nav-menu-default-items$suffix.js", false, '20100223' ); 401 $scripts->add( 'nav-menu-dynamic-functions', "/wp-admin/js/nav-menu-dynamic-functions$suffix.js", false, '2010022 4b' );401 $scripts->add( 'nav-menu-dynamic-functions', "/wp-admin/js/nav-menu-dynamic-functions$suffix.js", false, '20100225b' ); 402 402 $scripts->localize( 'nav-menu-dynamic-functions', 'navMenuL10n', array( 403 403 'custom' => _x('Custom', 'menu nav item type'), 404 404 'page' => _x('Page', 'menu nav item type'), … … 474 474 $styles->add( 'farbtastic', '/wp-admin/css/farbtastic.css', array(), '1.2' ); 475 475 $styles->add( 'jcrop', '/wp-includes/js/jcrop/jquery.Jcrop.css', array(), '0.9.8' ); 476 476 $styles->add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.1' ); 477 $styles->add( 'nav-menu', "/wp-admin/css/nav-menu$suffix.css", array(), '20100225 ' );477 $styles->add( 'nav-menu', "/wp-admin/css/nav-menu$suffix.css", array(), '20100225b' ); 478 478 479 479 foreach ( $rtl_styles as $rtl_style ) { 480 480 $styles->add_data( $rtl_style, 'rtl', true ); -
wp-admin/admin-ajax.php
477 477 _wp_ajax_delete_comment_response( $comment->comment_ID ); 478 478 die( '0' ); 479 479 break; 480 case 'add-menu-link': 481 if ( !current_user_can( 'manage_links' ) ) 482 die('-1'); 483 484 $link_cat = is_term( __('Custom Menu Links'), 'link_category' ); 485 if ( $link_cat ) { 486 $_POST['link_category'] = array( $link_cat['term_id'] ); 487 488 // Don't add the link if the default values haven't been changed 489 if ( 'Menu Item' != $_POST['link_name'] || 'http://' != $_POST['link_url'] ) { 490 $link_id = add_link(); 491 $r[0] = get_bookmarks( array( 'category_name' => __('Custom Menu Links'), 'limit' => 1, 'include' => $link_id ) ); 492 } 493 494 $r[1] = get_bloginfo('url'); 495 echo json_encode( $r ); 496 } else { 497 die('-1'); 498 } 499 break; 480 500 case 'add-link-category' : // On the Fly 481 501 check_ajax_referer( $action ); 482 502 if ( !current_user_can( 'manage_categories' ) ) -
wp-admin/js/nav-menu-dynamic-functions.js
1 function removeitem(c){var b=document.getElementById("menu-"+c);if(b){var a=document.getElementById("menu-"+c).parentNode;throwaway_node=a.removeChild(b)}updatepostdata()}function edititem(a){itemTitle=jQuery("#title"+a).attr("value");itemURL=jQuery("#linkurl"+a).attr("value");itemAnchorTitle=jQuery("#anchortitle"+a).attr("value");itemNewWindow=jQuery("#newwindow"+a).attr("value");itemDesc=jQuery("#description"+a).attr("value");jQuery("#dialog-confirm").dialog("option","itemID",a);jQuery("#dialog-confirm").dialog("open");jQuery("#edittitle").attr("value",itemTitle);jQuery("#editlink").attr("value",itemURL);jQuery("#editanchortitle").attr("value",itemAnchorTitle);jQuery("#editnewwindow option[value='"+itemNewWindow+"']").attr("selected","selected");jQuery("#editdescription").attr("value",itemDesc)}function updatepostdata(){var a=0;jQuery("#custom-nav").find("li").each(function(c){c=c+1;var b=jQuery(this).attr("value");jQuery(this).find("#position"+b).attr("value",c);jQuery(this).attr("id","menu-"+c);jQuery(this).attr("value",c);jQuery(this).find("#dbid"+b).attr("name","dbid"+c);jQuery(this).find("#dbid"+b).attr("id","dbid"+c);jQuery(this).find("#postmenu"+b).attr("name","postmenu"+c);jQuery(this).find("#postmenu"+b).attr("id","postmenu"+c);var d=jQuery(this).find("#parent"+b).parent().parent().parent().attr("value");jQuery(this).find("#parent"+b).attr("name","parent"+c);jQuery(this).find("#parent"+b).attr("id","parent"+c);if(d){}else{d=0}jQuery(this).find("#parent"+b).attr("value",d);jQuery(this).find("#title"+b).attr("name","title"+c);jQuery(this).find("#title"+b).attr("id","title"+c);jQuery(this).find("#linkurl"+b).attr("name","linkurl"+c);jQuery(this).find("#linkurl"+b).attr("id","linkurl"+c);jQuery(this).find("#description"+b).attr("name","description"+c);jQuery(this).find("#description"+b).attr("id","description"+c);jQuery(this).find("#icon"+b).attr("name","icon"+c);jQuery(this).find("#icon"+b).attr("id","icon"+c);jQuery(this).find("#position"+b).attr("name","position"+c);jQuery(this).find("#position"+b).attr("id","position"+c);jQuery(this).find("#linktype"+b).attr("name","linktype"+c);jQuery(this).find("#linktype"+b).attr("id","linktype"+c);jQuery(this).find("#anchortitle"+b).attr("name","anchortitle"+c);jQuery(this).find("#anchortitle"+b).attr("id","anchortitle"+c);jQuery(this).find("#newwindow"+b).attr("name","newwindow"+c);jQuery(this).find("#newwindow"+b).attr("id","newwindow"+c);jQuery(this).find("dl > dt > span > #remove"+b).attr("value",c);jQuery(this).find("dl > dt > span > #remove"+b).attr("onClick","removeitem("+c+")");jQuery(this).find("dl > dt > span > #remove"+b).attr("id","remove"+c);jQuery("#li-count").attr("value",c)})}function appendToList(b,s,d,n,h,l,e){var k="";var c="";var r="";var o="";var i="";var a="";if(s==navMenuL10n.custom){k=document.getElementById("custom-menu-item-name").value;c=document.getElementById("custom-menu-item-url").value;r="";o="";inputlinktype="custom";i=""}else{if(s==navMenuL10n.page){k=htmlentities(d.toString());c=n.toString();r=h.toString();o="0";inputlinktype="page";i=htmlentities(e.toString())}else{if(s==navMenuL10n.category){k=htmlentities(d.toString());c=n.toString();r=h.toString();o="0";inputlinktype="category";i=htmlentities(e.toString())}else{k="";k="";r="";o="";inputlinktype="custom";i=""}}}var g=document.getElementById("custom-nav").getElementsByTagName("li").length+1;var p=g;var m=0;try{var q=document.getElementById("menu-"+p.toString()).value}catch(f){m=1}while(m==0){p=p+1;try{var j=document.getElementById("menu-"+p.toString()).value}catch(f){m=1}}jQuery(".maintitle").after('<div id="message" class="updated fade below-h2"><p>Menu Item added!</p></div>');jQuery("#message").animate({opacity:1},2000).fadeOut(300,function(){jQuery(this).remove()});jQuery("#custom-nav").append('<li id="menu-'+p+'" value="'+p+'"><div class="dropzone ui-droppable"></div><dl class="ui-droppable"><dt><span class="title">'+k+'</span><span class="controls"><span class="type">'+s+'</span><a id="edit'+p+'" onclick="edititem('+p+')" value="'+p+'"><img class="edit" alt="Edit Menu Item" title="Edit Menu Item" src="'+b+'/wp-admin/images/ico-edit.png" /></a> <a id="remove'+p+'" onclick="removeitem('+p+')" value="'+p+'"><img class="remove" alt="Remove from Custom Menu" title="Remove from Custom Menu" src="'+b+'/wp-admin/images/ico-close.png" /></a> <a href="'+c+'" target="_blank"><img alt="View Custom Link" title="View Custom Link" src="'+b+'/wp-admin/images/ico-viewpage.png" /></a></span></dt></dl><a class="hide" href="'+c+'">'+k+'</a><input type="hidden" name="postmenu'+p+'" id="postmenu'+p+'" value="'+r+'" /><input type="hidden" name="parent'+p+'" id="parent'+p+'" value="'+o+'" /><input type="hidden" name="title'+p+'" id="title'+p+'" value="'+k+'" /><input type="hidden" name="linkurl'+p+'" id="linkurl'+p+'" value="'+c+'" /><input type="hidden" name="description'+p+'" id="description'+p+'" value="'+i+'" /><input type="hidden" name="icon'+p+'" id="icon'+p+'" value="'+a+'" /><input type="hidden" name="position'+p+'" id="position'+p+'" value="'+p+'" /><input type="hidden" name="linktype'+p+'" id="linktype'+p+'" value="'+inputlinktype+'" /><input type="hidden" name="anchortitle'+p+'" id="anchortitle'+p+'" value="'+k+'" /><input type="hidden" name="newwindow'+p+'" id="newwindow'+p+'" value="0" /></li>');jQuery("#menu-"+p+"").draggable({handle:" > dl",opacity:0.8,addClasses:false,helper:"clone",zIndex:100});jQuery("#menu-"+p+" dl, #menu-"+p+" .dropzone").droppable({accept:"#"+p+", #custom-nav li",tolerance:"pointer",drop:function(x,w){var t=jQuery(this).parent();var y=!jQuery(this).hasClass("dropzone");if(y&&t.children("ul").length==0){t.append("<ul/>")}if(y){t.children("ul").append(w.draggable)}else{t.before(w.draggable)}t.find("dl,.dropzone").css({backgroundColor:"",borderColor:""});var v=w.draggable.attr("value");var u=t.attr("value");t.find("#menu-"+v).find("#parent"+v).val(u);jQuery(this).parent().find("dt").removeAttr("style");jQuery(this).parent().find("div:first").removeAttr("style")},over:function(){if(jQuery(this).attr("class")=="dropzone ui-droppable"){jQuery(this).parent().find("div:first").css("background","none").css("height","50px")}else{if(jQuery(this).attr("class")=="ui-droppable"){jQuery(this).parent().find("dt:first").css("background","#d8d8d8")}else{}}var t=jQuery(this).parent().attr("id")},out:function(){jQuery(this).parent().find("dt").removeAttr("style");jQuery(this).parent().find("div:first").removeAttr("style");jQuery(this).filter(".dropzone").css({borderColor:""})}});updatepostdata()};2 No newline at end of file 1 jQuery(document).ready(function(){jQuery(".quick-search").click(function(){jQuery(this).attr("value","")});jQuery(".show-all").click(function(){jQuery(this).offsetParent().find("#add-buttons-actions").attr("style","margin-bottom: 10px;");jQuery(this).offsetParent().find(".list-wrap").css("display","block");jQuery(this).siblings(".quick-search").attr("value","");jQuery(this).offsetParent().find(".list-wrap dt").css("display","block");jQuery(this).hide();jQuery(this).siblings(".hide-all").show()});jQuery(".hide-all").click(function(){jQuery(this).offsetParent().find("#add-buttons-actions").attr("style","margin-bottom: 0px;");jQuery(this).offsetParent().find(".list-wrap").css("display","none");jQuery(this).siblings(".quick-search").attr("value","Search");jQuery(this).offsetParent().find(".list-wrap dt").css("display","none");jQuery(this).hide();jQuery(this).siblings(".show-all").show()});jQuery("#add-create-link a").click(function(){var link_url=jQuery(this).parent().siblings(".howto").find("#custom-menu-item-url").val();var link_name=jQuery(this).parent().siblings(".howto").find("#custom-menu-item-name").val();var template_dir="";params={action:"add-menu-link",link_url:link_url,link_name:link_name,};jQuery.post(ajaxurl,params,function(response){template_dir=response[1];update_links_list(response[0]);update_nav_menu(template_dir,"Link",response[0][0].link_name,response[0][0].link_url,response[0][0].link_id,0,response[0][0].link_description)},"json");var links=jQuery(this).offsetParent().find("#available-links input:checked");if(links){for(var i=0;i<links.length;i++){update_nav_menu(template_dir,"Link",links[i].name,links[i].value,links[i].id.substring(5,links[i].id.length),0,"")}jQuery(links).attr("checked",false)}})});function update_links_list(e){var link='<li><dl><dt><label class="title"><input type="checkbox" id="link-'+e[0].link_id+'" name="'+e[0].link_name+'" value="'+e[0].link_url+'" />'+e[0].link_name+"</label></dt></dl></li>";jQuery("#available-links .list").prepend(link);jQuery("#available-links .list #link-"+e[0].link_id).parent().animate({backgroundColor:"#FFFF33"},{duration:"fast",complete:function(){jQuery(this).css("backgroundColor","")}})}function update_nav_menu(templatedir,additemtype,itemtext,itemurl,itemid,itemparentid,itemdescription){var inputvaluevarname="";var inputvaluevarurl="";var inputitemid="";var inputparentid="";var inputdescription="";var inputicon="";if(additemtype==navMenuL10n.custom){inputvaluevarname=htmlentities(itemtext.toString());inputvaluevarurl=itemurl.toString();inputitemid="";inputparentid="";inputlinktype="custom";inputdescription=""}else{if(additemtype==navMenuL10n.page){inputvaluevarname=htmlentities(itemtext.toString());inputvaluevarurl=itemurl.toString();inputitemid=itemid.toString();inputparentid="0";inputlinktype="page";inputdescription=htmlentities(itemdescription.toString())}else{if(additemtype==navMenuL10n.category){inputvaluevarname=htmlentities(itemtext.toString());inputvaluevarurl=itemurl.toString();inputitemid=itemid.toString();inputparentid="0";inputlinktype="category";inputdescription=htmlentities(itemdescription.toString())}else{inputvaluevarname=htmlentities(itemtext.toString());inputvaluevarurl=itemurl.toString();inputitemid=itemid;inputparentid="";inputlinktype="custom";inputdescription=htmlentities(itemdescription.toString())}}}var count=document.getElementById("custom-nav").getElementsByTagName("li").length+1;var randomnumber=count;var validatetest=0;try{var test=document.getElementById("menu-"+randomnumber.toString()).value}catch(err){validatetest=1}while(validatetest==0){randomnumber=randomnumber+1;try{var test2=document.getElementById("menu-"+randomnumber.toString()).value}catch(err){validatetest=1}}jQuery("#custom-nav").append('<li id="menu-'+randomnumber+'" value="'+randomnumber+'"><div class="dropzone ui-droppable"></div><dl class="ui-droppable"><dt><span class="title">'+inputvaluevarname+'</span><span class="controls"><span class="type">'+additemtype+'</span><a id="edit'+randomnumber+'" onclick="edititem('+randomnumber+')" value="'+randomnumber+'"><img class="edit" alt="Edit Menu Item" title="Edit Menu Item" src="'+templatedir+'/wp-admin/images/ico-edit.png" /></a> <a id="remove'+randomnumber+'" onclick="removeitem('+randomnumber+')" value="'+randomnumber+'"><img class="remove" alt="Remove from Custom Menu" title="Remove from Custom Menu" src="'+templatedir+'/wp-admin/images/ico-close.png" /></a> <a href="'+inputvaluevarurl+'" target="_blank"><img alt="View Custom Link" title="View Custom Link" src="'+templatedir+'/wp-admin/images/ico-viewpage.png" /></a></span></dt></dl><a class="hide" href="'+inputvaluevarurl+'">'+inputvaluevarname+'</a><input type="hidden" name="postmenu'+randomnumber+'" id="postmenu'+randomnumber+'" value="'+inputitemid+'" /><input type="hidden" name="parent'+randomnumber+'" id="parent'+randomnumber+'" value="'+inputparentid+'" /><input type="hidden" name="title'+randomnumber+'" id="title'+randomnumber+'" value="'+inputvaluevarname+'" /><input type="hidden" name="linkurl'+randomnumber+'" id="linkurl'+randomnumber+'" value="'+inputvaluevarurl+'" /><input type="hidden" name="description'+randomnumber+'" id="description'+randomnumber+'" value="'+inputdescription+'" /><input type="hidden" name="icon'+randomnumber+'" id="icon'+randomnumber+'" value="'+inputicon+'" /><input type="hidden" name="position'+randomnumber+'" id="position'+randomnumber+'" value="'+randomnumber+'" /><input type="hidden" name="linktype'+randomnumber+'" id="linktype'+randomnumber+'" value="'+inputlinktype+'" /><input type="hidden" name="anchortitle'+randomnumber+'" id="anchortitle'+randomnumber+'" value="'+inputvaluevarname+'" /><input type="hidden" name="newwindow'+randomnumber+'" id="newwindow'+randomnumber+'" value="0" /></li>');dragAndDrop()}function removeitem(o){var todelete=document.getElementById("menu-"+o);if(todelete){var parenttodelete=document.getElementById("menu-"+o).parentNode;throwaway_node=parenttodelete.removeChild(todelete)}updatepostdata()}function edititem(o){itemTitle=jQuery("#title"+o).val();itemURL=jQuery("#linkurl"+o).val();itemAnchorTitle=jQuery("#anchortitle"+o).val();itemNewWindow=jQuery("#newwindow"+o).val();itemDesc=jQuery("#description"+o).val();jQuery("#dialog-confirm").dialog("option","itemID",o);jQuery("#dialog-confirm").dialog("open");jQuery("#edittitle").val(itemTitle);if("custom"==jQuery("#linktype"+o).val()){jQuery("#editlink-wrap").css("display","inline")}else{jQuery("#editlink-wrap").css("display","none")}jQuery("#editlink").val(itemURL);jQuery("#editanchortitle").val(itemAnchorTitle);jQuery("#editnewwindow option[value='"+itemNewWindow+"']").attr("selected","selected");jQuery("#editdescription").val(itemDesc)}function updatepostdata(){var i=0;jQuery("#custom-nav").find("li").each(function(i){i=i+1;var j=jQuery(this).attr("value");jQuery(this).find("#position"+j).attr("value",i);jQuery(this).attr("id","menu-"+i);jQuery(this).attr("value",i);jQuery(this).find("#dbid"+j).attr("name","dbid"+i);jQuery(this).find("#dbid"+j).attr("id","dbid"+i);jQuery(this).find("#postmenu"+j).attr("name","postmenu"+i);jQuery(this).find("#postmenu"+j).attr("id","postmenu"+i);var p=jQuery(this).find("#parent"+j).parent().parent().parent().attr("value");jQuery(this).find("#parent"+j).attr("name","parent"+i);jQuery(this).find("#parent"+j).attr("id","parent"+i);if(p){}else{p=0}jQuery(this).find("#parent"+j).attr("value",p);jQuery(this).find("#title"+j).attr("name","title"+i);jQuery(this).find("#title"+j).attr("id","title"+i);jQuery(this).find("#linkurl"+j).attr("name","linkurl"+i);jQuery(this).find("#linkurl"+j).attr("id","linkurl"+i);jQuery(this).find("#description"+j).attr("name","description"+i);jQuery(this).find("#description"+j).attr("id","description"+i);jQuery(this).find("#icon"+j).attr("name","icon"+i);jQuery(this).find("#icon"+j).attr("id","icon"+i);jQuery(this).find("#position"+j).attr("name","position"+i);jQuery(this).find("#position"+j).attr("id","position"+i);jQuery(this).find("#linktype"+j).attr("name","linktype"+i);jQuery(this).find("#linktype"+j).attr("id","linktype"+i);jQuery(this).find("#anchortitle"+j).attr("name","anchortitle"+i);jQuery(this).find("#anchortitle"+j).attr("id","anchortitle"+i);jQuery(this).find("#newwindow"+j).attr("name","newwindow"+i);jQuery(this).find("#newwindow"+j).attr("id","newwindow"+i);jQuery(this).find("dl > dt > span > #remove"+j).attr("value",i);jQuery(this).find("dl > dt > span > #remove"+j).attr("onClick","removeitem("+i+")");jQuery(this).find("dl > dt > span > #remove"+j).attr("id","remove"+i);jQuery("#li-count").attr("value",i)})}function updateQueue(templatedir,additemtype,itemtext,itemurl,itemid,itemparentid,itemdescription){var inputvaluevarname="";var inputvaluevarurl="";var inputitemid="";var inputparentid="";var inputdescription="";var inputicon="";if(additemtype==navMenuL10n.custom){inputvaluevarname=document.getElementById("custom-menu-item-name").value;inputvaluevarurl=document.getElementById("custom-menu-item-url").value;inputitemid="";inputparentid="";inputlinktype="custom";inputdescription=""}else{if(additemtype==navMenuL10n.page){inputvaluevarname=htmlentities(itemtext.toString());inputvaluevarurl=itemurl.toString();inputitemid=itemid.toString();inputparentid="0";inputlinktype="page";inputdescription=htmlentities(itemdescription.toString())}else{if(additemtype==navMenuL10n.category){inputvaluevarname=htmlentities(itemtext.toString());inputvaluevarurl=itemurl.toString();inputitemid=itemid.toString();inputparentid="0";inputlinktype="category";inputdescription=htmlentities(itemdescription.toString())}else{inputvaluevarname="";inputvaluevarname="";inputitemid="";inputparentid="";inputlinktype="custom";inputdescription=""}}}var count=document.getElementById("custom-nav").getElementsByTagName("li").length+1;var randomnumber=count;var validatetest=0;try{var test=document.getElementById("menu-"+randomnumber.toString()).value}catch(err){validatetest=1}while(validatetest==0){randomnumber=randomnumber+1;try{var test2=document.getElementById("menu-"+randomnumber.toString()).value}catch(err){validatetest=1}}if(jQuery(menu_item_id="#menu-item-"+inputitemid).attr("checked")){jQuery("#queue").append('<li id="menu-'+randomnumber+'" value="'+randomnumber+'"><div class="dropzone ui-droppable"></div><dl class="ui-droppable"><dt><span class="title">'+inputvaluevarname+'</span><span class="controls"><span class="type">'+additemtype+'</span><a id="edit'+randomnumber+'" onclick="edititem('+randomnumber+')" value="'+randomnumber+'"><img class="edit" alt="Edit Menu Item" title="Edit Menu Item" src="'+templatedir+'/wp-admin/images/ico-edit.png" /></a> <a id="remove'+randomnumber+'" onclick="removeitem('+randomnumber+')" value="'+randomnumber+'"><img class="remove" alt="Remove from Custom Menu" title="Remove from Custom Menu" src="'+templatedir+'/wp-admin/images/ico-close.png" /></a> <a href="'+inputvaluevarurl+'" target="_blank"><img alt="View Custom Link" title="View Custom Link" src="'+templatedir+'/wp-admin/images/ico-viewpage.png" /></a></span></dt></dl><a class="hide" href="'+inputvaluevarurl+'">'+inputvaluevarname+'</a><input type="hidden" name="postmenu'+randomnumber+'" id="postmenu'+randomnumber+'" value="'+inputitemid+'" /><input type="hidden" name="parent'+randomnumber+'" id="parent'+randomnumber+'" value="'+inputparentid+'" /><input type="hidden" name="title'+randomnumber+'" id="title'+randomnumber+'" value="'+inputvaluevarname+'" /><input type="hidden" name="linkurl'+randomnumber+'" id="linkurl'+randomnumber+'" value="'+inputvaluevarurl+'" /><input type="hidden" name="description'+randomnumber+'" id="description'+randomnumber+'" value="'+inputdescription+'" /><input type="hidden" name="icon'+randomnumber+'" id="icon'+randomnumber+'" value="'+inputicon+'" /><input type="hidden" name="position'+randomnumber+'" id="position'+randomnumber+'" value="'+randomnumber+'" /><input type="hidden" name="linktype'+randomnumber+'" id="linktype'+randomnumber+'" value="'+inputlinktype+'" /><input type="hidden" name="anchortitle'+randomnumber+'" id="anchortitle'+randomnumber+'" value="'+inputvaluevarname+'" /><input type="hidden" name="newwindow'+randomnumber+'" id="newwindow'+randomnumber+'" value="0" /></li>')}else{for(var i=0;i<jQuery('#queue li input[name^="postmenu"]').length;i++){if(itemid==jQuery('#queue li input[name^="postmenu"]')[i].value){var menu_queue_id=jQuery('#queue li input[name^="postmenu"]')[i].name.substring(8,jQuery('#queue li input[name^="postmenu"]')[i].name.length)}}jQuery("#queue li#menu-"+menu_queue_id).remove()}}function addQueuedItemsToMenu(button){jQuery(".maintitle").after('<div id="message" class="updated fade below-h2"><p>Menu Item added!</p></div>');jQuery("#message").animate({opacity:1},2000).fadeOut(300,function(){jQuery(this).remove()});var items=jQuery("#queue").children();jQuery("#queue").empty();jQuery("#custom-nav").append(items);jQuery(button).offsetParent().find(".list-container input").attr("checked",false);updatepostdata();dragAndDrop()}function dragAndDrop(){jQuery("#custom-nav li").draggable({handle:" > dl",opacity:0.8,addClasses:false,helper:"clone",zIndex:100});jQuery("#custom-nav li dl, #custom-nav li .dropzone").droppable({accept:"#custom-nav li",tolerance:"pointer",drop:function(e,ui){var li=jQuery(this).parent();var child=!jQuery(this).hasClass("dropzone");if(child&&li.children("ul").length==0){li.append("<ul/>")}if(child){li.children("ul").append(ui.draggable)}else{li.before(ui.draggable)}li.find("dl,.dropzone").css({backgroundColor:"",borderColor:""});var draggablevalue=ui.draggable.attr("value");var droppablevalue=li.attr("value");li.find("#menu-"+draggablevalue).find("#parent"+draggablevalue).val(droppablevalue);jQuery(this).parent().find("dt").removeAttr("style");jQuery(this).parent().find("div:first").removeAttr("style")},over:function(){if(jQuery(this).attr("class")=="dropzone ui-droppable"){jQuery(this).parent().find("div:first").css("background","none").css("height","50px")}else{if(jQuery(this).attr("class")=="ui-droppable"){jQuery(this).parent().find("dt:first").css("background","#d8d8d8")}else{}}var parentid=jQuery(this).parent().attr("id")},out:function(){jQuery(this).parent().find("dt").removeAttr("style");jQuery(this).parent().find("div:first").removeAttr("style");jQuery(this).filter(".dropzone").css({borderColor:""})}})}; 2 No newline at end of file -
wp-admin/js/nav-menu-dynamic-functions.dev.js
8 8 * @subpackage Administration 9 9 */ 10 10 11 jQuery(document).ready(function(){ 12 13 // Clear the search textbox 14 jQuery('.quick-search').click(function(){ 15 jQuery(this).attr( 'value', '' ); 16 }); 17 18 // Show All 19 jQuery('.show-all').click(function(){ 20 jQuery(this).offsetParent().find('#add-buttons-actions').attr( 'style','margin-bottom: 10px;' ); 21 jQuery(this).offsetParent().find('.list-wrap').css( 'display','block' ); 22 jQuery(this).siblings('.quick-search').attr( 'value', '' ); 23 jQuery(this).offsetParent().find('.list-wrap dt').css( 'display', 'block' ); 24 jQuery(this).hide(); 25 jQuery(this).siblings('.hide-all').show(); 26 }); 27 28 // Hide All 29 jQuery('.hide-all').click(function(){ 30 jQuery(this).offsetParent().find('#add-buttons-actions').attr( 'style','margin-bottom: 0px;' ); 31 jQuery(this).offsetParent().find('.list-wrap').css( 'display','none' ); 32 jQuery(this).siblings('.quick-search').attr( 'value', 'Search' ); 33 jQuery(this).offsetParent().find('.list-wrap dt').css( 'display', 'none' ); 34 jQuery(this).hide(); 35 jQuery(this).siblings('.show-all').show(); 36 }); 37 38 // Create the link, then add it to the Queue 39 jQuery('#add-create-link a').click(function(){ 40 var link_url = jQuery(this).parent().siblings('.howto').find('#custom-menu-item-url').val(); 41 var link_name = jQuery(this).parent().siblings('.howto').find('#custom-menu-item-name').val(); 42 var template_dir = ''; 43 44 params = { 45 action: 'add-menu-link', 46 link_url: link_url, 47 link_name: link_name, 48 }; 49 50 // save the link 51 jQuery.post( ajaxurl, params, function(response) { 52 template_dir = response[1]; 53 54 // Add link to the available links section 55 update_links_list(response[0]); 56 57 // Update menu with new link 58 update_nav_menu( template_dir, 'Link', response[0][0].link_name, response[0][0].link_url, response[0][0].link_id, 0, response[0][0].link_description ); 59 }, 'json'); 60 61 var links = jQuery(this).offsetParent().find('#available-links input:checked'); 62 63 // If links are checked in the available links section, add them to the menu 64 if ( links ) { 65 for (var i = 0; i < links.length; i++) { 66 update_nav_menu( template_dir, 'Link', links[i].name, links[i].value, links[i].id.substring( 5, links[i].id.length ), 0, '' ); 67 }; 68 69 // Reset the checkboxes; 70 jQuery(links).attr('checked', false); 71 }; 72 }); 73 }); 74 75 // Add link to the available links section 76 function update_links_list(e) { 77 var link = '<li><dl><dt><label class="title"><input type="checkbox" id="link-'+ e[0].link_id +'" name="'+ e[0].link_name +'" value="'+ e[0].link_url +'" />'+ e[0].link_name +'</label></dt></dl></li>'; 78 79 // Prepend the link to the available links section 80 jQuery('#available-links .list').prepend( link ); 81 82 // Give feedback to the user 83 jQuery('#available-links .list #link-' + e[0].link_id).parent().animate( { backgroundColor: '#FFFF33' }, { duration: 'fast', complete: function() { jQuery(this).css( 'backgroundColor', '' ); }}); 84 } 85 11 86 /* 87 * Adds the item to the menu 88 * 89 * @param string id - The menu item's id 90 * @param string templatedir - directory of the add, edit, view images. 91 * @param string additemtype - Page, Category, or Custom. 92 * @param string itemtext - menu text. 93 * @param string itemurl - url of the menu. 94 * @param int itemid - menu id. 95 * @param int itemparentid - default 0. 96 * @param string itemdescription - the description of the menu item. 97 */ 98 function update_nav_menu( templatedir, additemtype, itemtext, itemurl, itemid, itemparentid, itemdescription ) { 99 var inputvaluevarname = ''; 100 var inputvaluevarurl = ''; 101 var inputitemid = ''; 102 var inputparentid= ''; 103 var inputdescription = ''; 104 var inputicon = ''; 105 106 if ( additemtype == navMenuL10n.custom ) { 107 inputvaluevarname = htmlentities(itemtext.toString()); 108 inputvaluevarurl = itemurl.toString(); 109 inputitemid = ''; 110 inputparentid = ''; 111 inputlinktype = 'custom'; 112 inputdescription = ''; 113 } else if ( additemtype == navMenuL10n.page ) { 114 inputvaluevarname = htmlentities(itemtext.toString()); 115 inputvaluevarurl = itemurl.toString(); 116 inputitemid = itemid.toString(); 117 inputparentid = '0'; 118 inputlinktype = 'page'; 119 inputdescription = htmlentities(itemdescription.toString()); 120 121 } else if ( additemtype == navMenuL10n.category ) { 122 inputvaluevarname = htmlentities(itemtext.toString()); 123 inputvaluevarurl = itemurl.toString(); 124 inputitemid = itemid.toString(); 125 inputparentid = '0'; 126 inputlinktype = 'category'; 127 inputdescription = htmlentities(itemdescription.toString()); 128 } else { 129 inputvaluevarname = htmlentities(itemtext.toString()); 130 inputvaluevarurl = itemurl.toString(); 131 inputitemid = itemid; 132 inputparentid = ''; 133 inputlinktype = 'custom'; 134 inputdescription = htmlentities(itemdescription.toString()); 135 } 136 137 var count = document.getElementById('custom-nav').getElementsByTagName('li').length + 1; 138 var randomnumber = count; 139 var validatetest = 0; 140 141 try { 142 var test = document.getElementById( 'menu-' + randomnumber.toString() ).value; 143 } 144 catch ( err ) { 145 validatetest = 1; 146 } 147 148 while ( validatetest == 0 ) { 149 randomnumber = randomnumber + 1; 150 try { 151 var test2 = document.getElementById( 'menu-' + randomnumber.toString() ).value; 152 } 153 catch ( err ) { 154 validatetest = 1; 155 } 156 } 157 158 // Adds the item in the queue 159 jQuery('#custom-nav').append('<li id="menu-' + randomnumber + '" value="' + randomnumber + '"><div class="dropzone ui-droppable"></div><dl class="ui-droppable"><dt><span class="title">' + inputvaluevarname + '</span><span class="controls"><span class="type">' + additemtype + '</span><a id="edit' + randomnumber + '" onclick="edititem(' + randomnumber + ')" value="' + randomnumber +'"><img class="edit" alt="Edit Menu Item" title="Edit Menu Item" src="' + templatedir + '/wp-admin/images/ico-edit.png" /></a> <a id="remove' + randomnumber + '" onclick="removeitem(' + randomnumber + ')" value="' + randomnumber +'"><img class="remove" alt="Remove from Custom Menu" title="Remove from Custom Menu" src="' + templatedir + '/wp-admin/images/ico-close.png" /></a> <a href="' + inputvaluevarurl + '" target="_blank"><img alt="View Custom Link" title="View Custom Link" src="' + templatedir + '/wp-admin/images/ico-viewpage.png" /></a></span></dt></dl><a class="hide" href="' + inputvaluevarurl + '">' + inputvaluevarname + '</a><input type="hidden" name="postmenu' + randomnumber + '" id="postmenu' + randomnumber + '" value="' + inputitemid + '" /><input type="hidden" name="parent' + randomnumber + '" id="parent' + randomnumber + '" value="' + inputparentid + '" /><input type="hidden" name="title' + randomnumber + '" id="title' + randomnumber + '" value="' + inputvaluevarname + '" /><input type="hidden" name="linkurl' + randomnumber + '" id="linkurl' + randomnumber + '" value="' + inputvaluevarurl + '" /><input type="hidden" name="description' + randomnumber + '" id="description' + randomnumber + '" value="' + inputdescription + '" /><input type="hidden" name="icon' + randomnumber + '" id="icon' + randomnumber + '" value="' + inputicon + '" /><input type="hidden" name="position' + randomnumber + '" id="position' + randomnumber + '" value="' + randomnumber + '" /><input type="hidden" name="linktype' + randomnumber + '" id="linktype' + randomnumber + '" value="' + inputlinktype + '" /><input type="hidden" name="anchortitle' + randomnumber + '" id="anchortitle' + randomnumber + '" value="' + inputvaluevarname + '" /><input type="hidden" name="newwindow' + randomnumber + '" id="newwindow' + randomnumber + '" value="0" /></li>'); 160 dragAndDrop(); 161 }; 162 163 /** 12 164 * Removes menu items from current menu 165 * 13 166 * @param int o - the id of the menu li to remove. 14 */ 15 function removeitem(o) 16 { 17 167 */ 168 function removeitem( o ) { 18 169 var todelete = document.getElementById('menu-' + o); 19 20 if (todelete) 21 { 170 171 if ( todelete ) { 22 172 var parenttodelete = document.getElementById('menu-' + o).parentNode; 23 173 throwaway_node = parenttodelete.removeChild(todelete); 24 174 } … … 26 176 updatepostdata(); 27 177 }; 28 178 29 /* 179 /** 30 180 * Loads dialog window to edit menu items from current menu 181 * 31 182 * @param int o - the id of the menu li to edit. 32 */ 33 function edititem(o) 34 { 183 */ 184 function edititem( o ) { 185 itemTitle = jQuery('#title' + o).val(); 186 itemURL = jQuery('#linkurl' + o).val(); 187 itemAnchorTitle = jQuery('#anchortitle' + o).val(); 188 itemNewWindow = jQuery('#newwindow' + o).val(); 189 itemDesc = jQuery('#description' + o).val(); 35 190 36 itemTitle = jQuery('#title' + o).val(); 37 itemURL = jQuery('#linkurl' + o).val(); 38 itemAnchorTitle = jQuery('#anchortitle' + o).val(); 39 itemNewWindow = jQuery('#newwindow' + o).val(); 40 itemDesc = jQuery('#description' + o).val(); 191 jQuery('#dialog-confirm').dialog( 'option' , 'itemID' , o ) 41 192 42 jQuery('#dialog-confirm').dialog( 'option' , 'itemID' , o )193 jQuery('#dialog-confirm').dialog('open'); 43 194 44 jQuery('#dialog-confirm').dialog('open'); 45 46 jQuery('#edittitle').val( itemTitle ); 47 if ( 'custom' == jQuery( '#linktype' + o ).val() ) { 48 jQuery( '#editlink-wrap' ).css( 'display', 'inline' ); 49 } else { 50 jQuery( '#editlink-wrap' ).css( 'display', 'none' ); 51 } 52 jQuery('#editlink').val( itemURL ); 53 jQuery('#editanchortitle').val( itemAnchorTitle ); 54 jQuery("#editnewwindow option[value='" + itemNewWindow + "']").attr('selected', 'selected'); 55 jQuery('#editdescription').val( itemDesc ); 56 195 jQuery('#edittitle').val( itemTitle ); 196 if ( 'custom' == jQuery( '#linktype' + o ).val() ) { 197 jQuery( '#editlink-wrap' ).css( 'display', 'inline' ); 198 } else { 199 jQuery( '#editlink-wrap' ).css( 'display', 'none' ); 200 } 201 jQuery('#editlink').val( itemURL ); 202 jQuery('#editanchortitle').val( itemAnchorTitle ); 203 jQuery("#editnewwindow option[value='" + itemNewWindow + "']").attr('selected', 'selected'); 204 jQuery('#editdescription').val( itemDesc ); 57 205 }; 58 206 59 /* 207 /** 60 208 * Prepares menu items for POST 61 */ 62 function updatepostdata() 63 { 64 209 */ 210 function updatepostdata() { 65 211 var i = 0; 212 66 213 jQuery("#custom-nav").find("li").each(function(i) { 67 214 i = i + 1; 68 215 var j = jQuery(this).attr('value'); … … 82 229 jQuery(this).find('#parent' + j).attr('name','parent' + i); 83 230 jQuery(this).find('#parent' + j).attr('id','parent' + i); 84 231 if (p) { 85 //Do nothing 86 } 87 else { 88 //reset p to be top level 232 // Do nothing 233 } else { 234 // reset p to be top level 89 235 p = 0; 90 236 } 91 237 … … 122 268 jQuery('#li-count').attr('value',i); 123 269 124 270 }); 125 126 127 128 271 }; 129 272 130 273 /* 131 * Adds item from Page, Category, or Custom options menu 274 * Queues items in perperation for appendToList 275 * 276 * @param string id - The menu item's id 132 277 * @param string templatedir - directory of the add, edit, view images. 133 278 * @param string additemtype - Page, Category, or Custom. 134 279 * @param string itemtext - menu text. … … 137 282 * @param int itemparentid - default 0. 138 283 * @param string itemdescription - the description of the menu item. 139 284 */ 140 function appendToList(templatedir,additemtype,itemtext,itemurl,itemid,itemparentid,itemdescription) 141 { 285 function updateQueue( templatedir, additemtype, itemtext, itemurl, itemid, itemparentid, itemdescription ) { 142 286 var inputvaluevarname = ''; 143 287 var inputvaluevarurl = ''; 144 288 var inputitemid = ''; … … 146 290 var inputdescription = ''; 147 291 var inputicon = ''; 148 292 149 if (additemtype == navMenuL10n.custom) 150 { 293 if ( additemtype == navMenuL10n.custom ) { 151 294 inputvaluevarname = document.getElementById('custom-menu-item-name').value; 152 295 inputvaluevarurl = document.getElementById('custom-menu-item-url').value; 153 296 inputitemid = ''; 154 297 inputparentid = ''; 155 298 inputlinktype = 'custom'; 156 299 inputdescription = ''; 157 } 158 else if (additemtype == navMenuL10n.page) 159 { 300 } else if ( additemtype == navMenuL10n.page ) { 160 301 inputvaluevarname = htmlentities(itemtext.toString()); 161 302 inputvaluevarurl = itemurl.toString(); 162 303 inputitemid = itemid.toString(); … … 164 305 inputlinktype = 'page'; 165 306 inputdescription = htmlentities(itemdescription.toString()); 166 307 167 } 168 else if (additemtype == navMenuL10n.category) 169 { 308 } else if ( additemtype == navMenuL10n.category ) { 170 309 inputvaluevarname = htmlentities(itemtext.toString()); 171 310 inputvaluevarurl = itemurl.toString(); 172 311 inputitemid = itemid.toString(); 173 312 inputparentid = '0'; 174 313 inputlinktype = 'category'; 175 314 inputdescription = htmlentities(itemdescription.toString()); 176 } 177 else 178 { 315 } else { 179 316 inputvaluevarname = ''; 180 317 inputvaluevarname = ''; 181 318 inputitemid = ''; … … 184 321 inputdescription = ''; 185 322 } 186 323 187 var count=document.getElementById('custom-nav').getElementsByTagName('li').length + 1; 188 324 var count = document.getElementById('custom-nav').getElementsByTagName('li').length + 1; 189 325 var randomnumber = count; 190 191 326 var validatetest = 0; 192 327 193 try 194 { 195 var test=document.getElementById("menu-" + randomnumber.toString()).value; 328 try { 329 var test = document.getElementById( 'menu-' + randomnumber.toString() ).value; 196 330 } 197 catch (err) 198 { 331 catch ( err ) { 199 332 validatetest = 1; 200 333 } 201 334 202 while (validatetest == 0) 203 { 335 while ( validatetest == 0 ) { 204 336 randomnumber = randomnumber + 1; 205 206 try 207 { 208 var test2=document.getElementById("menu-" + randomnumber.toString()).value; 337 try { 338 var test2 = document.getElementById( 'menu-' + randomnumber.toString() ).value; 209 339 } 210 catch (err) 211 { 340 catch ( err ) { 212 341 validatetest = 1; 213 342 } 214 343 } 344 345 // Adds or removes the item from the queue 346 if ( jQuery(menu_item_id = '#menu-item-' + inputitemid).attr('checked') ) { 347 348 // Adds the item in the queue 349 jQuery('#queue').append('<li id="menu-' + randomnumber + '" value="' + randomnumber + '"><div class="dropzone ui-droppable"></div><dl class="ui-droppable"><dt><span class="title">' + inputvaluevarname + '</span><span class="controls"><span class="type">' + additemtype + '</span><a id="edit' + randomnumber + '" onclick="edititem(' + randomnumber + ')" value="' + randomnumber +'"><img class="edit" alt="Edit Menu Item" title="Edit Menu Item" src="' + templatedir + '/wp-admin/images/ico-edit.png" /></a> <a id="remove' + randomnumber + '" onclick="removeitem(' + randomnumber + ')" value="' + randomnumber +'"><img class="remove" alt="Remove from Custom Menu" title="Remove from Custom Menu" src="' + templatedir + '/wp-admin/images/ico-close.png" /></a> <a href="' + inputvaluevarurl + '" target="_blank"><img alt="View Custom Link" title="View Custom Link" src="' + templatedir + '/wp-admin/images/ico-viewpage.png" /></a></span></dt></dl><a class="hide" href="' + inputvaluevarurl + '">' + inputvaluevarname + '</a><input type="hidden" name="postmenu' + randomnumber + '" id="postmenu' + randomnumber + '" value="' + inputitemid + '" /><input type="hidden" name="parent' + randomnumber + '" id="parent' + randomnumber + '" value="' + inputparentid + '" /><input type="hidden" name="title' + randomnumber + '" id="title' + randomnumber + '" value="' + inputvaluevarname + '" /><input type="hidden" name="linkurl' + randomnumber + '" id="linkurl' + randomnumber + '" value="' + inputvaluevarurl + '" /><input type="hidden" name="description' + randomnumber + '" id="description' + randomnumber + '" value="' + inputdescription + '" /><input type="hidden" name="icon' + randomnumber + '" id="icon' + randomnumber + '" value="' + inputicon + '" /><input type="hidden" name="position' + randomnumber + '" id="position' + randomnumber + '" value="' + randomnumber + '" /><input type="hidden" name="linktype' + randomnumber + '" id="linktype' + randomnumber + '" value="' + inputlinktype + '" /><input type="hidden" name="anchortitle' + randomnumber + '" id="anchortitle' + randomnumber + '" value="' + inputvaluevarname + '" /><input type="hidden" name="newwindow' + randomnumber + '" id="newwindow' + randomnumber + '" value="0" /></li>'); 350 } else { 351 352 // Get the item in the queue 353 for ( var i = 0; i < jQuery('#queue li input[name^="postmenu"]').length; i++ ) { 354 if ( itemid == jQuery('#queue li input[name^="postmenu"]')[i].value ) { 355 var menu_queue_id = jQuery('#queue li input[name^="postmenu"]')[i].name.substring( 8, jQuery('#queue li input[name^="postmenu"]')[i].name.length ); 356 }; 357 }; 358 359 // Removes the item from the queue 360 jQuery('#queue li#menu-' + menu_queue_id).remove(); 361 }; 362 }; 215 363 216 //Notification Message 364 /* 365 * Grabs items from the queue and adds them to the menu. 366 * 367 * @param string templatedir - directory of the add, edit, view images. 368 * @param string additemtype - Page, Category, or Custom. 369 * @param string itemtext - menu text. 370 * @param string itemurl - url of the menu. 371 * @param int itemid - menu id. 372 * @param int itemparentid - default 0. 373 * @param string itemdescription - the description of the menu item. 374 */ 375 function addQueuedItemsToMenu( button ) { 376 // Notification Message 217 377 jQuery('.maintitle').after('<div id="message" class="updated fade below-h2"><p>Menu Item added!</p></div>'); 218 378 jQuery('#message').animate({ opacity: 1.0 },2000).fadeOut(300, function(){ jQuery(this).remove();}); 379 380 // Grab items in queue 381 var items = jQuery('#queue').children(); 382 383 // Empty Queue 384 jQuery('#queue').empty(); 385 386 // Appends HTML to the menu 387 jQuery('#custom-nav').append( items ); 388 389 // Uncheck the checkboxes 390 jQuery(button).offsetParent().find('.list-container input').attr('checked', false); 391 392 updatepostdata(); 393 dragAndDrop(); 394 }; 219 395 220 //Appends HTML to the menu 221 jQuery('#custom-nav').append('<li id="menu-' + randomnumber + '" value="' + randomnumber + '"><div class="dropzone ui-droppable"></div><dl class="ui-droppable"><dt><span class="title">' + inputvaluevarname + '</span><span class="controls"><span class="type">' + additemtype + '</span><a id="edit' + randomnumber + '" onclick="edititem(' + randomnumber + ')" value="' + randomnumber +'"><img class="edit" alt="Edit Menu Item" title="Edit Menu Item" src="' + templatedir + '/wp-admin/images/ico-edit.png" /></a> <a id="remove' + randomnumber + '" onclick="removeitem(' + randomnumber + ')" value="' + randomnumber +'"><img class="remove" alt="Remove from Custom Menu" title="Remove from Custom Menu" src="' + templatedir + '/wp-admin/images/ico-close.png" /></a> <a href="' + inputvaluevarurl + '" target="_blank"><img alt="View Custom Link" title="View Custom Link" src="' + templatedir + '/wp-admin/images/ico-viewpage.png" /></a></span></dt></dl><a class="hide" href="' + inputvaluevarurl + '">' + inputvaluevarname + '</a><input type="hidden" name="postmenu' + randomnumber + '" id="postmenu' + randomnumber + '" value="' + inputitemid + '" /><input type="hidden" name="parent' + randomnumber + '" id="parent' + randomnumber + '" value="' + inputparentid + '" /><input type="hidden" name="title' + randomnumber + '" id="title' + randomnumber + '" value="' + inputvaluevarname + '" /><input type="hidden" name="linkurl' + randomnumber + '" id="linkurl' + randomnumber + '" value="' + inputvaluevarurl + '" /><input type="hidden" name="description' + randomnumber + '" id="description' + randomnumber + '" value="' + inputdescription + '" /><input type="hidden" name="icon' + randomnumber + '" id="icon' + randomnumber + '" value="' + inputicon + '" /><input type="hidden" name="position' + randomnumber + '" id="position' + randomnumber + '" value="' + randomnumber + '" /><input type="hidden" name="linktype' + randomnumber + '" id="linktype' + randomnumber + '" value="' + inputlinktype + '" /><input type="hidden" name="anchortitle' + randomnumber + '" id="anchortitle' + randomnumber + '" value="' + inputvaluevarname + '" /><input type="hidden" name="newwindow' + randomnumber + '" id="newwindow' + randomnumber + '" value="0" /></li>'); 222 223 //make menu item draggable 224 jQuery('#menu-' + randomnumber + '').draggable( 225 { 396 function dragAndDrop() { 397 // make menu item draggable 398 jQuery('#custom-nav li').draggable({ 226 399 handle: ' > dl', 227 400 opacity: .8, 228 401 addClasses: false, … … 230 403 zIndex: 100 231 404 }); 232 405 233 // make menu item droppable234 jQuery('# menu-' + randomnumber + ' dl, #menu-' + randomnumber + '.dropzone').droppable({235 accept: '# ' + randomnumber + ', #custom-nav li',406 // make menu item droppable 407 jQuery('#custom-nav li dl, #custom-nav li .dropzone').droppable({ 408 accept: '#custom-nav li', 236 409 tolerance: 'pointer', 237 drop: function(e, ui) 238 { 410 drop: function(e, ui) { 239 411 var li = jQuery(this).parent(); 240 412 var child = !jQuery(this).hasClass('dropzone'); 241 //Append UL to first child242 if (child && li.children('ul').length == 0)243 {244 li.append( '<ul/>');413 414 // Append UL to first child 415 if ( child && li.children('ul').length == 0 ) { 416 li.append( '<ul/>' ); 245 417 } 246 //Make it draggable 247 if (child) 248 { 249 li.children('ul').append(ui.draggable); 418 // Make it draggable 419 if ( child ) { 420 li.children('ul').append( ui.draggable ); 421 } else { 422 li.before( ui.draggable ); 250 423 } 251 else252 {253 li.before(ui.draggable);254 }255 424 256 425 li.find('dl,.dropzone').css({ backgroundColor: '', borderColor: '' }); 257 426 258 427 var draggablevalue = ui.draggable.attr('value'); 259 var droppablevalue = li.attr('value'); 260 li.find('#menu-' + draggablevalue).find('#parent' + draggablevalue).val(droppablevalue); 261 jQuery(this).parent().find("dt").removeAttr('style'); 262 jQuery(this).parent().find("div:first").removeAttr('style'); 428 var droppablevalue = li.attr('value'); 429 430 li.find('#menu-' + draggablevalue).find('#parent' + draggablevalue).val(droppablevalue); 431 jQuery(this).parent().find("dt").removeAttr('style'); 432 jQuery(this).parent().find("div:first").removeAttr('style'); 263 433 264 434 }, 265 over: function() 266 { 267 //Add child 268 if (jQuery(this).attr('class') == 'dropzone ui-droppable') 269 { 435 over: function() { 436 // Add child 437 if ( jQuery(this).attr('class') == 'dropzone ui-droppable' ) { 270 438 jQuery(this).parent().find("div:first").css('background', 'none').css('height', '50px'); 271 439 } 272 //Add above 273 else if (jQuery(this).attr('class') == 'ui-droppable') 274 { 440 // Add above 441 else if ( jQuery(this).attr('class') == 'ui-droppable' ) { 275 442 jQuery(this).parent().find("dt:first").css('background', '#d8d8d8'); 443 } else { 444 // do nothing 276 445 } 277 //do nothing278 else {279 280 }281 446 var parentid = jQuery(this).parent().attr('id'); 282 447 283 448 }, 284 out: function() 285 { 449 out: function() { 286 450 jQuery(this).parent().find("dt").removeAttr('style'); 287 451 jQuery(this).parent().find("div:first").removeAttr('style'); 288 452 jQuery(this).filter('.dropzone').css({ borderColor: '' }); 289 453 } 290 }); 291 292 updatepostdata(); 293 }; 294 No newline at end of file 454 } 455 ); 456 } 457 No newline at end of file -
wp-admin/nav-menus.php
38 38 $updated = false; 39 39 $advanced_option_descriptions = 'no'; 40 40 41 // Create the a link_category term to store all custom links 42 if ( !is_term( __('Custom Menu Links'), 'link_category' ) ) { 43 wp_create_term( __('Custom Menu Links'), 'link_category' ); 44 } 45 46 // Get all Custom Menu Links 47 $custom_menu_links = get_bookmarks( array( 'category_name' => __('Custom Menu Links') ) ); 48 41 49 // Check which menu is selected and if menu is in edit already 42 50 if ( isset( $_GET['edit-menu'] ) ) { 43 51 $menu_selected_id = (int) $_GET['edit-menu']; … … 164 172 <?php echo $messages_div; ?> 165 173 <div class="hide-if-js error"><p><?php _e('You do not have JavaScript enabled in your browser. Please enable it to access the Menus functionality.'); ?></p></div> 166 174 167 168 <form onsubmit="updatepostdata()" action="<?php echo admin_url( 'nav-menus.php' ); ?>" method="post" enctype="multipart/form-data"> 175 <form onsubmit="updatepostdata();" action="<?php echo admin_url( 'nav-menus.php' ); ?>" method="post" enctype="multipart/form-data"> 169 176 <?php if ( ! empty( $custom_menus ) && count( $custom_menus ) > 1 ) : ?> 170 177 <ul class="subsubsub"> 171 178 <?php … … 201 208 <h3 class="hndle"><?php esc_html_e('Add a Custom Link'); ?></h3> 202 209 <div class="inside"> 203 210 204 <p class="howto"><label for="custom-menu-item-url">< input id="custom-menu-item-url" type="text" class="widefat code" value="http://" /><?php _e('URL'); ?></label></p>211 <p class="howto"><label for="custom-menu-item-url"><span style="padding-right: 8px;"><?php _e('URL'); ?></span><input id="custom-menu-item-url" type="text" class="code" value="http://" /></label></p> 205 212 206 213 <?php $template_dir = get_bloginfo('url'); ?> 207 214 <input type="hidden" id="template-dir" value="<?php echo esc_attr($template_dir); ?>" /> 208 215 209 <p class="howto"><label for="custom-menu-item-name">< input id="custom-menu-item-name" type="text" class="widefat regular-text" value="<?php echo esc_attr( __('Menu Item') ); ?>" /><?php _e('Text'); ?></label></p>216 <p class="howto"><label for="custom-menu-item-name"><span><?php _e('Text'); ?></span><input id="custom-menu-item-name" type="text" class="regular-text" value="<?php echo esc_attr( __('Menu Item') ); ?>" /></label></p> 210 217 211 218 <label class="howto" for="custom_menu_item_description" <?php if ($advanced_option_descriptions == 'no') { ?>style="display:none;"<?php } ?>> 212 219 <input id="custom_menu_item_description" type="text" class="widefat regular-text" value="<?php esc_attr_e('A description'); ?>" <?php if ($advanced_option_descriptions == 'no') { ?>style="display:none;"<?php } ?> onfocus="jQuery('#custom_menu_item_description').attr('value','');" /> … … 215 222 216 223 <?php if ( 'no' != $advanced_option_descriptions ) { echo '<br />'; } ?> 217 224 218 <a class="addtomenu button" onclick="appendToList('<?php echo $template_dir; ?>','<?php echo esc_js( _x('Custom', 'menu nav item type') ); ?>','','','','0','');jQuery('#custom-menu-item-name').attr('value','<?php echo esc_js( __('Menu Item') ); ?>');jQuery('#custom_menu_item_description').attr('value','<?php echo esc_js( __('A description') ); ?>');"><?php _e('Add Link'); ?></a> 225 <?php if ( $custom_menu_links ) : ?> 226 <p id="add-buttons-actions" class="buttons-actions"> 227 <a class="show-all button"><?php _e('View All'); ?></a> 228 <a class="hide-all button"><?php _e('Hide All'); ?></a> 229 </p> 230 <?php endif; ?> 231 <?php if ( $custom_menu_links ) : ?> 232 <div id="available-links" class="list-wrap"> 233 <div class="list-container"> 234 <ul class="list"> 235 <?php 236 foreach ( $custom_menu_links as $link ) : ?> 237 <li> 238 <dl> 239 <dt> 240 <label class="title"><input type="checkbox" id="link-<?php echo esc_attr($link->link_id); ?>" name="<?php echo esc_attr($link->link_name); ?>" value="<?php echo esc_attr($link->link_url); ?>" /><?php echo esc_html($link->link_name); ?></label> 241 </dt> 242 </dl> 243 </li> 244 <?php 245 endforeach; 246 ?> 247 </ul> 248 </div><!-- /.list-container--> 249 </div><!-- /#available-links--> 250 <?php endif; ?> 251 <p id="add-create-link" class="buttons-actions"><a class="button"><?php _e('Add'); ?></a></p> 219 252 <br class="clear" /> 220 253 </div><!-- /.inside--> 221 254 </div><!-- /#add-custom-link--> … … 226 259 <div class="inside"> 227 260 <?php 228 261 $pages_args = array( 229 'child_of' => 0, 230 'sort_order' => 'ASC', 231 'sort_column' => 'post_title', 232 'hierarchical' => 1, 233 'exclude' => '', 234 'include' => '', 235 'meta_key' => '', 236 'meta_value' => '', 237 'authors' => '', 238 'parent' => -1, 239 'exclude_tree' => '', 240 'number' => '', 241 'offset' => 0 262 'child_of' => 0, 'sort_order' => 'ASC', 'sort_column' => 'post_title', 'hierarchical' => 1, 263 'exclude' => '', 'include' => '', 'meta_key' => '', 'meta_value' => '', 'authors' => '', 264 'parent' => -1, 'exclude_tree' => '', 'number' => '', 'offset' => 0 242 265 ); 243 266 $page_name = ''; 244 267 $pages_array = get_pages($pages_args); … … 252 275 ?> 253 276 <script type="text/javascript" charset="<?php bloginfo('charset'); ?>"> 254 277 jQuery(document).ready(function(){ 255 var posts = "<?php echo esc_js( $page_name ); ?>".split( "|");256 jQuery( "#page-search").autocomplete(posts);257 jQuery( "#page-search").result(function(event, data, formatted) {258 jQuery('# existing-pages').css('display','block');259 jQuery("# existing-pages dt:contains('" + data + "')").css("display", "block");260 jQuery('# show-pages').hide();261 jQuery('# hide-pages').show();278 var posts = "<?php echo esc_js( $page_name ); ?>".split('|'); 279 jQuery('#add-pages .quick-search').autocomplete(posts); 280 jQuery('#add-pages .quick-search').result(function(event, data, formatted) { 281 jQuery('#add-pages .list-container').css('display','block'); 282 jQuery("#add-pages .list-container dt:contains('" + data + "')").css('display','block'); 283 jQuery('#add-pages .show-all').hide(); 284 jQuery('#add-pages .hide-all').show(); 262 285 }); 263 jQuery('#existing-pages').css('display','none');264 286 }); 265 287 </script> 266 <input type="text" onfocus="jQuery('#page-search').attr('value','');" id="page-search" class="regular-text" value="<?php esc_attr_e('Search Pages'); ?>" /> 267 268 <a id="show-pages" style="cursor:pointer;" onclick="jQuery('#existing-pages').css('display','block');jQuery('#page-search').attr('value','');jQuery('#existing-pages dt').css('display','block');jQuery('#show-pages').hide();jQuery('#hide-pages').show();"><?php _e('View All'); ?></a> 269 <a id="hide-pages" style="cursor:pointer;" onclick="jQuery('#existing-pages').css('display','none');jQuery('#page-search').attr('value','Search Pages');jQuery('#existing-pages dt').css('display','none');jQuery('#show-pages').show();jQuery('#hide-pages').hide();"><?php _e('Hide All'); ?></a> 270 271 <script type="text/javascript"> 272 jQuery('#hide-pages').hide(); 273 </script> 288 <p class="buttons-actions"> 289 <input type="text" class="quick-search regular-text" value="<?php esc_attr_e('Search Pages'); ?>" /> 290 <a class="show-all button"><?php _e('View All'); ?></a> 291 <a class="hide-all button"><?php _e('Hide All'); ?></a> 292 </p> 274 293 275 276 <div id="existing-pages" class="list-container"> 277 <ul class="list"> 278 <?php $items_counter = wp_nav_menu_get_pages( 0,'default' ); ?> 279 </ul> 280 </div><!-- /.list-container--> 294 <div id="existing-pages" class="list-wrap"> 295 <div class="list-container"> 296 <ul class="list"> 297 <?php $items_counter = wp_nav_menu_get_pages( 0,'default' ); ?> 298 </ul> 299 </div><!-- /.list-container--> 300 <p class="submit"><a class="button" onclick="addQueuedItemsToMenu(this);">Add</a></p> 301 </div><!-- /#existing-pages--> 281 302 <br class="clear" /> 282 303 </div><!-- /.inside--> 283 304 </div><!--END #add-pages--> … … 311 332 ?> 312 333 <script type="text/javascript" charset="<?php bloginfo('charset'); ?>"> 313 334 jQuery(document).ready(function(){ 314 var categories = "<?php echo esc_js($cat_name); ?>".split( "|");315 jQuery( "#cat-search").autocomplete(categories);316 jQuery( "#cat-search").result(function(event, data, formatted) {317 jQuery('# existing-categories').css('display','block');318 jQuery("# existing-categories dt:contains('" + data + "')").css("display", "block");319 jQuery('# show-cats').hide();320 jQuery('# hide-cats').show();335 var categories = "<?php echo esc_js($cat_name); ?>".split('|'); 336 jQuery('#add-categories .quick-search').autocomplete(categories); 337 jQuery('#add-categories .quick-search').result(function(event, data, formatted) { 338 jQuery('#add-categories .list-container').css('display','block'); 339 jQuery("#add-categories .list-container dt:contains('" + data + "')").css('display','block'); 340 jQuery('#add-categories .show-all').hide(); 341 jQuery('#add-categories .hide-all').show(); 321 342 }); 322 jQuery('#existing-categories').css('display','none');323 343 }); 324 344 </script> 325 326 <input type="text" onfocus="jQuery('#cat-search').attr('value','');" id="cat-search" class="regular-text" value="<?php esc_attr_e('Search Categories'); ?>" /> 327 328 <a id="show-cats" style="cursor:pointer;" onclick="jQuery('#existing-categories').css('display','block');jQuery('#cat-search').attr('value','');jQuery('#existing-categories dt').css('display','block');jQuery('#show-cats').hide();jQuery('#hide-cats').show();"><?php _e('View All'); ?></a> 329 <a id="hide-cats" style="cursor:pointer;" onclick="jQuery('#existing-categories').css('display','none');jQuery('#cat-search').attr('value','Search Categories');jQuery('#existing-categories dt').css('display','none');jQuery('#show-cats').show();jQuery('#hide-cats').hide();"><?php _e('Hide All'); ?></a> 330 331 <script type="text/javascript"> 332 jQuery('#hide-cats').hide(); 333 </script> 334 335 <div id="existing-categories" class="list-container"> 336 <ul class="list"> 337 <?php $items_counter = wp_nav_menu_get_categories( $items_counter, 'default' ); ?> 338 </ul> 339 </div><!-- /.list-container--> 345 <p class="buttons-actions"> 346 <input type="text" class="quick-search regular-text" value="<?php esc_attr_e('Search Categories'); ?>" /> 347 <a class="show-all button"><?php _e('View All'); ?></a> 348 <a class="hide-all button"><?php _e('Hide All'); ?></a> 349 </p> 350 351 <div id="existing-categories" class="list-wrap"> 352 <div class="list-container"> 353 <ul class="list"> 354 <?php $items_counter = wp_nav_menu_get_categories( $items_counter, 'default' ); ?> 355 </ul> 356 </div><!-- /.list-container--> 357 <p class="submit"><a class="button" onclick="addQueuedItemsToMenu(this);">Add</a></p> 358 </div><!-- /#existing-categories--> 340 359 <br class="clear" /> 341 360 </div><!-- /.inside--> 342 361 </div><!--END #add-categories--> … … 361 380 } 362 381 ?> 363 382 </ul><!-- /#custom-nav--> 383 384 <div id="queue" class="hide"> 385 </div><!--/#queue--> 364 386 </div><!-- /.inside --> 365 387 <!-- /#nav-menu-canvas .postbox--> 366 388 </div> … … 368 390 <script type="text/javascript"> 369 391 updatepostdata(); 370 392 </script> 371 <input id="save_bottom" name="save_bottom" type="submit" value="<?php esc_attr_e('Save All Changes'); ?>" />372 <input id="delete-menu" name="delete-menu" type="submit" value="<?php esc_attr_e('Delete This Menu'); ?>" />393 <input class="button-primary" id="save_bottom" name="save_bottom" type="submit" value="<?php esc_attr_e('Save All Changes'); ?>" /> 394 <input class="delete" id="delete-menu" name="delete-menu" type="submit" value="<?php esc_attr_e('Delete This Menu'); ?>" /> 373 395 </p> 374 396 375 397 <?php else : ?> … … 395 417 </span> 396 418 <span id="editdescription-wrap"> 397 419 <input id="editdescription" type="text" name="editdescription" value="" <?php if ($advanced_option_descriptions == 'no') { ?>style="display:none;"<?php } ?> /><label class="editlabel" for="editdescription" <?php if ($advanced_option_descriptions == 'no') { ?>style="display:none;"<?php } ?> ><?php _e('Description'); ?></label><br /></span> 398 </div> 420 </div><!-- /#dialog-confirm--> 399 421 400 422 <?php 401 423 -
wp-admin/css/nav-menu.css
1 .maintitle{margin:0 0 20px 0!important;}.logo{vertical-align:middle;margin:0 10px 0 0;}h2.heading{margin:32px 0 10px 0;}.checkboxes{float:right;margin:10px 12px 0 0;}#menus-container{clear:both;}#nav-container .inside{padding:0 10px 10px;}#menus-container .submit{padding:0;}#menu-settings-column .inside{padding:10px;}#custom-nav ul{width:100%;}#custom-nav li{margin:0;}.ui-draggable-dragging{width:500px;}#custom-nav li dl dt{-webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border:1px solid #E6E6E6;position:relative;padding-left:10px;background-color:#f1f1f1;height:35px;line-height:35px;}#custom-nav li dl dt:hover{cursor:move;}#custom-nav li dl dt .controls{position:absolute;right:15px;top:-1px;}#custom-nav li dl dt img{vertical-align:middle;}#custom-nav li .title{background:url(../images/ico-arrow.png) no-repeat 4px 5px;background-position:center left;padding-left:15px;}#custom-nav li ul li{margin-left:20px;opacity:.7;}#custom-nav li ul li ul li{opacity:.9;}#custom-nav li ul li ul li ul li{opacity:.9;}#custom-nav li ul li ul li ul li ul li{opacity:.95;} #add-custom-link .howto{font-size:11px;}#add-custom-link .widefat{width:85%;margin-right:5px;}.list-container{max-height:203px;overflow-y:auto;padding-left:2px;padding-right:5px;}.list{zoom:1;}.list li{margin:0;}.list dt{display:none;margin:0;border-bottom:1px solid #e3e3e3;overflow:hidden;}.list dt{background:url(../images/ico-add.png) no-repeat right;}.list li .title{cursor:pointer;display:block;width:95%;padding:5px 0;}.list li .title{background:url(../images/ico-arrow.png) no-repeat 4px 13px;background-position:center left;padding-left:5%;}.list li ul li .title{margin-left:14px;}.list li ul li ul li .title{margin-left:28px;}.list li ul li ul li ul li .title{margin-left:42px;}.list li ul li ul li ul li ul li .title{margin-left:56px;}.list li ul li ul li ul li ul li ul li .title{margin-left:70px;}.list li ul li ul li ul li ul li ul li ul li .title{margin-left:84px;}.list li ul li ul li ul li ul li ul li ul li ul li .title{margin-left:98px;}.list li ul li ul li ul li ul li ul li ul li ul li ul li .title{margin-left:112px;}img.remove,img.edit{cursor:pointer;margin:0 5px 0 0;}.dropzone{height:7px;margin:3px 0 3px 0;}.hide{display:none;}.type{text-transform:uppercase;font-size:11px;color:#999;padding-right:10px;}#menu_select{width:170px;}#dialog-confirm label{padding-left:10px;}.ui-dialog{background:#fff;border:1px solid #555;-moz-box-shadow:0 4px 30px #000;}.ui-dialog-titlebar{color:#CFCFCF;font-family:"Lucida Grande",Verdana,Arial,sans-serif;padding:6px 10px 6px;background-color:#222!important;border:none!important;-moz-border-radius:none!important;}#dialog-confirm{height:168px!important;padding:20px 10px 10px;}#dialog-confirm input{margin:0 0 15px 0;width:280px;}#dialog-confirm select{margin:0 0 15px 0;}.ui-dialog-buttonpane{padding:10px;}.ui-dialog-buttonpane button{margin:0 10px 0 0;background:#F2F2F2;text-shadow:0 1px 0 #FFF;border-color:#BBB;color:#464646;-moz-border-radius-bottomleft:11px;-moz-border-radius-bottomright:11px;-moz-border-radius-topleft:11px;-moz-border-radius-topright:11px;border-style:solid;border-width:1px;cursor:pointer;font-size:11px!important;line-height:14px;padding:2px 8px;text-decoration:none;}.ui-dialog-buttonpane button:hover{color:#000;border-color:#666;}.ui-icon{display:none;}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.60;filter:Alpha(Opacity=60);}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.60;filter:Alpha(Opacity=60);-moz-border-radius:8px;-webkit-border-radius:8px;}2 No newline at end of file 1 .maintitle{margin:0 0 20px 0!important;}.logo{vertical-align:middle;margin:0 10px 0 0;}h2.heading{margin:32px 0 10px 0;}.checkboxes{float:right;margin:10px 12px 0 0;}#menus-container{clear:both;}#nav-container .inside{padding:0 10px 10px;}#menus-container .submit{padding:0;}#menu-settings-column .inside{padding:10px;}#custom-nav ul{width:100%;}#custom-nav li{margin:0;}.ui-draggable-dragging{width:500px;}#custom-nav li dl dt{-webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border:1px solid #E6E6E6;position:relative;padding-left:10px;background-color:#f1f1f1;height:35px;line-height:35px;}#custom-nav li dl dt:hover{cursor:move;}#custom-nav li dl dt .controls{position:absolute;right:15px;top:-1px;}#custom-nav li dl dt img{vertical-align:middle;}#custom-nav li .title{background:url(../images/ico-arrow.png) no-repeat 4px 5px;background-position:center left;padding-left:15px;}#custom-nav li ul li{margin-left:20px;opacity:.7;}#custom-nav li ul li ul li{opacity:.9;}#custom-nav li ul li ul li ul li{opacity:.9;}#custom-nav li ul li ul li ul li ul li{opacity:.95;}p .button{float:right;}#add-buttons-actions{float:left;}#add-create-link{float:right;}.buttons-actions{margin:0;}#available-links{margin:15px 0 0;}#available-links dt{display:block;}#add-custom-link .howto{font-size:11px;}#add-custom-link label span{padding-right:5px;}#custom-menu-item-url,#custom-menu-item-name{width:227px;}.show-all,.hide-all{cursor:pointer;}.hide-all{display:none;}.list-wrap{display:none;clear:both;}.list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px;border:1px solid #DFDFDF;margin:10px 0 10px;-moz-border-radius:4px;}.postbox p.submit{margin-bottom:0;}.list{zoom:1;}.list li{margin:0;}.list dt{display:none;margin:0;overflow:hidden;margin-bottom:5px;}.list li .title{cursor:pointer;display:block;}.list li .title input{margin-right:3px;margin-top:-3px;}.list li ul li .title{margin-left:14px;}.list li ul li ul li .title{margin-left:28px;}.list li ul li ul li ul li .title{margin-left:42px;}.list li ul li ul li ul li ul li .title{margin-left:56px;}.list li ul li ul li ul li ul li ul li .title{margin-left:70px;}.list li ul li ul li ul li ul li ul li ul li .title{margin-left:84px;}.list li ul li ul li ul li ul li ul li ul li ul li .title{margin-left:98px;}.list li ul li ul li ul li ul li ul li ul li ul li ul li .title{margin-left:112px;}img.remove,img.edit{cursor:pointer;margin:0 5px 0 0;}.dropzone{height:7px;margin:3px 0 3px 0;}.hide{display:none;}.type{text-transform:uppercase;font-size:11px;color:#999;padding-right:10px;}#menu_select{width:170px;}#dialog-confirm label{padding-left:10px;}.ui-dialog{background:#fff;border:1px solid #555;-moz-box-shadow:0 4px 30px #000;}.ui-dialog-titlebar{color:#CFCFCF;font-family:"Lucida Grande",Verdana,Arial,sans-serif;padding:6px 10px 6px;background-color:#222!important;border:none!important;-moz-border-radius:none!important;}#dialog-confirm{height:168px!important;padding:20px 10px 10px;}#dialog-confirm input{margin:0 0 15px 0;width:280px;}#dialog-confirm select{margin:0 0 15px 0;}.ui-dialog-buttonpane{padding:10px;}.ui-dialog-buttonpane button{margin:0 10px 0 0;background:#F2F2F2;text-shadow:0 1px 0 #FFF;border-color:#BBB;color:#464646;-moz-border-radius-bottomleft:11px;-moz-border-radius-bottomright:11px;-moz-border-radius-topleft:11px;-moz-border-radius-topright:11px;border-style:solid;border-width:1px;cursor:pointer;font-size:11px!important;line-height:14px;padding:2px 8px;text-decoration:none;}.ui-dialog-buttonpane button:hover{color:#000;border-color:#666;}.ui-icon{display:none;}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.60;filter:Alpha(Opacity=60);}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.60;filter:Alpha(Opacity=60);-moz-border-radius:8px;-webkit-border-radius:8px;} 2 No newline at end of file -
wp-admin/css/nav-menu.dev.css
32 32 #custom-nav li ul li ul li ul li { opacity: .9;} 33 33 #custom-nav li ul li ul li ul li ul li { opacity: .95; } 34 34 35 p .button { float: right; } 36 37 /* Custom Links */ 38 #add-buttons-actions { float: left; } 39 #add-create-link { float: right; } 40 41 .buttons-actions { margin: 0; } 42 43 #available-links { margin: 15px 0px 0px; } 44 #available-links dt { display: block; } 35 45 #add-custom-link .howto { font-size: 11px; } 36 #add-custom-link .widefat { width: 85%; margin-right: 5px; } 46 #add-custom-link label span { padding-right: 5px; } 47 #custom-menu-item-url, #custom-menu-item-name { width: 227px; } 37 48 38 .list-container { max-height: 203px; overflow-y: auto; padding-left: 2px; padding-right: 5px; } 49 /* Pages/Categories */ 50 .show-all, .hide-all { cursor: pointer; } 51 .hide-all { display: none; } 52 .quick-search { } 39 53 54 .list-wrap { display: none; clear: both; } 55 56 .list-container { max-height: 200px; overflow-y: auto; padding: 10px 10px 5px; border: 1px solid #DFDFDF; margin: 10px 0px 10px; -moz-border-radius: 4px; } 57 58 .postbox p.submit { margin-bottom: 0; } 59 40 60 .list { zoom: 1; } 41 61 .list li { margin: 0; } 42 .list dt { display: none; margin: 0; border-bottom: 1px solid #e3e3e3; overflow: hidden; } 43 .list dt { background: url(../images/ico-add.png) no-repeat right; } 62 .list dt { display: none; margin: 0; overflow: hidden; margin-bottom: 5px; } 44 63 45 .list li .title { cursor: pointer; display: block; width: 95%; padding: 5px 0px;}46 .list li .title { background: url(../images/ico-arrow.png) no-repeat 4px 13px; background-position: center left; padding-left: 5%; }64 .list li .title { cursor: pointer; display: block; } 65 .list li .title input { margin-right: 3px; margin-top: -3px; } 47 66 48 67 /* Visually shows the menu item hierarchy. */ 49 68 .list li ul li .title { margin-left: 14px; }