![]() |
VOOZH | about |
Note: After saving, you have to bypass your browser's cache to see the changes.
Google Chrome, Firefox, Microsoft Edge, and Safari: Hold down the key and click the Reload toolbar button.
For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/** <nowiki> * Secondary gadget for the wiki article feedback feature, which runs solely on * pages that have the feedback wrapper (talk pages). It allows people to * mark feedback as "resolved". * * From https://oldschool.runescape.wiki/w/MediaWiki:Gadget-articlefeedback-tools.js?action=history * @license CC BY-NC-SA 3.0 * @author Jayden */ varconf=mw.config.get([ 'wgPageName' ]), main={ /** * Startup method */ init:function(){ mw.hook('wikipage.content').add(function($content){ varwrappers=$content.find('.gloop-feedback-wrapper'); // Loop through all of the feedback on the page, and add a link to resolve them for(vari=0;i<wrappers.length;i++){ varcurrent=wrappers[i]; main.handleWrapper(current); } }); }, handleWrapper:function(wrapper){ // Get the ID of the feedback section varfeedbackId=$(wrapper).data('id'); if(!feedbackId){ // No ID exists, don't do anything console.warn('Could not init feedback actions: no ID present',wrapper); return; } // Find the toggle to resolve the feedback vartoggle=$(wrapper).find('.gloop-feedback-resolve-toggle'); if(!toggle.length){ // No toggle exists, don't do anything console.warn('Could not init feedback actions: no toggle present',wrapper); } if(toggle.hasClass('tc-yes')){ // Already resolved, don't let people resolve it again return; } $(toggle).css('cursor','pointer'); $(toggle).on('click',function(){ main.doResolveConfirm(feedbackId,toggle); }); }, /** * Shows a confirmation popup for resolving feedback **/ doResolveConfirm:function(feedbackId,toggle){ console.log('feedback id',feedbackId); OO.ui.confirm('Clicking OK will resolve this feedback, marking it as complete/no action needed. You cannot unresolve feedback after resolving it.').done(function(confirmed){ if(confirmed){ main.doResolve(feedbackId,toggle); } }); }, doResolve:function(feedbackId,toggle){ varsearchString='\\|id='+feedbackId+'\n\\|date=(.*)\n\\|resolved=no'; varregex=newRegExp(searchString,'gim'); newmw.Api().edit( conf.wgPageName, function(revision){ return{ text:revision.content.replace(regex,'|id='+feedbackId+'\n|date=$1\n|resolved=yes'), summary:'Resolving user-submitted feedback', assert:'user', minor:true }; } ) .then(function(){ $(toggle).removeClass('tc-no'); $(toggle).addClass('tc-yes'); $(toggle).find('span').text('Resolved'); $(toggle).off('click'); }); } }; mw.loader.using(['mediawiki.api','oojs-ui-core','oojs-ui-windows'],function(){ $(main.init); }); // </nowiki>