azure-devops-ui
Version:
React components for building web UI in Azure DevOps
1 lines • 1.46 kB
JavaScript
import{__assign,__extends}from"tslib";import"../../CommonImports";import"../../Core/core.css";import"./EditableDropdown.css";import*as React from"react";import{ObservableLike,ObservableValue}from"../../Core/Observable";import{CustomEditableDropdown}from"./CustomEditableDropdown";var EditableDropdown=function(t){function e(e){var o=t.call(this,e)||this;return o.dropdown=React.createRef(),o.collapse=function(){o.dropdown.current&&o.dropdown.current.collapse()},o.expand=function(){o.dropdown.current&&o.dropdown.current.expand()},o.onExpand=function(){var e=o.props,t=e.allowTextSelection,e=e.onExpand;e&&e(),t&&(o.text.value=o.selectedText.value)},o.onTextChange=function(e,t){o.props.onTextChange&&o.props.onTextChange(e,t),o.text.value=t},o.onValueChange=function(e){o.props.onValueChange&&o.props.onValueChange(e),o.selectedText.value=e&&e.text||""},o.text=ObservableLike.isObservable(e.text)?e.text:new ObservableValue(e.text||""),o.selectedText=ObservableLike.isObservable(e.selectedText)?e.selectedText:new ObservableValue(e.selectedText),o}return __extends(e,t),e.prototype.focus=function(){this.dropdown.current&&this.dropdown.current.focus()},e.prototype.render=function(){return React.createElement(CustomEditableDropdown,__assign({},this.props,{onExpand:this.onExpand,onTextChange:this.onTextChange,onValueChange:this.onValueChange,ref:this.dropdown,selectedText:this.selectedText,text:this.text}))},e}(React.Component);export{EditableDropdown};