MediaWiki:DYK-nomination-wizard.js: Difference between revisions

Content deleted Content added
per tper
per tper
 
(4 intermediate revisions by 3 users not shown)
Line 1:
/**
* DYK-nomination-wizard
*
* Wizard to easily create DYK nominations
*
* Loaded on [[Wikipedia:Did you know/Create new nomination]]
* using [[mw:Snippets/Load JS and CSS by URL]]
*
* Author: [[User:SD0001]]
*
Line 102:
dyk.callback = function dykMainCallback() {
 
var form = new Morebits.quickForm( dyk.evaluate );
 
form.append({
Line 136:
name: 'date',
tooltip: 'The date on which creation/expansion began. Must be within the past week. ',
value: new Date().toISOString().slice(0, 10), // YYYY-MM-DD format
event: dyk.dateCheck // for the benefit of browsers that don't support a datepicker for date fields
});
Line 308 ⟶ 307:
name: 'qpq',
label: 'Reviewed: ',
tooltip: 'DYK nomination(s) you reviewed. This is compulsorymandatory for editors with 5+ DYKprior creditsnominations (QPQ requirement). You can fill this after you make the nomination as well. When the unreviewed backlog mode is active, a 2nd QPQ is also required for editors with 20+ past nominations.',
size: '50px',
value: NOMPAGE_PREFIX
});
 
form.append({
type: 'div',
name: 'qpq-required',
label: 'Number of QPQs required: <span id=dyk-qpq-count>calculating ...</span>'
});
 
form.append({
type: 'button',
Line 384 ⟶ 390:
'form.quickform div textarea.dyk-source { font-size: 110%; height: 35px; }' +
'form.quickform div textarea.dyk-comments { font-size: 125%; height: 35px; }'
//'form.quickform div.dyk-source { display: table-row; }' +
//'form.quickform div.dyk-source label { display: table-cell; vertical-align: middle; }' +
//'div.dyk-source > textarea { font-size: 110%; height: 19px; }' +
//'html form.quickform div textarea.dyk-source { font-size: 110%; height: 35px; }'
);
 
Line 439 ⟶ 441:
 
$(Morebits.quickForm.getElementContainer(result.multiarticle)).css('margin-top', '10px');
 
// Show number of QPQs required
mw.loader.using('ext.gadget.libLua').then(function() {
return mw.libs.lua.call({
module: 'NewDYKnomination',
func: 'getRequiredQpqCount',
args: [mw.config.get('wgUserName')]
});
}).then(function(output) {
var [numQpqsNeeded, numPriorNoms] = output.split('\t').map(num => parseInt(num));
dyk.numQpqsRequiredPerArticle = numQpqsNeeded;
if (numQpqsNeeded === 2) {
$('#dyk-qpq-count').text('2, as DYK is currently in backlog mode and you have ' + numPriorNoms + ' past nominations');
} else if (numQpqsNeeded === 1) {
$('#dyk-qpq-count').text('1, as you have ' + numPriorNoms + ' past nominations');
} else if (numQpqsNeeded === 0) {
$('#dyk-qpq-count').text('0, as you have fewer than 5 past nominations');
} else {
$('#dyk-qpq-count').text('failed to calculate');
}
}).catch(function(err) {
$('#dyk-qpq-count').text('failed to calculate');
console.log(err);
});
 
};
Line 468 ⟶ 494:
 
if (type === 'source') {
// var width = txtarea.parentElement.previousElementSibling.offsetWidth - txtarea.previousElementSibling.offsetWidth;
// txtarea.style.width = width + 'px';
txtarea.previousElementSibling.style.borderTop = 'none';
txtarea.previousElementSibling.style.marginTop = '0';
Line 537 ⟶ 561:
 
addTemplateParam('status', params.status);
addTemplateParam('hook', params.hook + (params.source ? ('\n{{smalldiv|1= \n* <small>Source: ' + params.source + '</small>}}') : ''));
 
Object.keys(params).filter(function (field) {
Line 622 ⟶ 646:
 
var prosesizewarn = $('#dyk-prosesize').css('color') === "rgb(255, 0, 0)";
if (prosesizewarn && !confirm('This article has afewer readablethan prose1500 sizecharacters of lessreadable than 1500 charactersprose. \n\nWhile you may still nominate it for DYK, it may be rejected unless you expand it to more than 1500 characters after the nomination. \n\nClick OK to continue with the nomination.' )) {
return;
}
 
if (sourcewarning && !confirm('You have not specified the source for each hook. Are you sure you want to continue?')) {
return;
}
 
if (dyk.numQpqsRequiredPerArticle > 0 &&
!/Template:Did you know nominations\/\w+/.test(form.qpq.value) &&
!confirm('You have not specified a QPQ. The nomination may be rejected unless you provide a QPQ soon after the nomination. Are you sure you want to continue?')) {
return;
}