azure-devops-ui
Version:
React components for building web UI in Azure DevOps
36 lines (35 loc) • 3.54 kB
JavaScript
import { __assign, __extends } from "tslib";
import "../../CommonImports";
import "../../Core/core.css";
import "./IdentityPickerSuggestionsList.css";
import * as React from "react";
import { Callout } from '../../Callout';
import { IdentityCard } from '../../IdentityCard';
import { Observer } from '../../Observer';
import * as Resources from '../../Resources.IdentityPicker';
import { SuggestionsList } from '../../SuggestionsList';
import { css } from '../../Util';
var IdentityPickerSuggestionsList = /** @class */ (function (_super) {
__extends(IdentityPickerSuggestionsList, _super);
function IdentityPickerSuggestionsList() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.renderNoIdentitiesFound = function () {
return (React.createElement("div", { className: "bolt-identitypickerdropdown-noresults flex-row flex-grow flex-center" }, _this.props.noResultsFoundText || Resources.IdentityPickerNoResultsText));
};
return _this;
}
IdentityPickerSuggestionsList.prototype.render = function () {
var _this = this;
return (React.createElement(React.Fragment, null,
React.createElement(Observer, { suggestionsVisible: this.props.suggestionsVisible, suggestionsLoading: this.props.isLoading, selectedIndex: this.props.selectedIndex, suggestions: this.props.suggestions }, function (props) {
var _a, _b;
return props.suggestionsVisible ? (React.createElement(Callout, __assign({}, _this.props.calloutProps, { className: css("bolt-identitypickerdropdown-callout", _this.props.calloutProps.className), contentClassName: css("bolt-identitypickerdropdown-callout-content flex-row flex-grow", _this.props.calloutProps.contentClassName) }),
React.createElement(SuggestionsList, __assign({}, _this.props, { className: css("bolt-identitypickerdropdown-list", _this.props.className), isLoading: props.suggestionsLoading, loadingText: _this.props.loadingText || Resources.IdentityPickerLoadingText, renderNoResultFound: _this.renderNoIdentitiesFound, renderSuggestion: _this.props.renderSuggestion, onBlur: _this.props.onBlur, onFocus: _this.props.onFocus, resultsMaximumNumber: ((_a = _this.props.resultsMaximumNumber) !== null && _a !== void 0 ? _a : 25) > 0 ? (_b = _this.props.resultsMaximumNumber) !== null && _b !== void 0 ? _b : 25 : undefined, suggestionsItemClassName: css("bolt-identitypickerdropdown-item", _this.props.suggestionsItemClassName), suggestions: props.suggestions, selectedIndex: props.selectedIndex, width: _this.props.width, suggestionsContainerAriaLabel: _this.props.suggestionsContainerAriaLabel })))) : (React.createElement("div", null));
}),
React.createElement(Observer, { openedIdentityCard: this.props.openedIdentityCard }, function (props) {
return props.openedIdentityCard ? (React.createElement(IdentityCard, { getEntityFromUniqueAttribute: _this.props.pickerProvider.getEntityFromUniqueAttribute, key: props.openedIdentityCard.entityId, identity: props.openedIdentityCard, target: _this.props.suggestionTarget, onDismissCallback: _this.props.onClosePersonaCard, onRequestConnectionInformation: _this.props.pickerProvider.onRequestConnectionInformation, imageUrlResolver: _this.props.imageUrlResolver })) : (React.createElement("div", null));
})));
};
return IdentityPickerSuggestionsList;
}(React.Component));
export { IdentityPickerSuggestionsList };