From f153779faaeb1db401240749f00303bc825846ce Mon Sep 17 00:00:00 2001 From: TheTVExpert <73130180+TheTVExpert@users.noreply.github.com> Date: Mon, 18 Jan 2021 15:52:18 -0600 Subject: [PATCH] fluff: Allow for a list of custom edit summaries fluff: Allow for a list of custom edit summaries twinkle: Allow for a list of custom edit summaries Fix lint errors Fix lint errors Fix lint errors Fix --- modules/twinkleconfig.js | 9 ++++++++- modules/twinklefluff.js | 23 ++++++++++------------- twinkle.js | 1 + 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/modules/twinkleconfig.js b/modules/twinkleconfig.js index 5edf054d2..4083c5171 100644 --- a/modules/twinkleconfig.js +++ b/modules/twinkleconfig.js @@ -402,7 +402,14 @@ Twinkle.config.sections = [ type: 'enum', enumValues: Twinkle.config.watchlistEnums }, - + { + name: 'customReversionSummaryList', + label: 'Custom reversion edit summaries to display', + helptip: 'These appear as options in the enter reversion edit summary dialog', + type: 'customList', + customListValueTitle: 'Edit summary', + customListLabelTitle: 'Text to show in the dialog' + }, // TwinkleConfig.offerReasonOnNormalRevert (boolean) // If to offer a prompt for extra summary reason for normal reverts, default to true { diff --git a/modules/twinklefluff.js b/modules/twinklefluff.js index 69002d874..4bc738fd2 100644 --- a/modules/twinklefluff.js +++ b/modules/twinklefluff.js @@ -399,12 +399,12 @@ Twinkle.fluff.revertToRevision = function revertToRevision(oldrev) { wikipedia_api.params = { rev: oldrev, type: 'torev' }; wikipedia_api.post(); }; - + Twinkle.fluff.getSummary = function getSummary(apiobj) { Twinkle.fluff.apiobj = apiobj; var params = apiobj.params; var type = params.type; - if (type == 'vand' || (type == 'norm' && !Twinkle.getPref('offerReasonOnNormalRevert'))) { + if (type === 'vand' || (type === 'norm' && !Twinkle.getPref('offerReasonOnNormalRevert'))) { Twinkle.fluff.callbacks.main('noSummary'); } else { Twinkle.fluff.simpleWindow = new Morebits.simpleWindow(600, 350); @@ -412,9 +412,7 @@ Twinkle.fluff.getSummary = function getSummary(apiobj) { Twinkle.fluff.simpleWindow.setScriptName('Twinkle'); Twinkle.fluff.simpleWindow.addFooterLink('Revert and rollback prefs', 'WP:TW/PREF#fluff'); Twinkle.fluff.simpleWindow.addFooterLink('Twinkle help', 'WP:TW/DOC#fluff'); - - var form = new Morebits.quickForm(type == 'torev' ? Twinkle.fluff.callbacks.toRevision : Twinkle.fluff.callbacks.main); - + var form = new Morebits.quickForm(type === 'torev' ? Twinkle.fluff.callbacks.toRevision : Twinkle.fluff.callbacks.main); if (Twinkle.getPref('customReversionSummaryList').length) { form.append({ type: 'radio', @@ -427,30 +425,28 @@ Twinkle.fluff.getSummary = function getSummary(apiobj) { } }); } - form.append({ id: 'editSummaryInput', type: 'input', name: 'summary', label: 'Edit summary: ' }); - form.append({ type: 'submit' }); - var result = form.render(); Twinkle.fluff.simpleWindow.setContent(result); Twinkle.fluff.simpleWindow.display(); document.getElementById('editSummaryInput').focus(); } -} +}; Twinkle.fluff.callbacks = { toRevision: function(e) { + var optional_summary; if (e !== 'noSummary') { e.preventDefault(); var form = e.target; var input = Morebits.quickForm.getInputData(form); - var optional_summary = input.summary; + optional_summary = input.summary; Twinkle.fluff.simpleWindow.close(); } var apiobj = Twinkle.fluff.apiobj; @@ -500,7 +496,7 @@ Twinkle.fluff.callbacks = { } else { query.watchlist = 'watch'; // number allowed but not used in Twinkle.config.watchlistEnums - if (!page.watched && typeof watchOrExpiry === 'string' && watchOrExpiry !== 'yes') { + if ((!page.watched || page.watchlistexpiry) && typeof watchOrExpiry === 'string' && watchOrExpiry !== 'yes') { query.watchlistexpiry = watchOrExpiry; } } @@ -514,11 +510,12 @@ Twinkle.fluff.callbacks = { wikipedia_api.post(); }, main: function(e) { + var extra_summary; if (e !== 'noSummary') { e.preventDefault(); var form = e.target; var input = Morebits.quickForm.getInputData(form); - var extra_summary = input.summary; + extra_summary = input.summary; Twinkle.fluff.simpleWindow.close(); } var apiobj = Twinkle.fluff.apiobj; @@ -727,7 +724,7 @@ Twinkle.fluff.callbacks = { } else { query.watchlist = 'watch'; // number allowed but not used in Twinkle.config.watchlistEnums - if (!page.watched && typeof watchOrExpiry === 'string' && watchOrExpiry !== 'yes') { + if ((!page.watched || page.watchlistexpiry) && typeof watchOrExpiry === 'string' && watchOrExpiry !== 'yes') { query.watchlistexpiry = watchOrExpiry; } } diff --git a/twinkle.js b/twinkle.js index bbca00a1f..cd78500e8 100644 --- a/twinkle.js +++ b/twinkle.js @@ -69,6 +69,7 @@ Twinkle.defaultConfig = { markRevertedPagesAsMinor: [ 'vand' ], watchRevertedPages: [ 'agf', 'norm', 'vand', 'torev' ], watchRevertedExpiry: 'yes', + customReversionSummaryList: [], offerReasonOnNormalRevert: true, confirmOnFluff: false, confirmOnMobileFluff: true,