mediawiki-extensions-WikiEd.../modules/insertlink/LinkTextField.js
Timo Tijhof 90e6ccaced Remove unused jquery.wikiEditor.html file
Has sat there since the first commit in 2010 (r73055), but not used.
I imagine it was was a design prototype at some point.

Also fix a few minor eslint warnings about line length, and remove the
one-off "ext-" prefix and capitilised "WikiEditor" CSS class name that
the rest of the repo doesn't use.

Change-Id: Id0eeb456fffdb490a6a86974288e57099e53ce71
2022-03-03 15:27:18 +00:00

59 lines
1.3 KiB
JavaScript

/**
* @class
* @extends OO.ui.FieldLayout
* @constructor
*/
function LinkTextField() {
var input = new OO.ui.TextInputWidget( {
placeholder: mw.msg( 'wikieditor-toolbar-tool-link-int-text-tooltip' )
} );
input.connect( this, {
change: 'onInputChange'
} );
var config = {
align: 'top',
label: mw.msg( 'wikieditor-toolbar-tool-link-int-text' ),
classes: [ 'mw-wikiEditor-InsertLink-LinkTextField' ]
};
LinkTextField.super.call( this, input, config );
// Whether the user has changed the value
// (as opposed to the value being changed automatically
// because the link target field changed).
this.touched = false;
}
OO.inheritClass( LinkTextField, OO.ui.FieldLayout );
/**
* Set the input's value.
*
* @param {string} val The new value.
*/
LinkTextField.prototype.setValueIfUntouched = function ( val ) {
if ( !this.touched ) {
this.getField().setValue( val );
}
};
/**
* @param {boolean} touched
*/
LinkTextField.prototype.setTouched = function ( touched ) {
this.touched = touched;
};
/**
* If this input is active when it's being changed,
* set it as 'touched' so it won't change again if the title-lookup is changed.
*/
LinkTextField.prototype.onInputChange = function () {
if ( $.contains( this.$element[ 0 ], document.activeElement ) ) {
this.touched = true;
}
};
module.exports = LinkTextField;