MediaWiki:Gadget-wikEd.js: Difference between revisions
Jump to navigation
Jump to search
imported>Scott No edit summary |
imported>Scott No edit summary |
||
Line 22: | Line 22: | ||
// Define custom button shortcut. | // Define custom button shortcut. | ||
var wikEdButtonKey = { | var wikEdButtonKey = { | ||
100: ['t',84 ] // shift-alt-t: "<tt>" button shortcut | 100: ['t',84 ], // shift-alt-t: "<tt>" button shortcut | ||
101: ['p',90 ] // shift-alt-p: "<pre>" button shortcut | 101: ['p',90 ] // shift-alt-p: "<pre>" button shortcut | ||
} | } | ||
Line 83: | Line 83: | ||
else { | else { | ||
obj.changed.plain = '<pre>' + obj.changed.plain + '</pre>'; | obj.changed.plain = '<pre>' + obj.changed.plain + '</pre>'; | ||
obj. | obj.cha | ||
Revision as of 10:05, 14 October 2008
// <pre><nowiki>
// _________________________________________________________________________________________
// | |
// | === WARNING: GLOBAL GADGET FILE === |
// | Changes to this page affect many users. |
// | Please discuss changes on the talk page or on [[Wikipedia_talk:Gadget]] before editing. |
// |_________________________________________________________________________________________|
//
// Imported from version 0.9.64f as of August 2, 2008, 2008, from [[User:Cacycle/wikEd.js]]
// wikEd is a full-featured in-browser editor for Wikipedia, see [[User:Cacycle/wikEd]]
// gadget-specific customization of wikEd:
// define custom buttons (id, class, popup title, image src, width, height, alt text, onClick and parameters)
var wikEdButton = {};
wikEdButton[100] = ['wikEdTT', 'wikEdButton', 'Make the selection a html TT element', 'http://upload.wikimedia.org/wikipedia/commons/5/5f/Btn_toolbar_tt.png', '16', '16', 'TT', 'javascript:WikEdEditButton(this, this.id, null, TestHandler);' ];
wikEdButton[101] = ['wikEdTest', 'wikEdButton', 'Make the selection a html PRE element', 'http://upload.wikimedia.org/wikipedia/commons/2/23/Button_code.png', '16', '16', 'PRE', 'javascript:WikEdEditButton(this, this.id, null, TestHandler2);' ];
// define custom button bars (id outer, class outer, id inner, class inner, height, grip title, button numbers)
var wikEdButtonBar = {};
wikEdButtonBar['custom1'] = ['wikEdButtonBarCustom1', 'wikEdButtonBarCustom1', 'wikEdButtonsCustom1', 'wikEdButtonsCustom1', 44, 'My custom buttons', [100, 'br', 101] ];
wikEdButtonBar['custom2'] = ['wikEdButtonBarCustom2', 'wikEdButtonBarCustom2', 'wikEdButtonsCustom2', 'wikEdButtonsCustom2', 44, 'My custom buttons', [100, 'br', 101] ];
// Define custom button shortcut.
var wikEdButtonKey = {
100: ['t',84 ], // shift-alt-t: "<tt>" button shortcut
101: ['p',90 ] // shift-alt-p: "<pre>" button shortcut
}
// define the function which is called upon clicking the custom button
// this example code adds or removes tt tags around the selected text
function TestHandler(obj) {
// select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine)
// focus... is the text under the cursor; ...Word and ...Line extend the target to the start/end of the word or line
WikEdGetText(obj, 'selection, cursor');
if (obj.selection.plain != '') {
obj.changed = obj.selection;
}
else {
obj.changed = obj.cursor;
}
// make the changes to the plain target text
// remove the previously added formatting
if ( /<tt>(.*?)<\/tt>/i.test(obj.changed.plain) ) {
obj.changed.plain = obj.changed.plain.replace(/<tt>(.*?)<\/tt>/gi, '$1');
}
// add the text formatting
else {
obj.changed.plain = '<tt>' + obj.changed.plain + '</tt>';
obj.changed.plain = obj.changed.plain.replace(/(<tt>)( *)(.*?)( *)(<\/tt>)/, '$2$1$3$5$4');
}
// keep the changed text selected, needed to remove the formatting with a second custom button click
obj.changed.keepSel = true;
return;
}
function TestHandler2(obj) {
// select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine)
// focus... is the text under the cursor; ...Word and ...Line extend the target to the start/end of the word or line
WikEdGetText(obj, 'selection, cursor');
if (obj.selection.plain != '') {
obj.changed = obj.selection;
}
else {
obj.changed = obj.cursor;
}
// make the changes to the plain target text
// remove the previously added formatting
if ( /<pre>(.*?)<\/pre>/i.test(obj.changed.plain) ) {
obj.changed.plain = obj.changed.plain.replace(/<pre>(.*?)<\/pre>/gi, '$1');
}
// add the text formatting
else {
obj.changed.plain = '<pre>' + obj.changed.plain + '</pre>';
obj.cha