VOOZH about

URL: https://minecraft.wiki/w/MediaWiki:Gadget-articlefeedback-tools.js

⇱ MediaWiki:Gadget-articlefeedback-tools.js – Minecraft Wiki


MediaWiki:Gadget-articlefeedback-tools.js

From Minecraft Wiki
Jump to navigation Jump to search
In other languages

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>
Retrieved from "https://minecraft.wiki/w/MediaWiki:Gadget-articlefeedback-tools.js?oldid=3480248"

Navigation menu