azure-devops-ui
Version:
React components for building web UI in Azure DevOps
1 lines • 1.36 kB
JavaScript
import{__assign}from"tslib";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";var IdentityPickerDropdown=function(t){function e(e){t.onSuggestionsVisibleChanged&&t.onSuggestionsVisibleChanged(e),o(e)}function r(e){return!1!==u(e)?(n(e?e.displayName||e.mailNickname:""),!0):(n(""),!1)}var i=useObservable(getTextValue(t.value)),a=i[0],n=i[1],i=useObservable(!1),s=i[0],o=i[1],u=t.onChange;return ObservableLike.isObservable(t.value)||React.useEffect(function(){n(t.value&&ObservableLike.getValue(t.value)&&ObservableLike.getValue(t.value).displayName||"")},[t.value]),React.createElement(Observer,{value:{observableValue:t.value,filter:function(){return n(getTextValue(t.value)),!1}}},function(){return React.createElement(CustomIdentityPickerDropdown,__assign({},t,{suggestionsVisible:s,onChange:r,onInputChange:n,onSuggestionsVisibleChanged:e,textValue:a,suggestionItemsMaximumCount:t.suggestionItemsMaximumCount,suggestionsContainerAriaLabel:t.suggestionsContainerAriaLabel}))})};function getTextValue(e){return e&&ObservableLike.getValue(e)?ObservableLike.getValue(e).displayName:""}export{IdentityPickerDropdown};