UNPKG

matrix-react-sdk

Version:
126 lines (102 loc) 12.7 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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _CustomRoomTagStore = _interopRequireDefault(require("../../stores/CustomRoomTagStore")); var _AutoHideScrollbar = _interopRequireDefault(require("./AutoHideScrollbar")); var sdk = _interopRequireWildcard(require("../../index")); var _dispatcher = _interopRequireDefault(require("../../dispatcher/dispatcher")); var _classnames = _interopRequireDefault(require("classnames")); var FormattingUtils = _interopRequireWildcard(require("../../utils/FormattingUtils")); var _replaceableComponent = require("../../utils/replaceableComponent"); var _dec, _class; let CustomRoomTagPanel = (_dec = (0, _replaceableComponent.replaceableComponent)("structures.CustomRoomTagPanel"), _dec(_class = class CustomRoomTagPanel extends _react.default.Component { constructor(props) { super(props); this.state = { tags: _CustomRoomTagStore.default.getSortedTags() }; } componentDidMount() { this._tagStoreToken = _CustomRoomTagStore.default.addListener(() => { this.setState({ tags: _CustomRoomTagStore.default.getSortedTags() }); }); } componentWillUnmount() { if (this._tagStoreToken) { this._tagStoreToken.remove(); } } render() { const tags = this.state.tags.map(tag => { return /*#__PURE__*/_react.default.createElement(CustomRoomTagTile, { tag: tag, key: tag.name }); }); const classes = (0, _classnames.default)('mx_CustomRoomTagPanel', { mx_CustomRoomTagPanel_empty: this.state.tags.length === 0 }); return /*#__PURE__*/_react.default.createElement("div", { className: classes }, /*#__PURE__*/_react.default.createElement("div", { className: "mx_CustomRoomTagPanel_divider" }), /*#__PURE__*/_react.default.createElement(_AutoHideScrollbar.default, { className: "mx_CustomRoomTagPanel_scroller" }, tags)); } }) || _class); class CustomRoomTagTile extends _react.default.Component { constructor(...args) { super(...args); (0, _defineProperty2.default)(this, "onClick", () => { _dispatcher.default.dispatch({ action: 'select_custom_room_tag', tag: this.props.tag.name }); }); } render() { const BaseAvatar = sdk.getComponent('avatars.BaseAvatar'); const AccessibleTooltipButton = sdk.getComponent('elements.AccessibleTooltipButton'); const tag = this.props.tag; const avatarHeight = 40; const className = (0, _classnames.default)({ "CustomRoomTagPanel_tileSelected": tag.selected }); const name = tag.name; const badgeNotifState = tag.badgeNotifState; let badgeElement; if (badgeNotifState) { const badgeClasses = (0, _classnames.default)({ "mx_TagTile_badge": true, "mx_TagTile_badgeHighlight": badgeNotifState.hasMentions }); badgeElement = /*#__PURE__*/_react.default.createElement("div", { className: badgeClasses }, FormattingUtils.formatCount(badgeNotifState.count)); } return /*#__PURE__*/_react.default.createElement(AccessibleTooltipButton, { className: className, onClick: this.onClick, title: name }, /*#__PURE__*/_react.default.createElement("div", { className: "mx_TagTile_avatar" }, /*#__PURE__*/_react.default.createElement(BaseAvatar, { name: tag.avatarLetter, idName: name, width: avatarHeight, height: avatarHeight }), badgeElement)); } } var _default = CustomRoomTagPanel; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3N0cnVjdHVyZXMvQ3VzdG9tUm9vbVRhZ1BhbmVsLmpzIl0sIm5hbWVzIjpbIkN1c3RvbVJvb21UYWdQYW5lbCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInN0YXRlIiwidGFncyIsIkN1c3RvbVJvb21UYWdTdG9yZSIsImdldFNvcnRlZFRhZ3MiLCJjb21wb25lbnREaWRNb3VudCIsIl90YWdTdG9yZVRva2VuIiwiYWRkTGlzdGVuZXIiLCJzZXRTdGF0ZSIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwicmVtb3ZlIiwicmVuZGVyIiwibWFwIiwidGFnIiwibmFtZSIsImNsYXNzZXMiLCJteF9DdXN0b21Sb29tVGFnUGFuZWxfZW1wdHkiLCJsZW5ndGgiLCJDdXN0b21Sb29tVGFnVGlsZSIsImRpcyIsImRpc3BhdGNoIiwiYWN0aW9uIiwiQmFzZUF2YXRhciIsInNkayIsImdldENvbXBvbmVudCIsIkFjY2Vzc2libGVUb29sdGlwQnV0dG9uIiwiYXZhdGFySGVpZ2h0IiwiY2xhc3NOYW1lIiwic2VsZWN0ZWQiLCJiYWRnZU5vdGlmU3RhdGUiLCJiYWRnZUVsZW1lbnQiLCJiYWRnZUNsYXNzZXMiLCJoYXNNZW50aW9ucyIsIkZvcm1hdHRpbmdVdGlscyIsImZvcm1hdENvdW50IiwiY291bnQiLCJvbkNsaWNrIiwiYXZhdGFyTGV0dGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBZ0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0lBR01BLGtCLFdBREwsZ0RBQXFCLCtCQUFyQixDLGdCQUFELE1BQ01BLGtCQUROLFNBQ2lDQyxlQUFNQyxTQUR2QyxDQUNpRDtBQUM3Q0MsRUFBQUEsV0FBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0EsU0FBS0MsS0FBTCxHQUFhO0FBQ1RDLE1BQUFBLElBQUksRUFBRUMsNEJBQW1C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LE1BQUEsS0FBSyxFQUFFWSxZQUhYO0FBSUksTUFBQSxNQUFNLEVBQUVBO0FBSlosTUFESixFQU9NSSxZQVBOLENBREosQ0FESjtBQWFIOztBQXRDMkM7O2VBeUNqQ2xDLGtCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkLlxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ3VzdG9tUm9vbVRhZ1N0b3JlIGZyb20gJy4uLy4uL3N0b3Jlcy9DdXN0b21Sb29tVGFnU3RvcmUnO1xuaW1wb3J0IEF1dG9IaWRlU2Nyb2xsYmFyIGZyb20gJy4vQXV0b0hpZGVTY3JvbGxiYXInO1xuaW1wb3J0ICogYXMgc2RrIGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCBkaXMgZnJvbSAnLi4vLi4vZGlzcGF0Y2hlci9kaXNwYXRjaGVyJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0ICogYXMgRm9ybWF0dGluZ1V0aWxzIGZyb20gJy4uLy4uL3V0aWxzL0Zvcm1hdHRpbmdVdGlscyc7XG5pbXBvcnQge3JlcGxhY2VhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vdXRpbHMvcmVwbGFjZWFibGVDb21wb25lbnRcIjtcblxuQHJlcGxhY2VhYmxlQ29tcG9uZW50KFwic3RydWN0dXJlcy5DdXN0b21Sb29tVGFnUGFuZWxcIilcbmNsYXNzIEN1c3RvbVJvb21UYWdQYW5lbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgdGFnczogQ3VzdG9tUm9vbVRhZ1N0b3JlLmdldFNvcnRlZFRhZ3MoKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgICAgdGhpcy5fdGFnU3RvcmVUb2tlbiA9IEN1c3RvbVJvb21UYWdTdG9yZS5hZGRMaXN0ZW5lcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHt0YWdzOiBDdXN0b21Sb29tVGFnU3RvcmUuZ2V0U29ydGVkVGFncygpfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgICBpZiAodGhpcy5fdGFnU3RvcmVUb2tlbikge1xuICAgICAgICAgICAgdGhpcy5fdGFnU3RvcmVUb2tlbi5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgdGFncyA9IHRoaXMuc3RhdGUudGFncy5tYXAoKHRhZykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuICg8Q3VzdG9tUm9vbVRhZ1RpbGUgdGFnPXt0YWd9IGtleT17dGFnLm5hbWV9IC8+KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzTmFtZXMoJ214X0N1c3RvbVJvb21UYWdQYW5lbCcsIHtcbiAgICAgICAgICAgIG14X0N1c3RvbVJvb21UYWdQYW5lbF9lbXB0eTogdGhpcy5zdGF0ZS50YWdzLmxlbmd0aCA9PT0gMCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuICg8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlc30+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0N1c3RvbVJvb21UYWdQYW5lbF9kaXZpZGVyXCIgLz5cbiAgICAgICAgICAgIDxBdXRvSGlkZVNjcm9sbGJhciBjbGFzc05hbWU9XCJteF9DdXN0b21Sb29tVGFnUGFuZWxfc2Nyb2xsZXJcIj5cbiAgICAgICAgICAgICAgICB7dGFnc31cbiAgICAgICAgICAgIDwvQXV0b0hpZGVTY3JvbGxiYXI+XG4gICAgICAgIDwvZGl2Pik7XG4gICAgfVxufVxuXG5jbGFzcyBDdXN0b21Sb29tVGFnVGlsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgb25DbGljayA9ICgpID0+IHtcbiAgICAgICAgZGlzLmRpc3BhdGNoKHthY3Rpb246ICdzZWxlY3RfY3VzdG9tX3Jvb21fdGFnJywgdGFnOiB0aGlzLnByb3BzLnRhZy5uYW1lfSk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgQmFzZUF2YXRhciA9IHNkay5nZXRDb21wb25lbnQoJ2F2YXRhcnMuQmFzZUF2YXRhcicpO1xuICAgICAgICBjb25zdCBBY2Nlc3NpYmxlVG9vbHRpcEJ1dHRvbiA9IHNkay5nZXRDb21wb25lbnQoJ2VsZW1lbnRzLkFjY2Vzc2libGVUb29sdGlwQnV0dG9uJyk7XG5cbiAgICAgICAgY29uc3QgdGFnID0gdGhpcy5wcm9wcy50YWc7XG4gICAgICAgIGNvbnN0IGF2YXRhckhlaWdodCA9IDQwO1xuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBjbGFzc05hbWVzKHtcbiAgICAgICAgICAgIFwiQ3VzdG9tUm9vbVRhZ1BhbmVsX3RpbGVTZWxlY3RlZFwiOiB0YWcuc2VsZWN0ZWQsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBuYW1lID0gdGFnLm5hbWU7XG4gICAgICAgIGNvbnN0IGJhZGdlTm90aWZTdGF0ZSA9IHRhZy5iYWRnZU5vdGlmU3RhdGU7XG4gICAgICAgIGxldCBiYWRnZUVsZW1lbnQ7XG4gICAgICAgIGlmIChiYWRnZU5vdGlmU3RhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGJhZGdlQ2xhc3NlcyA9IGNsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgIFwibXhfVGFnVGlsZV9iYWRnZVwiOiB0cnVlLFxuICAgICAgICAgICAgICAgIFwibXhfVGFnVGlsZV9iYWRnZUhpZ2hsaWdodFwiOiBiYWRnZU5vdGlmU3RhdGUuaGFzTWVudGlvbnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGJhZGdlRWxlbWVudCA9ICg8ZGl2IGNsYXNzTmFtZT17YmFkZ2VDbGFzc2VzfT57Rm9ybWF0dGluZ1V0aWxzLmZvcm1hdENvdW50KGJhZGdlTm90aWZTdGF0ZS5jb3VudCl9PC9kaXY+KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QWNjZXNzaWJsZVRvb2x0aXBCdXR0b24gY2xhc3NOYW1lPXtjbGFzc05hbWV9IG9uQ2xpY2s9e3RoaXMub25DbGlja30gdGl0bGU9e25hbWV9PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfVGFnVGlsZV9hdmF0YXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPEJhc2VBdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e3RhZy5hdmF0YXJMZXR0ZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZE5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17YXZhdGFySGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXthdmF0YXJIZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIHsgYmFkZ2VFbGVtZW50IH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvQWNjZXNzaWJsZVRvb2x0aXBCdXR0b24+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDdXN0b21Sb29tVGFnUGFuZWw7XG4iXX0=