1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
- import * as dom from '../../../browser/dom.js';
- import { StandardKeyboardEvent } from '../../../browser/keyboardEvent.js';
- import { StandardMouseEvent } from '../../../browser/mouseEvent.js';
- import { InputBox } from '../../../browser/ui/inputbox/inputBox.js';
- import { Disposable } from '../../../common/lifecycle.js';
- import Severity from '../../../common/severity.js';
- import './media/quickInput.css';
- const $ = dom.$;
- export class QuickInputBox extends Disposable {
- constructor(parent) {
- super();
- this.parent = parent;
- this.onKeyDown = (handler) => {
- return dom.addDisposableListener(this.inputBox.inputElement, dom.EventType.KEY_DOWN, (e) => {
- handler(new StandardKeyboardEvent(e));
- });
- };
- this.onMouseDown = (handler) => {
- return dom.addDisposableListener(this.inputBox.inputElement, dom.EventType.MOUSE_DOWN, (e) => {
- handler(new StandardMouseEvent(e));
- });
- };
- this.onDidChange = (handler) => {
- return this.inputBox.onDidChange(handler);
- };
- this.container = dom.append(this.parent, $('.quick-input-box'));
- this.inputBox = this._register(new InputBox(this.container, undefined));
- }
- get value() {
- return this.inputBox.value;
- }
- set value(value) {
- this.inputBox.value = value;
- }
- select(range = null) {
- this.inputBox.select(range);
- }
- isSelectionAtEnd() {
- return this.inputBox.isSelectionAtEnd();
- }
- get placeholder() {
- return this.inputBox.inputElement.getAttribute('placeholder') || '';
- }
- set placeholder(placeholder) {
- this.inputBox.setPlaceHolder(placeholder);
- }
- get ariaLabel() {
- return this.inputBox.getAriaLabel();
- }
- set ariaLabel(ariaLabel) {
- this.inputBox.setAriaLabel(ariaLabel);
- }
- get password() {
- return this.inputBox.inputElement.type === 'password';
- }
- set password(password) {
- this.inputBox.inputElement.type = password ? 'password' : 'text';
- }
- setAttribute(name, value) {
- this.inputBox.inputElement.setAttribute(name, value);
- }
- removeAttribute(name) {
- this.inputBox.inputElement.removeAttribute(name);
- }
- showDecoration(decoration) {
- if (decoration === Severity.Ignore) {
- this.inputBox.hideMessage();
- }
- else {
- this.inputBox.showMessage({ type: decoration === Severity.Info ? 1 /* INFO */ : decoration === Severity.Warning ? 2 /* WARNING */ : 3 /* ERROR */, content: '' });
- }
- }
- stylesForType(decoration) {
- return this.inputBox.stylesForType(decoration === Severity.Info ? 1 /* INFO */ : decoration === Severity.Warning ? 2 /* WARNING */ : 3 /* ERROR */);
- }
- setFocus() {
- this.inputBox.focus();
- }
- layout() {
- this.inputBox.layout();
- }
- style(styles) {
- this.inputBox.style(styles);
- }
- }
|