Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/queuepro/node_modules/@ckeditor/ckeditor5-ui/src/inputtext/ drwxrwxr-x | |
| Viewing file: Select action/file-type: /**
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
/**
* @module ui/inputtext/inputtextview
*/
import View from '../view';
import FocusTracker from '@ckeditor/ckeditor5-utils/src/focustracker';
import '../../theme/components/inputtext/inputtext.css';
/**
* The text input view class.
*
* @extends module:ui/view~View
*/
export default class InputTextView extends View {
/**
* @inheritDoc
*/
constructor( locale ) {
super( locale );
/**
* The value of the input.
*
* @observable
* @member {String} #value
*/
this.set( 'value' );
/**
* The `id` attribute of the input (i.e. to pair with a `<label>` element).
*
* @observable
* @member {String} #id
*/
this.set( 'id' );
/**
* The `placeholder` attribute of the input.
*
* @observable
* @member {String} #placeholder
*/
this.set( 'placeholder' );
/**
* Controls whether the input view is in read-only mode.
*
* @observable
* @member {Boolean} #isReadOnly
*/
this.set( 'isReadOnly', false );
/**
* Set to `true` when the field has some error. Usually controlled via
* {@link module:ui/labeledinput/labeledinputview~LabeledInputView#errorText}.
*
* @observable
* @member {Boolean} #hasError
*/
this.set( 'hasError', false );
/**
* The `id` of the element describing this field, e.g. when it has
* some error, it helps screen readers read the error text.
*
* @observable
* @member {Boolean} #ariaDescribedById
*/
this.set( 'ariaDescribedById' );
/**
* Stores information about the editor UI focus and propagates it so various plugins and components
* are unified as a focus group.
*
* @readonly
* @member {module:utils/focustracker~FocusTracker} #focusTracker
*/
this.focusTracker = new FocusTracker();
/**
* An observable flag set to `true` when the input is currently focused by the user.
* Set to `false` otherwise.
*
* @readonly
* @observable
* @member {Boolean} #isFocused
* @default false
*/
this.bind( 'isFocused' ).to( this.focusTracker );
/**
* An observable flag set to `true` when the input contains no text, i.e.
* when {@link #value} is `''`, `null`, or `false`.
*
* @readonly
* @observable
* @member {Boolean} #isEmpty
* @default true
*/
this.set( 'isEmpty', true );
const bind = this.bindTemplate;
this.setTemplate( {
tag: 'input',
attributes: {
type: 'text',
class: [
'ck',
'ck-input',
'ck-input-text',
bind.if( 'isFocused', 'ck-input_focused' ),
bind.if( 'isEmpty', 'ck-input-text_empty' ),
bind.if( 'hasError', 'ck-error' )
],
id: bind.to( 'id' ),
placeholder: bind.to( 'placeholder' ),
readonly: bind.to( 'isReadOnly' ),
'aria-invalid': bind.if( 'hasError', true ),
'aria-describedby': bind.to( 'ariaDescribedById' )
},
on: {
input: bind.to( ( ...args ) => {
this.fire( 'input', ...args );
this._updateIsEmpty();
} ),
change: bind.to( this._updateIsEmpty.bind( this ) )
}
} );
/**
* Fired when the user types in the input. Corresponds to the native
* DOM `input` event.
*
* @event input
*/
}
/**
* @inheritDoc
*/
render() {
super.render();
this.focusTracker.add( this.element );
this._setDomElementValue( this.value );
this._updateIsEmpty();
// Bind `this.value` to the DOM element's value.
// We cannot use `value` DOM attribute because removing it on Edge does not clear the DOM element's value property.
this.on( 'change:value', ( evt, name, value ) => {
this._setDomElementValue( value );
this._updateIsEmpty();
} );
}
/**
* @inheritDoc
*/
destroy() {
super.destroy();
this.focusTracker.destroy();
}
/**
* Moves the focus to the input and selects the value.
*/
select() {
this.element.select();
}
/**
* Focuses the input.
*/
focus() {
this.element.focus();
}
/**
* Updates the {@link #isEmpty} property value on demand.
*
* @private
*/
_updateIsEmpty() {
this.isEmpty = isInputElementEmpty( this.element );
}
/**
* Sets the `value` property of the {@link #element DOM element} on demand.
*
* @private
*/
_setDomElementValue( value ) {
this.element.value = ( !value && value !== 0 ) ? '' : value;
}
}
function isInputElementEmpty( domElement ) {
return !domElement.value;
}
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0062 ]-- |