UNPKG

matrix-react-sdk

Version:
125 lines (103 loc) 12.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var sdk = _interopRequireWildcard(require("../../../index")); var _languageHandler = require("../../../languageHandler"); var _replaceableComponent = require("../../../utils/replaceableComponent"); var _dec, _class; let DirectorySearchBox = (_dec = (0, _replaceableComponent.replaceableComponent)("views.elements.DirectorySearchBox"), _dec(_class = class DirectorySearchBox extends _react.default.Component { constructor(props) { super(props); this._collectInput = this._collectInput.bind(this); this._onClearClick = this._onClearClick.bind(this); this._onChange = this._onChange.bind(this); this._onKeyUp = this._onKeyUp.bind(this); this._onJoinButtonClick = this._onJoinButtonClick.bind(this); this.input = null; this.state = { value: this.props.initialText || '' }; } _collectInput(e) { this.input = e; } _onClearClick() { this.setState({ value: '' }); if (this.input) { this.input.focus(); if (this.props.onClear) { this.props.onClear(); } } } _onChange(ev) { if (!this.input) return; this.setState({ value: ev.target.value }); if (this.props.onChange) { this.props.onChange(ev.target.value); } } _onKeyUp(ev) { if (ev.key == 'Enter' && this.props.showJoinButton) { if (this.props.onJoinClick) { this.props.onJoinClick(this.state.value); } } } _onJoinButtonClick() { if (this.props.onJoinClick) { this.props.onJoinClick(this.state.value); } } render() { const AccessibleButton = sdk.getComponent('elements.AccessibleButton'); const searchboxClasses = { mx_DirectorySearchBox: true }; searchboxClasses[this.props.className] = true; let joinButton; if (this.props.showJoinButton) { joinButton = /*#__PURE__*/_react.default.createElement(AccessibleButton, { className: "mx_DirectorySearchBox_joinButton", onClick: this._onJoinButtonClick }, (0, _languageHandler._t)("Join")); } return /*#__PURE__*/_react.default.createElement("div", { className: `mx_DirectorySearchBox ${this.props.className} mx_textinput` }, /*#__PURE__*/_react.default.createElement("input", { type: "text", name: "dirsearch", value: this.state.value, className: "mx_textinput_icon mx_textinput_search", ref: this._collectInput, onChange: this._onChange, onKeyUp: this._onKeyUp, placeholder: this.props.placeholder, autoFocus: true }), joinButton, /*#__PURE__*/_react.default.createElement(AccessibleButton, { className: "mx_DirectorySearchBox_clear", onClick: this._onClearClick })); } }) || _class); exports.default = DirectorySearchBox; DirectorySearchBox.propTypes = { className: _propTypes.default.string, onChange: _propTypes.default.func, onClear: _propTypes.default.func, onJoinClick: _propTypes.default.func, placeholder: _propTypes.default.string, showJoinButton: _propTypes.default.bool, initialText: _propTypes.default.string }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL0RpcmVjdG9yeVNlYXJjaEJveC5qcyJdLCJuYW1lcyI6WyJEaXJlY3RvcnlTZWFyY2hCb3giLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfY29sbGVjdElucHV0IiwiYmluZCIsIl9vbkNsZWFyQ2xpY2siLCJfb25DaGFuZ2UiLCJfb25LZXlVcCIsIl9vbkpvaW5CdXR0b25DbGljayIsImlucHV0Iiwic3RhdGUiLCJ2YWx1ZSIsImluaXRpYWxUZXh0IiwiZSIsInNldFN0YXRlIiwiZm9jdXMiLCJvbkNsZWFyIiwiZXYiLCJ0YXJnZXQiLCJvbkNoYW5nZSIsImtleSIsInNob3dKb2luQnV0dG9uIiwib25Kb2luQ2xpY2siLCJyZW5kZXIiLCJBY2Nlc3NpYmxlQnV0dG9uIiwic2RrIiwiZ2V0Q29tcG9uZW50Iiwic2VhcmNoYm94Q2xhc3NlcyIsIm14X0RpcmVjdG9yeVNlYXJjaEJveCIsImNsYXNzTmFtZSIsImpvaW5CdXR0b24iLCJwbGFjZWhvbGRlciIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImZ1bmMiLCJib29sIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWdCQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztJQUdxQkEsa0IsV0FEcEIsZ0RBQXFCLG1DQUFyQixDLGdCQUFELE1BQ3FCQSxrQkFEckIsU0FDZ0RDLGVBQU1DLFNBRHRELENBQ2dFO0FBQzVEQyxFQUFBQSxXQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDQSxTQUFLQyxhQUFMLEdBQXFCLEtBQUtBLGFBQUwsQ0FBbUJDLElBQW5CLENBQXdCLElBQXhCLENBQXJCO0FBQ0EsU0FBS0MsYUFBTCxHQUFxQixLQUFLQSxhQUFMLENBQW1CRCxJQUFuQixDQUF3QixJQUF4QixDQUFyQjtBQUNBLFNBQUtFLFNBQUwsR0FBaUIsS0FBS0EsU0FB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QUUsS0FBS0csU0FObkI7QUFPSSxNQUFBLE9BQU8sRUFBRSxLQUFLQyxRQVBsQjtBQVFJLE1BQUEsV0FBVyxFQUFFLEtBQUtMLEtBQUwsQ0FBVzZCLFdBUjVCO0FBU0ksTUFBQSxTQUFTO0FBVGIsTUFERyxFQVlERCxVQVpDLGVBYUgsNkJBQUMsZ0JBQUQ7QUFBa0IsTUFBQSxTQUFTLEVBQUMsNkJBQTVCO0FBQTBELE1BQUEsT0FBTyxFQUFFLEtBQUt6QjtBQUF4RSxNQWJHLENBQVA7QUFlSDs7QUFyRjJELEM7O0FBd0ZoRVAsa0JBQWtCLENBQUNrQyxTQUFuQixHQUErQjtBQUMzQkgsRUFBQUEsU0FBUyxFQUFFSSxtQkFBVUMsTUFETTtBQUUzQmYsRUFBQUEsUUFBUSxFQUFFYyxtQkFBVUUsSUFGTztBQUczQm5CLEVBQUFBLE9BQU8sRUFBRWlCLG1CQUFVRSxJQUhRO0FBSTNCYixFQUFBQSxXQUFXLEVBQUVXLG1CQUFVRSxJQUpJO0FBSzNCSixFQUFBQSxXQUFXLEVBQUVFLG1CQUFVQyxNQUxJO0FBTTNCYixFQUFBQSxjQUFjLEVBQUVZLG1CQUFVRyxJQU5DO0FBTzNCeEIsRUFBQUEsV0FBVyxFQUFFcUIsbUJBQVVDO0FBUEksQ0FBL0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMTYgT3Blbk1hcmtldCBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCAqIGFzIHNkayBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBfdCB9IGZyb20gJy4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlcic7XG5pbXBvcnQge3JlcGxhY2VhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvcmVwbGFjZWFibGVDb21wb25lbnRcIjtcblxuQHJlcGxhY2VhYmxlQ29tcG9uZW50KFwidmlld3MuZWxlbWVudHMuRGlyZWN0b3J5U2VhcmNoQm94XCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEaXJlY3RvcnlTZWFyY2hCb3ggZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5fY29sbGVjdElucHV0ID0gdGhpcy5fY29sbGVjdElucHV0LmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuX29uQ2xlYXJDbGljayA9IHRoaXMuX29uQ2xlYXJDbGljay5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IHRoaXMuX29uQ2hhbmdlLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuX29uS2V5VXAgPSB0aGlzLl9vbktleVVwLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuX29uSm9pbkJ1dHRvbkNsaWNrID0gdGhpcy5fb25Kb2luQnV0dG9uQ2xpY2suYmluZCh0aGlzKTtcblxuICAgICAgICB0aGlzLmlucHV0ID0gbnVsbDtcblxuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMucHJvcHMuaW5pdGlhbFRleHQgfHwgJycsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgX2NvbGxlY3RJbnB1dChlKSB7XG4gICAgICAgIHRoaXMuaW5wdXQgPSBlO1xuICAgIH1cblxuICAgIF9vbkNsZWFyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe3ZhbHVlOiAnJ30pO1xuXG4gICAgICAgIGlmICh0aGlzLmlucHV0KSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0LmZvY3VzKCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uQ2xlYXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uQ2xlYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9vbkNoYW5nZShldikge1xuICAgICAgICBpZiAoIXRoaXMuaW5wdXQpIHJldHVybjtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7dmFsdWU6IGV2LnRhcmdldC52YWx1ZX0pO1xuXG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKGV2LnRhcmdldC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfb25LZXlVcChldikge1xuICAgICAgICBpZiAoZXYua2V5ID09ICdFbnRlcicgJiYgdGhpcy5wcm9wcy5zaG93Sm9pbkJ1dHRvbikge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25Kb2luQ2xpY2spIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uSm9pbkNsaWNrKHRoaXMuc3RhdGUudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgX29uSm9pbkJ1dHRvbkNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkpvaW5DbGljaykge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkpvaW5DbGljayh0aGlzLnN0YXRlLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgQWNjZXNzaWJsZUJ1dHRvbiA9IHNkay5nZXRDb21wb25lbnQoJ2VsZW1lbnRzLkFjY2Vzc2libGVCdXR0b24nKTtcblxuICAgICAgICBjb25zdCBzZWFyY2hib3hDbGFzc2VzID0ge1xuICAgICAgICAgICAgbXhfRGlyZWN0b3J5U2VhcmNoQm94OiB0cnVlLFxuICAgICAgICB9O1xuICAgICAgICBzZWFyY2hib3hDbGFzc2VzW3RoaXMucHJvcHMuY2xhc3NOYW1lXSA9IHRydWU7XG5cbiAgICAgICAgbGV0IGpvaW5CdXR0b247XG4gICAgICAgIGlmICh0aGlzLnByb3BzLnNob3dKb2luQnV0dG9uKSB7XG4gICAgICAgICAgICBqb2luQnV0dG9uID0gPEFjY2Vzc2libGVCdXR0b24gY2xhc3NOYW1lPVwibXhfRGlyZWN0b3J5U2VhcmNoQm94X2pvaW5CdXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuX29uSm9pbkJ1dHRvbkNsaWNrfVxuICAgICAgICAgICAgPntfdChcIkpvaW5cIil9PC9BY2Nlc3NpYmxlQnV0dG9uPjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17YG14X0RpcmVjdG9yeVNlYXJjaEJveCAke3RoaXMucHJvcHMuY2xhc3NOYW1lfSBteF90ZXh0aW5wdXRgfT5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZGlyc2VhcmNoXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteF90ZXh0aW5wdXRfaWNvbiBteF90ZXh0aW5wdXRfc2VhcmNoXCJcbiAgICAgICAgICAgICAgICByZWY9e3RoaXMuX2NvbGxlY3RJbnB1dH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5fb25DaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlVcD17dGhpcy5fb25LZXlVcH1cbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17dGhpcy5wcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7IGpvaW5CdXR0b24gfVxuICAgICAgICAgICAgPEFjY2Vzc2libGVCdXR0b24gY2xhc3NOYW1lPVwibXhfRGlyZWN0b3J5U2VhcmNoQm94X2NsZWFyXCIgb25DbGljaz17dGhpcy5fb25DbGVhckNsaWNrfSAvPlxuICAgICAgICA8L2Rpdj47XG4gICAgfVxufVxuXG5EaXJlY3RvcnlTZWFyY2hCb3gucHJvcFR5cGVzID0ge1xuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25DbGVhcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25Kb2luQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxuICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHNob3dKb2luQnV0dG9uOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpbml0aWFsVGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG4iXX0=