*/
$( function () {
- var editBox, scrollTop, $editForm;
+ var editBox, scrollTop, $editForm,
+ // TODO T6714: Once this can be adjusted, read this from config.
+ summaryByteLimit = 255;
- // Make sure edit summary does not exceed byte limit
- // TODO: Replace with this when $wgOOUIEditPage is removed:
- // OO.ui.infuse( 'wpSummary' ).$input.byteLimit( 255 );
- $( '#wpSummary' ).byteLimit( 255 );
-
- // Show a byte-counter to users with how many bytes are left for their edit summary.
- // TODO: This looks a bit weird, as there is no unit in the UI, just numbers; showing
- // 'bytes' confused users in testing, and showing 'chars' would be a lie. See T42035.
if ( $( '#editform' ).hasClass( 'mw-editform-ooui' ) ) {
mw.loader.using( 'oojs-ui-core' ).then( function () {
var wpSummary = OO.ui.infuse( $( '#wpSummaryWidget' ) );
- function updateSummaryLabelCount() {
- wpSummary.setLabel( String( 255 - $.byteLength( wpSummary.getValue() ) ) );
- }
-
- wpSummary.on( 'change', updateSummaryLabelCount );
- // Initialise value
- updateSummaryLabelCount();
+ // Show a byte-counter to users with how many bytes are left for their edit summary.
+ // TODO: This looks a bit weird, as there is no unit in the UI, just numbers; showing
+ // 'bytes' confused users in testing, and showing 'chars' would be a lie. See T42035.
+ mw.widgets.visibleByteLimit( wpSummary, summaryByteLimit );
} );
+ } else {
+ // Make sure edit summary does not exceed byte limit
+ $( '#wpSummary' ).byteLimit( summaryByteLimit );
}
// Restore the edit box scroll state following a preview operation,