Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/resources/src/mediawiki.widgets.visibleLengthLimit/mediawiki.widgets.visibleLengthLimit.js
Ðазад
( function () { 'use strict'; const { byteLength, codePointLength } = require( 'mediawiki.String' ); const { colonSeparator } = require( './contentMessages.json' ); /** * @internal * @param {string} lengthLimiter * @param {OO.ui.TextInputWidget} textInputWidget * @param {number} [limit] * @param {Function} [filterFunction] */ function internalVisibleLimit( lengthLimiter, textInputWidget, limit, filterFunction ) { limit = limit || +textInputWidget.$input.attr( 'maxlength' ); if ( !filterFunction || typeof filterFunction !== 'function' ) { filterFunction = undefined; } const lengthFunction = lengthLimiter === 'byteLimit' ? byteLength : codePointLength; function updateCount() { let value = textInputWidget.getValue(), remaining; if ( filterFunction ) { value = filterFunction( value ); } remaining = limit - lengthFunction( value ); if ( remaining > 99 ) { remaining = ''; } else { remaining = mw.language.convertNumber( remaining ); } textInputWidget.setLabel( remaining ); } textInputWidget.on( 'change', updateCount ); // Initialise value updateCount(); // Actually enforce limit textInputWidget.$input[ lengthLimiter ]( limit, filterFunction ); } /** * @internal * @param {string} lengthLimiter * @param {OO.ui.TextInputWidget} textInputWidget * @param {OO.ui.DropdownInputWidget} dropdownInputWidget * @param {number} [limit] */ function internalVisibleLimitWithDropdown( lengthLimiter, textInputWidget, dropdownInputWidget, limit ) { const filterFunction = function ( input ) { let comment = dropdownInputWidget.getValue(); if ( comment === 'other' ) { comment = input; } else if ( input !== '' ) { // Entry from drop down menu + additional comment comment += colonSeparator + input; } return comment; }; internalVisibleLimit( lengthLimiter, textInputWidget, limit, filterFunction ); // Keep the remaining counter in sync when reason list changed dropdownInputWidget.on( 'change', () => { textInputWidget.emit( 'change' ); } ); } /** * Add a visible byte limit label to a TextInputWidget. * * Loaded from `mediawiki.widgets.visibleLengthLimit` module. * * Uses {@link module:jquery.lengthLimit.$.fn.byteLimit byteLimit} to enforce the limit. * * @param {OO.ui.TextInputWidget} textInputWidget * @param {number} [limit] Byte limit, defaults to input's `maxlength` attribute * @param {Function} [filterFunction] Function to call on the string before assessing the length */ mw.widgets.visibleByteLimit = function ( textInputWidget, limit, filterFunction ) { internalVisibleLimit( 'byteLimit', textInputWidget, limit, filterFunction ); }; /** * Add a visible codepoint (character) limit label to a TextInputWidget. * * Loaded from `mediawiki.widgets.visibleLengthLimit` module. * * Uses {@link module:jquery.lengthLimit.$.fn.codePointLimit codePointLimit} to enforce the limit. * * @param {OO.ui.TextInputWidget} textInputWidget * @param {number} [limit] Code point limit, defaults to input's `maxlength` attribute * @param {Function} [filterFunction] Function to call on the string before assessing the length */ mw.widgets.visibleCodePointLimit = function ( textInputWidget, limit, filterFunction ) { internalVisibleLimit( 'codePointLimit', textInputWidget, limit, filterFunction ); }; /** * Add a visible byte limit label to a TextInputWidget, assuming that the value of the * DropdownInputWidget will be added as a prefix. MediaWiki formats the comment fields for many * actions that way, e.g. for page deletion. * * Loaded from `mediawiki.widgets.visibleLengthLimit` module. * * Uses {@link module:jquery.lengthLimit.$.fn.byteLimit byteLimit} to enforce the limit. * * @param {OO.ui.TextInputWidget} textInputWidget * @param {OO.ui.DropdownInputWidget} dropdownInputWidget * @param {number} [limit] Code point limit, defaults to input's `maxlength` attribute */ mw.widgets.visibleByteLimitWithDropdown = function ( textInputWidget, dropdownInputWidget, limit ) { internalVisibleLimitWithDropdown( 'byteLimit', textInputWidget, dropdownInputWidget, limit ); }; /** * Add a visible codepoint (character) limit label to a TextInputWidget, assuming that the value * of the DropdownInputWidget will be added as a prefix. MediaWiki formats the comment fields for * many actions that way, e.g. for page deletion. * * Loaded from `mediawiki.widgets.visibleLengthLimit` module. * * Uses {@link module:jquery.lengthLimit.$.fn.codePointLimit codePointLimit} to enforce the limit. * * @param {OO.ui.TextInputWidget} textInputWidget * @param {OO.ui.DropdownInputWidget} dropdownInputWidget * @param {number} [limit] Code point limit, defaults to input's `maxlength` attribute */ mw.widgets.visibleCodePointLimitWithDropdown = function ( textInputWidget, dropdownInputWidget, limit ) { internalVisibleLimitWithDropdown( 'codePointLimit', textInputWidget, dropdownInputWidget, limit ); }; }() );
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка