UNPKG

azure-devops-ui

Version:

React components for building web UI in Azure DevOps

1 lines 1.26 kB
import"../../CommonImports";import"../../Core/core.css";import"./IdentityPickerDropdown.css";import*as React from"react";import{ObservableLike,useObservable}from"../../Core/Observable";import{Observer}from"../../Observer";import{CustomIdentityPickerDropdown}from"./CustomIdentityPickerDropdown";const IdentityPickerDropdown=t=>{const[e,a]=useObservable(getTextValue(t.value)),[s,r]=useObservable(!1),i=t["onChange"],o=e=>{t.onSuggestionsVisibleChanged&&t.onSuggestionsVisibleChanged(e),r(e)},n=e=>!1!==i(e)?(a(e?e.displayName||e.mailNickname:""),!0):(a(""),!1);return ObservableLike.isObservable(t.value)||React.useEffect(()=>{a(t.value&&ObservableLike.getValue(t.value)&&ObservableLike.getValue(t.value).displayName||"")},[t.value]),React.createElement(Observer,{value:{observableValue:t.value,filter:()=>(a(getTextValue(t.value)),!1)}},()=>React.createElement(CustomIdentityPickerDropdown,Object.assign({},t,{suggestionsVisible:s,onChange:n,onInputChange:a,onSuggestionsVisibleChanged:o,textValue:e,suggestionItemsMaximumCount:t.suggestionItemsMaximumCount,suggestionsContainerAriaLabel:t.suggestionsContainerAriaLabel})))};function getTextValue(e){return e&&ObservableLike.getValue(e)?ObservableLike.getValue(e).displayName:""}export{IdentityPickerDropdown};