[rt-users] RTFM WikiText Format Toolbar

Miguel A. Rivera Rivera migrivera at centennialpr.com
Tue Dec 18 23:57:09 EST 2007


Wanted to integrate a simple way to format the "WikiText" Custom field in RTFM.

------------------------------------------------------------------------

Copy: /opt/rt3/share/html/Elements/EditCustomFieldWikitext to
      /opt/rt3/local/html/Elements/EditCustomFieldWikitext
Edit: /opt/rt3/local/html/Elements/EditCustomFieldWikitext

Add before "% while": 

% my $wiki_textarea_value = $NamePrefix .$CustomField->id .'-Values';

% my $wiki_format_toolbar = qq(
% <div>
% <input type=button onclick="javascript:lbc(event,'$wiki_textarea_value','bold');" style="font-weight: bold;" value="B">
% <input type=button onclick="javascript:lbc(event,'$wiki_textarea_value','italic');" style="font-weight: bold;" value="I">
% <input type=button onclick="javascript:lbc(event,'$wiki_textarea_value','bold_italic');" style="font-weight: bold;font-style: italic;" value="BI">
% <input type=button onclick="javascript:lbc(event,'$wiki_textarea_value','heading');" value="H1">
% <input type=button onclick="javascript:lbc(event,'$wiki_textarea_value','subheading');" value="H2">
% <input type=button onclick="javascript:lbc(event,'$wiki_textarea_value','subsubheading');" value="H3">
% <input type=button onclick="javascript:lbc(event,'$wiki_textarea_value','list');" value="List">
% <input type=button onclick="javascript:lbc(event,'$wiki_textarea_value','link');" value="Link">
% </div>
% );

% print $wiki_format_toolbar;

Add in both "textarea" tags:

<textarea ... id="<%$NamePrefix%><%$CustomField->Id%>-Values">...</textarea>

------------------------------------------------------------------------

Copy: /opt/rt3/share/html/RTFM/Article/Edit.html to
      /opt/rt3/local/html/RTFM/Article/Edit.html

Add before "form":

<script type="text/javascript"> 

function lbc(e, objname, theTag) { 
	var el = document.getElementById(objname);
	
	var enclosingTag;
	var spaceTag = '\ ';
	
	if(theTag == 'bold'){
		startTag = '\'\'\'';
		endTag = '\'\'\'';
		spaceTag = '';
	}
	if(theTag == 'italic'){
		startTag = '\'\'';
		endTag = '\'\'';
		spaceTag = '';
	}
	if(theTag == 'bold_italic'){
		startTag = '\'\'\'\'\'';
		endTag = '\'\'\'\'\'';
		spaceTag = '';
	}
	if(theTag == 'heading'){
		startTag = '=';
		endTag = '=';
	}
	if(theTag == 'subheading'){
		startTag = '==';
		endTag = '==';
	}
	if(theTag == 'subsubheading'){
		startTag = '=====';
		endTag = '=====';
	}
	if(theTag == 'link'){
		startTag = '[';
		endTag = ']';
	}
	if(theTag == 'list'){
		startTag = '\ \ \ \ *\ ';
		endTag = '';
	}

	if (el.setSelectionRange) { 

		//Mozilla or FireFox Code 

		var st = el.scrollTop; 
		var ss = el.selectionStart; 
		var se = e.selectionEnd; 
		el.value = el.value.substring(0,el.selectionStart) + startTag + spaceTag + el.value.substring(el.selectionStart,el.selectionEnd) + spaceTag + endTag + el.value.substring(el.selectionEnd,el.value.length); 
		el.selectionStart = ss; 
		el.selectionEnd = ss; 
		el.scrollTop = st; 
	} 
	else if (document.selection && document.selection.createRange) { 
		
		//Internet Explorer Code 
		
		el.focus(); //Makes sure tags are being added to the textarea 
		var range = document.selection.createRange(); 
		range.text = startTag + spaceTag + range.text + spaceTag + endTag; //Adds beginning and end tags. 
	} 
	el.focus(); 
} 

</script>

------------------------------------------------------------------------

Miguel Rivera

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20071219/ca55531b/attachment.htm>


More information about the rt-users mailing list