UNPKG

matrix-react-sdk

Version:
119 lines (117 loc) 18.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _languageHandler = require("../../../languageHandler"); var _StyledRadioGroup = _interopRequireDefault(require("../elements/StyledRadioGroup")); var _QueryMatcher = _interopRequireDefault(require("../../../autocomplete/QueryMatcher")); var _SearchBox = _interopRequireDefault(require("../../structures/SearchBox")); var _AutoHideScrollbar = _interopRequireDefault(require("../../structures/AutoHideScrollbar")); var _AddExistingToSpaceDialog = require("../dialogs/AddExistingToSpaceDialog"); var _arrays = require("../../../utils/arrays"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /* Copyright 2024 New Vector Ltd. Copyright 2021 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ var Target = /*#__PURE__*/function (Target) { Target["All"] = "All"; Target["Specific"] = "Specific"; Target["None"] = "None"; return Target; }(Target || {}); const SpecificChildrenPicker = ({ filterPlaceholder, rooms, selected, onChange }) => { const [query, setQuery] = (0, _react.useState)(""); const lcQuery = query.toLowerCase().trim(); const filteredRooms = (0, _react.useMemo)(() => { if (!lcQuery) { return rooms; } const matcher = new _QueryMatcher.default(rooms, { keys: ["name"], funcs: [r => (0, _arrays.filterBoolean)([r.getCanonicalAlias(), ...r.getAltAliases()])], shouldMatchWordsOnly: false }); return matcher.match(lcQuery); }, [rooms, lcQuery]); return /*#__PURE__*/_react.default.createElement("div", { className: "mx_SpaceChildrenPicker" }, /*#__PURE__*/_react.default.createElement(_SearchBox.default, { className: "mx_textinput_icon mx_textinput_search", placeholder: filterPlaceholder, onSearch: setQuery, autoFocus: true }), /*#__PURE__*/_react.default.createElement(_AutoHideScrollbar.default, null, filteredRooms.map(room => { return /*#__PURE__*/_react.default.createElement(_AddExistingToSpaceDialog.Entry, { key: room.roomId, room: room, checked: selected.has(room), onChange: checked => { onChange(checked, room); } }); }), filteredRooms.length < 1 ? /*#__PURE__*/_react.default.createElement("span", { className: "mx_SpaceChildrenPicker_noResults" }, (0, _languageHandler._t)("common|no_results")) : undefined)); }; const SpaceChildrenPicker = ({ space, spaceChildren, selected, onChange, noneLabel, allLabel, specificLabel }) => { const [state, setState] = (0, _react.useState)(noneLabel ? Target.None : Target.All); (0, _react.useEffect)(() => { if (state === Target.All) { onChange(spaceChildren); } else { onChange([]); } }, [onChange, state, spaceChildren]); return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { className: "mx_SpaceChildrenPicker" }, /*#__PURE__*/_react.default.createElement(_StyledRadioGroup.default, { name: "roomsToLeave", value: state, onChange: setState, definitions: [{ value: Target.None, label: noneLabel }, { value: Target.All, label: allLabel }, { value: Target.Specific, label: specificLabel }].filter(d => d.label) })), state === Target.Specific && /*#__PURE__*/_react.default.createElement(SpecificChildrenPicker, { filterPlaceholder: (0, _languageHandler._t)("space|search_children", { spaceName: space.name }), rooms: spaceChildren, selected: selected, onChange: (isSelected, room) => { if (isSelected) { onChange([room, ...selected]); } else { onChange([...selected].filter(r => r !== room)); } } })); }; var _default = exports.default = SpaceChildrenPicker; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX1N0eWxlZFJhZGlvR3JvdXAiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1F1ZXJ5TWF0Y2hlciIsIl9TZWFyY2hCb3giLCJfQXV0b0hpZGVTY3JvbGxiYXIiLCJfQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nIiwiX2FycmF5cyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlRhcmdldCIsIlNwZWNpZmljQ2hpbGRyZW5QaWNrZXIiLCJmaWx0ZXJQbGFjZWhvbGRlciIsInJvb21zIiwic2VsZWN0ZWQiLCJvbkNoYW5nZSIsInF1ZXJ5Iiwic2V0UXVlcnkiLCJ1c2VTdGF0ZSIsImxjUXVlcnkiLCJ0b0xvd2VyQ2FzZSIsInRyaW0iLCJmaWx0ZXJlZFJvb21zIiwidXNlTWVtbyIsIm1hdGNoZXIiLCJRdWVyeU1hdGNoZXIiLCJrZXlzIiwiZnVuY3MiLCJmaWx0ZXJCb29sZWFuIiwiZ2V0Q2Fub25pY2FsQWxpYXMiLCJnZXRBbHRBbGlhc2VzIiwic2hvdWxkTWF0Y2hXb3Jkc09ubHkiLCJtYXRjaCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJwbGFjZWhvbGRlciIsIm9uU2VhcmNoIiwiYXV0b0ZvY3VzIiwibWFwIiwicm9vbSIsIkVudHJ5Iiwia2V5Iiwicm9vbUlkIiwiY2hlY2tlZCIsImxlbmd0aCIsIl90IiwidW5kZWZpbmVkIiwiU3BhY2VDaGlsZHJlblBpY2tlciIsInNwYWNlIiwic3BhY2VDaGlsZHJlbiIsIm5vbmVMYWJlbCIsImFsbExhYmVsIiwic3BlY2lmaWNMYWJlbCIsInN0YXRlIiwic2V0U3RhdGUiLCJOb25lIiwiQWxsIiwidXNlRWZmZWN0IiwiRnJhZ21lbnQiLCJuYW1lIiwidmFsdWUiLCJkZWZpbml0aW9ucyIsImxhYmVsIiwiU3BlY2lmaWMiLCJmaWx0ZXIiLCJkIiwic3BhY2VOYW1lIiwiaXNTZWxlY3RlZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL3NwYWNlcy9TcGFjZUNoaWxkcmVuUGlja2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUm9vbSB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcblxuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgU3R5bGVkUmFkaW9Hcm91cCBmcm9tIFwiLi4vZWxlbWVudHMvU3R5bGVkUmFkaW9Hcm91cFwiO1xuaW1wb3J0IFF1ZXJ5TWF0Y2hlciBmcm9tIFwiLi4vLi4vLi4vYXV0b2NvbXBsZXRlL1F1ZXJ5TWF0Y2hlclwiO1xuaW1wb3J0IFNlYXJjaEJveCBmcm9tIFwiLi4vLi4vc3RydWN0dXJlcy9TZWFyY2hCb3hcIjtcbmltcG9ydCBBdXRvSGlkZVNjcm9sbGJhciBmcm9tIFwiLi4vLi4vc3RydWN0dXJlcy9BdXRvSGlkZVNjcm9sbGJhclwiO1xuaW1wb3J0IHsgRW50cnkgfSBmcm9tIFwiLi4vZGlhbG9ncy9BZGRFeGlzdGluZ1RvU3BhY2VEaWFsb2dcIjtcbmltcG9ydCB7IGZpbHRlckJvb2xlYW4gfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvYXJyYXlzXCI7XG5cbmVudW0gVGFyZ2V0IHtcbiAgICBBbGwgPSBcIkFsbFwiLFxuICAgIFNwZWNpZmljID0gXCJTcGVjaWZpY1wiLFxuICAgIE5vbmUgPSBcIk5vbmVcIixcbn1cblxuaW50ZXJmYWNlIElTcGVjaWZpY0NoaWxkcmVuUGlja2VyUHJvcHMge1xuICAgIGZpbHRlclBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgcm9vbXM6IFJvb21bXTtcbiAgICBzZWxlY3RlZDogU2V0PFJvb20+O1xuICAgIG9uQ2hhbmdlKHNlbGVjdGVkOiBib29sZWFuLCByb29tOiBSb29tKTogdm9pZDtcbn1cblxuY29uc3QgU3BlY2lmaWNDaGlsZHJlblBpY2tlcjogUmVhY3QuRkM8SVNwZWNpZmljQ2hpbGRyZW5QaWNrZXJQcm9wcz4gPSAoe1xuICAgIGZpbHRlclBsYWNlaG9sZGVyLFxuICAgIHJvb21zLFxuICAgIHNlbGVjdGVkLFxuICAgIG9uQ2hhbmdlLFxufSkgPT4ge1xuICAgIGNvbnN0IFtxdWVyeSwgc2V0UXVlcnldID0gdXNlU3RhdGUoXCJcIik7XG4gICAgY29uc3QgbGNRdWVyeSA9IHF1ZXJ5LnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuXG4gICAgY29uc3QgZmlsdGVyZWRSb29tcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoIWxjUXVlcnkpIHtcbiAgICAgICAgICAgIHJldHVybiByb29tcztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hdGNoZXIgPSBuZXcgUXVlcnlNYXRjaGVyPFJvb20+KHJvb21zLCB7XG4gICAgICAgICAgICBrZXlzOiBbXCJuYW1lXCJdLFxuICAgICAgICAgICAgZnVuY3M6IFsocikgPT4gZmlsdGVyQm9vbGVhbihbci5nZXRDYW5vbmljYWxBbGlhcygpLCAuLi5yLmdldEFsdEFsaWFzZXMoKV0pXSxcbiAgICAgICAgICAgIHNob3VsZE1hdGNoV29yZHNPbmx5OiBmYWxzZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG1hdGNoZXIubWF0Y2gobGNRdWVyeSk7XG4gICAgfSwgW3Jvb21zLCBsY1F1ZXJ5XSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X1NwYWNlQ2hpbGRyZW5QaWNrZXJcIj5cbiAgICAgICAgICAgIDxTZWFyY2hCb3hcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteF90ZXh0aW5wdXRfaWNvbiBteF90ZXh0aW5wdXRfc2VhcmNoXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17ZmlsdGVyUGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgb25TZWFyY2g9e3NldFF1ZXJ5fVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17dHJ1ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8QXV0b0hpZGVTY3JvbGxiYXI+XG4gICAgICAgICAgICAgICAge2ZpbHRlcmVkUm9vbXMubWFwKChyb29tKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8RW50cnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3Jvb20ucm9vbUlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb209e3Jvb219XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17c2VsZWN0ZWQuaGFzKHJvb20pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoY2hlY2tlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZShjaGVja2VkLCByb29tKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICB7ZmlsdGVyZWRSb29tcy5sZW5ndGggPCAxID8gKFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJteF9TcGFjZUNoaWxkcmVuUGlja2VyX25vUmVzdWx0c1wiPntfdChcImNvbW1vbnxub19yZXN1bHRzXCIpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICApIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgPC9BdXRvSGlkZVNjcm9sbGJhcj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmludGVyZmFjZSBJUHJvcHMge1xuICAgIHNwYWNlOiBSb29tO1xuICAgIHNwYWNlQ2hpbGRyZW46IFJvb21bXTtcbiAgICBzZWxlY3RlZDogU2V0PFJvb20+O1xuICAgIG5vbmVMYWJlbD86IHN0cmluZztcbiAgICBhbGxMYWJlbDogc3RyaW5nO1xuICAgIHNwZWNpZmljTGFiZWw6IHN0cmluZztcbiAgICBvbkNoYW5nZShyb29tczogUm9vbVtdKTogdm9pZDtcbn1cblxuY29uc3QgU3BhY2VDaGlsZHJlblBpY2tlcjogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gICAgc3BhY2UsXG4gICAgc3BhY2VDaGlsZHJlbixcbiAgICBzZWxlY3RlZCxcbiAgICBvbkNoYW5nZSxcbiAgICBub25lTGFiZWwsXG4gICAgYWxsTGFiZWwsXG4gICAgc3BlY2lmaWNMYWJlbCxcbn0pID0+IHtcbiAgICBjb25zdCBbc3RhdGUsIHNldFN0YXRlXSA9IHVzZVN0YXRlPHN0cmluZz4obm9uZUxhYmVsID8gVGFyZ2V0Lk5vbmUgOiBUYXJnZXQuQWxsKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChzdGF0ZSA9PT0gVGFyZ2V0LkFsbCkge1xuICAgICAgICAgICAgb25DaGFuZ2Uoc3BhY2VDaGlsZHJlbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvbkNoYW5nZShbXSk7XG4gICAgICAgIH1cbiAgICB9LCBbb25DaGFuZ2UsIHN0YXRlLCBzcGFjZUNoaWxkcmVuXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9TcGFjZUNoaWxkcmVuUGlja2VyXCI+XG4gICAgICAgICAgICAgICAgPFN0eWxlZFJhZGlvR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInJvb21zVG9MZWF2ZVwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtzdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3NldFN0YXRlfVxuICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9ucz17W1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBUYXJnZXQuTm9uZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogbm9uZUxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogVGFyZ2V0LkFsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYWxsTGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBUYXJnZXQuU3BlY2lmaWMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHNwZWNpZmljTGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLmZpbHRlcigoZCkgPT4gZC5sYWJlbCl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICB7c3RhdGUgPT09IFRhcmdldC5TcGVjaWZpYyAmJiAoXG4gICAgICAgICAgICAgICAgPFNwZWNpZmljQ2hpbGRyZW5QaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyUGxhY2Vob2xkZXI9e190KFwic3BhY2V8c2VhcmNoX2NoaWxkcmVuXCIsIHsgc3BhY2VOYW1lOiBzcGFjZS5uYW1lIH0pfVxuICAgICAgICAgICAgICAgICAgICByb29tcz17c3BhY2VDaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGlzU2VsZWN0ZWQ6IGJvb2xlYW4sIHJvb206IFJvb20pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2UoW3Jvb20sIC4uLnNlbGVjdGVkXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlKFsuLi5zZWxlY3RlZF0uZmlsdGVyKChyKSA9PiByICE9PSByb29tKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTcGFjZUNoaWxkcmVuUGlja2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxhQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7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