MediaWiki:Gadget-resign-calculator.js: Difference between revisions

Omit blank names, Points wording, copy button
Default the first season to the current year
Line 7: Line 7:
'use strict';
'use strict';


var MAX = 11500000,
var CURRENT_YEAR = new Date().getFullYear(),
MAX = 11500000,
DISCOUNT = 1500000,
DISCOUNT = 1500000,
CUTOFF = 85;
CUTOFF = 85;
Line 124: Line 125:
seasonRow.className = 'tc-calc-row';
seasonRow.className = 'tc-calc-row';
var seasonLabel = document.createElement( 'label' );
var seasonLabel = document.createElement( 'label' );
seasonLabel.textContent = 'First season (optional)';
seasonLabel.textContent = 'First season';
var season = document.createElement( 'input' );
var season = document.createElement( 'input' );
season.type = 'number';
season.type = 'number';
season.step = '1';
season.step = '1';
season.placeholder = 'e.g. 2028';
season.placeholder = String( CURRENT_YEAR );
season.value = String( CURRENT_YEAR );
seasonRow.appendChild( seasonLabel );
seasonRow.appendChild( seasonLabel );
seasonRow.appendChild( season );
seasonRow.appendChild( season );
Line 208: Line 210:
var years = Number( term.value ),
var years = Number( term.value ),
first = parseInt( season.value, 10 ),
first = parseInt( season.value, 10 ),
endYear = isNaN( first ) ? null : first + years - 1,
who = name.value.trim();
who = name.value.trim();
if ( isNaN( first ) ) {
first = CURRENT_YEAR;
}
var endYear = first + years - 1;


var lines = [];
var lines = [];
Line 217: Line 222:
lines.push( '(' + scores.join( ', ' ) + ' = ' +
lines.push( '(' + scores.join( ', ' ) + ' = ' +
( Number.isInteger( r.average ) ? r.average : r.average.toFixed( 2 ) ) + ')' );
( Number.isInteger( r.average ) ? r.average : r.average.toFixed( 2 ) ) + ')' );
lines.push( money( r.salary ) + ( endYear ? ' (' + endYear + ')' : ' (' + years + ' years)' ) );
lines.push( money( r.salary ) + ' (' + endYear + ')' );
out.appendChild( postBlock( lines.join( '\n' ) ) );
out.appendChild( postBlock( lines.join( '\n' ) ) );


var note = document.createElement( 'div' );
var note = document.createElement( 'div' );
note.className = 'tc-calc-note';
note.className = 'tc-calc-note';
note.textContent = endYear ?
note.textContent = years + ' years, ' + first + ' through ' + endYear +
years + ' years, ' + first + ' through ' + endYear + '. Post this in the NBA: Re-Signing forum.' :
'. Post this in the NBA: Re-Signing forum.';
'Add a first season above to get the contract’s end year.';
out.appendChild( note );
out.appendChild( note );
}
}