User:BrandonXLF/Autoref.js
/*** Autoref ***/
// Insert auto-filled references in the 2010 Wikitext editor like you can in VE
// Documentation at en:w:User:BrandonXLF/Autoref
// By en:w:User:BrandonXLF
/* global getCitoidRef */
$.when(mw.loader.using('ext.wikiEditor'), mw.loader.getScript(
'https://en.wikipedia.org/w/index.php?title=User:BrandonXLF/Citoid.js&action=raw&ctype=text/javascript'
), $.ready).then(function() {
$('#wikiEditor-section-main [rel="reference"] > a').unbind().click(function() {
var pos = {
start: $('#wpTextbox1').textSelection('getCaretPosition'),
end: $('#wpTextbox1').textSelection('getCaretPosition') + $('#wpTextbox1').textSelection('getSelection').length
};
OO.ui.prompt($('Enter a source:'), {
textInput: {
placeholder: 'Leave blank for none'
}
}).done(function(source) {
$('#wpTextbox1').textSelection('setSelection', pos);
if (source === null) return;
if (source === '') {
$('#wpTextbox1').textSelection('encapsulateSelection', {pre: '', post: ''});
return;
}
getCitoidRef(source).then(function(ref) {
$('#wpTextbox1').textSelection('replaceSelection', '' + ref + '');
}, function(err) {
mw.notify(err, {type: 'error'});
});
});
});
});