1/* Right Context Menu configuration for authenticated users: 2 Menu is built from four array items: title, link, show if page or headpage, show if namespace. 3 Link is not created if it's 0, otherwise it's evaluated. 4 Second array is displayed only in edit mode. 5 6 Some usefull variables: 7 node.hns = headpage id; 8 node.isdir = node is namespace; 9 node.dokuid = the DW id (namespace parent in case of headpage); 10 id = the DW id of the selected node (headpage id in case of headpage); 11 this.config.urlbase = Url Base; 12 this.config.sepchar = Url separator; 13*/ 14 15var indexmenu_contextmenu=new Array( 16 //Standard right menu 17 new Array( 18 '<b><em>Page action:</em></b>',0,1,0, 19 '<b><em>Namespace action:</em></b>',0,0,1, 20 'New page here','"javascript: indexmenu_reqpage(\'"+this.config.urlbase+"\',\'"+this.config.sepchar+"\',\'"+node.dokuid+"\');"',1,1, 21 'Headpage here','"javascript: indexmenu_reqpage(\'"+this.config.urlbase+"\',\'"+this.config.sepchar+"\',\'"+node.dokuid+"\',\'"+node.name+"\');"',0,1, 22 'Edit','indexmenu_getid(this.config.urlbase,id)+"do=edit"',1,0, 23 'Search','"javascript: indexmenu_srchpage(\'"+this.config.urlbase+"\',\'"+this.config.sepchar+"\',\'"+node.isdir+"\',\'"+node.dokuid+"\');"',1,1, 24 'Toc preview','"javascript: indexmenu_createTocMenu(\'req=toc&id="+id+"\',\'picker_"+this.obj+"\',\'s"+this.obj+node.id+"\');"',1,0, 25 'Revisions','indexmenu_getid(this.config.urlbase,id)+"do=revisions"',1,0 26 ), 27 28 //Right menu in edit mode. 29 new Array( 30 '<b><em>Edit action:</em></b>',0,1,0, 31 'Insert as DWlink','"javascript: indexmenu_insertTags(\'"+id+"\',\'"+this.config.sepchar+"\');"+this.obj+".divdisplay(\'r\',0);"',1,0 32 ) 33 ); 34 35/*Custom User Functions 36Insert your custom functions here. 37*/ 38function indexmenu_reqpage(b,s,id,n) { 39 var r,u=b; 40 if (n) { 41 r = id + s + n; 42 } else { 43 r = prompt("Insert the pagename to create",""); 44 if (!r) {return;} 45 r = id + s + r; 46 } 47 if (r) window.location.href = indexmenu_getid(u,r)+"do=edit"; 48} 49 50function indexmenu_srchpage(u,s,isdir,nid) { 51 var r = prompt("Insert keyword(s) to search for within this namespace",""); 52 if (r) 53 { 54 var fnid = nid; 55 if (isdir == "0") { 56 fnid = fnid.substring(0,nid.lastIndexOf(s)); 57 } 58 var b=u,re = new RegExp(s, 'g'); 59 fnid = fnid.replace(re, ":"); 60 b += (u.indexOf("?id=") < 0) ? '?id=': ''; 61 window.location.href = indexmenu_getid(b,r+" @"+fnid)+"do=search"; 62 } 63} 64 65function indexmenu_getid(u,id) { 66 var url=(u||'')+encodeURI(id||''); 67 url += (u.indexOf("?") < 0) ? '?': '&'; 68 return url; 69}