UNPKG

azure-devops-ui

Version:

React components for building web UI in Azure DevOps

1 lines 1.35 kB
import"../../CommonImports";import"../../Core/core.css";import"./EditableDropdown.css";import*as React from"react";import{ObservableLike,ObservableValue}from"../../Core/Observable";import{CustomEditableDropdown}from"./CustomEditableDropdown";class EditableDropdown extends React.Component{constructor(e){super(e),this.dropdown=React.createRef(),this.collapse=()=>{this.dropdown.current&&this.dropdown.current.collapse()},this.expand=()=>{this.dropdown.current&&this.dropdown.current.expand()},this.onExpand=()=>{var{allowTextSelection:e,onExpand:t}=this.props;t&&t(),e&&(this.text.value=this.selectedText.value)},this.onTextChange=(e,t)=>{this.props.onTextChange&&this.props.onTextChange(e,t),this.text.value=t},this.onValueChange=e=>{this.props.onValueChange&&this.props.onValueChange(e),this.selectedText.value=e&&e.text||""},this.text=ObservableLike.isObservable(e.text)?e.text:new ObservableValue(e.text||""),this.selectedText=ObservableLike.isObservable(e.selectedText)?e.selectedText:new ObservableValue(e.selectedText)}focus(){this.dropdown.current&&this.dropdown.current.focus()}render(){return React.createElement(CustomEditableDropdown,Object.assign({},this.props,{onExpand:this.onExpand,onTextChange:this.onTextChange,onValueChange:this.onValueChange,ref:this.dropdown,selectedText:this.selectedText,text:this.text}))}}export{EditableDropdown};