UNPKG

azure-devops-ui

Version:

React components for building web UI in Azure DevOps

1 lines 2 kB
import"../../CommonImports";import"../../Core/core.css";import"./IdentityPickerDropdown.css";import*as React from"react";import{ObservableLike,ObservableValue}from"../../Core/Observable";import{FilterBarItem}from"../../FilterBarItem";import{css}from"../../Util";import{CustomIdentityPickerDropdown}from"./CustomIdentityPickerDropdown";class IdentityPickerDropdownFilterBarItem extends FilterBarItem{constructor(e){super(e),this.selectedUser=new ObservableValue(void 0),this.selectedUserFriendlyName=new ObservableValue(""),this.areSuggestionsVisible=new ObservableValue(!1),this.onFilterChanged=e=>{super.onFilterChanged(e),e&&e.value||(this.selectedUser.value=void 0,this.setTextValue(""))},this.onSuggestionsVisibleChanged=e=>{this.areSuggestionsVisible.value=e},this.onIdentityChanged=e=>{this.selectedUser.value=e,this.setFilterValue({value:this.selectedUser.value}),this.setTextValue(e&&e.displayName||"")},this.setTextValue=e=>{this.selectedUserFriendlyName.value=e},e.initialValue&&(ObservableLike.isObservable(e.initialValue)?this.selectedUser=e.initialValue:this.selectedUser.value=e.initialValue,this.selectedUserFriendlyName.value=this.selectedUser.value&&this.selectedUser.value.displayName||""),e.initialTextValue&&(ObservableLike.isObservable(e.initialTextValue)?this.selectedUserFriendlyName=e.initialTextValue:this.selectedUserFriendlyName.value=e.initialTextValue)}focus(){return!1}render(){return React.createElement(CustomIdentityPickerDropdown,{className:css(this.props.className,"bolt-identitypicker-filterbaritem"),pickerProvider:this.props.pickerProvider,onChange:this.onIdentityChanged,placeholder:this.props.placeholder,editPlaceholder:this.props.editPlaceholder,value:this.selectedUser,textValue:this.selectedUserFriendlyName,resolveUnrecognizedIdentity:this.props.resolveUnrecognizedIdentity,suggestionsVisible:this.areSuggestionsVisible,onSuggestionsVisibleChanged:this.onSuggestionsVisibleChanged,onInputChange:this.setTextValue})}}export{IdentityPickerDropdownFilterBarItem};