User:Bosco/Unsigned helper.js: Difference between revisions

From Test Wiki
Content deleted Content added
searchFromIndex: improve error message about incorrect selection
searchFromIndex: fix wrong reference to non-existent variable `text`. doAddUnsignedTemplate: Rename variable `txt` → `selection`
Line 508: Line 508:
* For reference, see https://en.wikipedia.org/wiki/MediaWiki:Gadget-charinsert-core.js#L-251--L-258
* For reference, see https://en.wikipedia.org/wiki/MediaWiki:Gadget-charinsert-core.js#L-251--L-258
*/
*/
let txt = $(wikitextEditor).textSelection('getSelection');
let selection = $(wikitextEditor).textSelection('getSelection');
debug(`doAddUnsignedTemplate: getSelection: '${txt}'`);
debug(`doAddUnsignedTemplate: getSelection: '${selection}'`);
txt = txt.replace(new RegExp('[\\s\\S]*\\d\\d:\\d\\d, \\d+ (' + months.join('|') + ') \\d\\d\\d\\d \\(UTC\\)'), '');
selection = selection.replace(new RegExp('[\\s\\S]*\\d\\d:\\d\\d, \\d+ (' + months.join('|') + ') \\d\\d\\d\\d \\(UTC\\)'), '');
txt = txt.replace(/[\s\S]*\n=+.*=+\s*\n/, '');
selection = selection.replace(/[\s\S]*\n=+.*=+\s*\n/, '');
txt = txt.replace(/^\s+|\s+$/g, '');
selection = selection.replace(/^\s+|\s+$/g, '');
debug(`doAddUnsignedTemplate: getSelection filtered: '${txt}'`);
debug(`doAddUnsignedTemplate: getSelection filtered: '${selection}'`);


// TODO maybe migrate to https://www.mediawiki.org/wiki/OOUI/Windows/Message_Dialogs
// TODO maybe migrate to https://www.mediawiki.org/wiki/OOUI/Windows/Message_Dialogs
Line 534: Line 534:
function applySearcherResult(searcherResult) {
function applySearcherResult(searcherResult) {
const fullRevision = searcherResult.fullRevision;
const fullRevision = searcherResult.fullRevision;
const template = chooseTemplate(txt, fullRevision);
const template = chooseTemplate(selection, fullRevision);
const templateWikitext = makeTemplate(
const templateWikitext = makeTemplate(
fullRevision.user,
fullRevision.user,
Line 612: Line 612:


function searchFromIndex(index) {
function searchFromIndex(index) {
if (txt == undefined || txt == '') {
if (selection == undefined || selection == '') {
mainDialog.html(formatErrorSpan("Please select an unsigned message.") +
mainDialog.html(formatErrorSpan("Please select an unsigned message.") +
" Selected: <code>" + text + "</code>");
" Selected: <code>" + selection + "</code>");
return;
return;
}
}
searcher.findRevisionWhenTextAdded(txt, index).then(searcherResult => {
searcher.findRevisionWhenTextAdded(selection, index).then(searcherResult => {
if (!mainDialog.dialog('isOpen')) {
if (!mainDialog.dialog('isOpen')) {
// user clicked [cancel]
// user clicked [cancel]