UNPKG

matrix-react-sdk

Version:
78 lines (75 loc) 14.4 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.PollHistory = void 0; var _react = _interopRequireWildcard(require("react")); var _languageHandler = require("../../../../languageHandler"); var _PollHistoryList = require("./PollHistoryList"); var _PollDetailHeader = require("./PollDetailHeader"); var _PollDetail = require("./PollDetail"); var _usePollHistory = require("./usePollHistory"); var _fetchPastPolls = require("./fetchPastPolls"); var _Heading = _interopRequireDefault(require("../../typography/Heading")); 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 2023 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. */ const sortEventsByLatest = (left, right) => right.getTs() - left.getTs(); const filterPolls = filter => poll => // exclude polls while they are still loading // to avoid jitter in list !poll.isFetchingResponses && filter === "ACTIVE" !== poll.isEnded; const filterAndSortPolls = (polls, filter) => { return [...polls.values()].filter(filterPolls(filter)).map(poll => poll.rootEvent).sort(sortEventsByLatest); }; const PollHistory = ({ room, matrixClient, permalinkCreator, onFinished }) => { const { polls } = (0, _usePollHistory.usePollsWithRelations)(room.roomId, matrixClient); const { isLoading, loadMorePolls, oldestEventTimestamp } = (0, _fetchPastPolls.useFetchPastPolls)(room, matrixClient); const [filter, setFilter] = (0, _react.useState)("ACTIVE"); const [focusedPollId, setFocusedPollId] = (0, _react.useState)(null); const pollStartEvents = filterAndSortPolls(polls, filter); const isLoadingPollResponses = [...polls.values()].some(poll => poll.isFetchingResponses); const focusedPoll = focusedPollId ? polls.get(focusedPollId) : undefined; const title = focusedPoll ? /*#__PURE__*/_react.default.createElement(_PollDetailHeader.PollDetailHeader, { filter: filter, onNavigateBack: () => setFocusedPollId(null) }) : (0, _languageHandler._t)("right_panel|polls_button"); return /*#__PURE__*/_react.default.createElement("div", { className: "mx_PollHistory_content" }, /*#__PURE__*/_react.default.createElement(_Heading.default, { className: "mx_PollHistory_header", size: "2" }, title), focusedPoll ? /*#__PURE__*/_react.default.createElement(_PollDetail.PollDetail, { poll: focusedPoll, permalinkCreator: permalinkCreator, requestModalClose: onFinished }) : /*#__PURE__*/_react.default.createElement(_PollHistoryList.PollHistoryList, { onItemClick: setFocusedPollId, pollStartEvents: pollStartEvents, isLoading: isLoading || isLoadingPollResponses, oldestFetchedEventTimestamp: oldestEventTimestamp, polls: polls, filter: filter, onFilterChange: setFilter, loadMorePolls: loadMorePolls })); }; exports.PollHistory = PollHistory; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX1BvbGxIaXN0b3J5TGlzdCIsIl9Qb2xsRGV0YWlsSGVhZGVyIiwiX1BvbGxEZXRhaWwiLCJfdXNlUG9sbEhpc3RvcnkiLCJfZmV0Y2hQYXN0UG9sbHMiLCJfSGVhZGluZyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJzb3J0RXZlbnRzQnlMYXRlc3QiLCJsZWZ0IiwicmlnaHQiLCJnZXRUcyIsImZpbHRlclBvbGxzIiwiZmlsdGVyIiwicG9sbCIsImlzRmV0Y2hpbmdSZXNwb25zZXMiLCJpc0VuZGVkIiwiZmlsdGVyQW5kU29ydFBvbGxzIiwicG9sbHMiLCJ2YWx1ZXMiLCJtYXAiLCJyb290RXZlbnQiLCJzb3J0IiwiUG9sbEhpc3RvcnkiLCJyb29tIiwibWF0cml4Q2xpZW50IiwicGVybWFsaW5rQ3JlYXRvciIsIm9uRmluaXNoZWQiLCJ1c2VQb2xsc1dpdGhSZWxhdGlvbnMiLCJyb29tSWQiLCJpc0xvYWRpbmciLCJsb2FkTW9yZVBvbGxzIiwib2xkZXN0RXZlbnRUaW1lc3RhbXAiLCJ1c2VGZXRjaFBhc3RQb2xscyIsInNldEZpbHRlciIsInVzZVN0YXRlIiwiZm9jdXNlZFBvbGxJZCIsInNldEZvY3VzZWRQb2xsSWQiLCJwb2xsU3RhcnRFdmVudHMiLCJpc0xvYWRpbmdQb2xsUmVzcG9uc2VzIiwic29tZSIsImZvY3VzZWRQb2xsIiwidW5kZWZpbmVkIiwidGl0bGUiLCJjcmVhdGVFbGVtZW50IiwiUG9sbERldGFpbEhlYWRlciIsIm9uTmF2aWdhdGVCYWNrIiwiX3QiLCJjbGFzc05hbWUiLCJzaXplIiwiUG9sbERldGFpbCIsInJlcXVlc3RNb2RhbENsb3NlIiwiUG9sbEhpc3RvcnlMaXN0Iiwib25JdGVtQ2xpY2siLCJvbGRlc3RGZXRjaGVkRXZlbnRUaW1lc3RhbXAiLCJvbkZpbHRlckNoYW5nZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9wb2xscy9wb2xsSGlzdG9yeS9Qb2xsSGlzdG9yeS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBNYXRyaXhDbGllbnQsIE1hdHJpeEV2ZW50LCBQb2xsLCBSb29tIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuXG5pbXBvcnQgeyBfdCB9IGZyb20gXCIuLi8uLi8uLi8uLi9sYW5ndWFnZUhhbmRsZXJcIjtcbmltcG9ydCB7IFBvbGxIaXN0b3J5TGlzdCB9IGZyb20gXCIuL1BvbGxIaXN0b3J5TGlzdFwiO1xuaW1wb3J0IHsgUG9sbEhpc3RvcnlGaWx0ZXIgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgUG9sbERldGFpbEhlYWRlciB9IGZyb20gXCIuL1BvbGxEZXRhaWxIZWFkZXJcIjtcbmltcG9ydCB7IFBvbGxEZXRhaWwgfSBmcm9tIFwiLi9Qb2xsRGV0YWlsXCI7XG5pbXBvcnQgeyBSb29tUGVybWFsaW5rQ3JlYXRvciB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlscy9wZXJtYWxpbmtzL1Blcm1hbGlua3NcIjtcbmltcG9ydCB7IHVzZVBvbGxzV2l0aFJlbGF0aW9ucyB9IGZyb20gXCIuL3VzZVBvbGxIaXN0b3J5XCI7XG5pbXBvcnQgeyB1c2VGZXRjaFBhc3RQb2xscyB9IGZyb20gXCIuL2ZldGNoUGFzdFBvbGxzXCI7XG5pbXBvcnQgSGVhZGluZyBmcm9tIFwiLi4vLi4vdHlwb2dyYXBoeS9IZWFkaW5nXCI7XG5cbnR5cGUgUG9sbEhpc3RvcnlQcm9wcyA9IHtcbiAgICByb29tOiBSb29tO1xuICAgIG1hdHJpeENsaWVudDogTWF0cml4Q2xpZW50O1xuICAgIHBlcm1hbGlua0NyZWF0b3I6IFJvb21QZXJtYWxpbmtDcmVhdG9yO1xuICAgIG9uRmluaXNoZWQoKTogdm9pZDtcbn07XG5cbmNvbnN0IHNvcnRFdmVudHNCeUxhdGVzdCA9IChsZWZ0OiBNYXRyaXhFdmVudCwgcmlnaHQ6IE1hdHJpeEV2ZW50KTogbnVtYmVyID0+IHJpZ2h0LmdldFRzKCkgLSBsZWZ0LmdldFRzKCk7XG5jb25zdCBmaWx0ZXJQb2xscyA9XG4gICAgKGZpbHRlcjogUG9sbEhpc3RvcnlGaWx0ZXIpID0+XG4gICAgKHBvbGw6IFBvbGwpOiBib29sZWFuID0+XG4gICAgICAgIC8vIGV4Y2x1ZGUgcG9sbHMgd2hpbGUgdGhleSBhcmUgc3RpbGwgbG9hZGluZ1xuICAgICAgICAvLyB0byBhdm9pZCBqaXR0ZXIgaW4gbGlzdFxuICAgICAgICAhcG9sbC5pc0ZldGNoaW5nUmVzcG9uc2VzICYmIChmaWx0ZXIgPT09IFwiQUNUSVZFXCIpICE9PSBwb2xsLmlzRW5kZWQ7XG5cbmNvbnN0IGZpbHRlckFuZFNvcnRQb2xscyA9IChwb2xsczogTWFwPHN0cmluZywgUG9sbD4sIGZpbHRlcjogUG9sbEhpc3RvcnlGaWx0ZXIpOiBNYXRyaXhFdmVudFtdID0+IHtcbiAgICByZXR1cm4gWy4uLnBvbGxzLnZhbHVlcygpXVxuICAgICAgICAuZmlsdGVyKGZpbHRlclBvbGxzKGZpbHRlcikpXG4gICAgICAgIC5tYXAoKHBvbGwpID0+IHBvbGwucm9vdEV2ZW50KVxuICAgICAgICAuc29ydChzb3J0RXZlbnRzQnlMYXRlc3QpO1xufTtcblxuZXhwb3J0IGNvbnN0IFBvbGxIaXN0b3J5OiBSZWFjdC5GQzxQb2xsSGlzdG9yeVByb3BzPiA9ICh7IHJvb20sIG1hdHJpeENsaWVudCwgcGVybWFsaW5rQ3JlYXRvciwgb25GaW5pc2hlZCB9KSA9PiB7XG4gICAgY29uc3QgeyBwb2xscyB9ID0gdXNlUG9sbHNXaXRoUmVsYXRpb25zKHJvb20ucm9vbUlkLCBtYXRyaXhDbGllbnQpO1xuICAgIGNvbnN0IHsgaXNMb2FkaW5nLCBsb2FkTW9yZVBvbGxzLCBvbGRlc3RFdmVudFRpbWVzdGFtcCB9ID0gdXNlRmV0Y2hQYXN0UG9sbHMocm9vbSwgbWF0cml4Q2xpZW50KTtcbiAgICBjb25zdCBbZmlsdGVyLCBzZXRGaWx0ZXJdID0gdXNlU3RhdGU8UG9sbEhpc3RvcnlGaWx0ZXI+KFwiQUNUSVZFXCIpO1xuICAgIGNvbnN0IFtmb2N1c2VkUG9sbElkLCBzZXRGb2N1c2VkUG9sbElkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3QgcG9sbFN0YXJ0RXZlbnRzID0gZmlsdGVyQW5kU29ydFBvbGxzKHBvbGxzLCBmaWx0ZXIpO1xuICAgIGNvbnN0IGlzTG9hZGluZ1BvbGxSZXNwb25zZXMgPSBbLi4ucG9sbHMudmFsdWVzKCldLnNvbWUoKHBvbGwpID0+IHBvbGwuaXNGZXRjaGluZ1Jlc3BvbnNlcyk7XG5cbiAgICBjb25zdCBmb2N1c2VkUG9sbCA9IGZvY3VzZWRQb2xsSWQgPyBwb2xscy5nZXQoZm9jdXNlZFBvbGxJZCkgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgdGl0bGUgPSBmb2N1c2VkUG9sbCA/IChcbiAgICAgICAgPFBvbGxEZXRhaWxIZWFkZXIgZmlsdGVyPXtmaWx0ZXJ9IG9uTmF2aWdhdGVCYWNrPXsoKSA9PiBzZXRGb2N1c2VkUG9sbElkKG51bGwpfSAvPlxuICAgICkgOiAoXG4gICAgICAgIF90KFwicmlnaHRfcGFuZWx8cG9sbHNfYnV0dG9uXCIpXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfUG9sbEhpc3RvcnlfY29udGVudFwiPlxuICAgICAgICAgICAgey8qIEBUT0RPIHRoaXMgcHJvYmFibHkgbmVlZHMgc29tZSBzdHlsZSAqL31cbiAgICAgICAgICAgIDxIZWFkaW5nIGNsYXNzTmFtZT1cIm14X1BvbGxIaXN0b3J5X2hlYWRlclwiIHNpemU9XCIyXCI+XG4gICAgICAgICAgICAgICAge3RpdGxlfVxuICAgICAgICAgICAgPC9IZWFkaW5nPlxuICAgICAgICAgICAge2ZvY3VzZWRQb2xsID8gKFxuICAgICAgICAgICAgICAgIDxQb2xsRGV0YWlsIHBvbGw9e2ZvY3VzZWRQb2xsfSBwZXJtYWxpbmtDcmVhdG9yPXtwZXJtYWxpbmtDcmVhdG9yfSByZXF1ZXN0TW9kYWxDbG9zZT17b25GaW5pc2hlZH0gLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPFBvbGxIaXN0b3J5TGlzdFxuICAgICAgICAgICAgICAgICAgICBvbkl0ZW1DbGljaz17c2V0Rm9jdXNlZFBvbGxJZH1cbiAgICAgICAgICAgICAgICAgICAgcG9sbFN0YXJ0RXZlbnRzPXtwb2xsU3RhcnRFdmVudHN9XG4gICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nIHx8IGlzTG9hZGluZ1BvbGxSZXNwb25zZXN9XG4gICAgICAgICAgICAgICAgICAgIG9sZGVzdEZldGNoZWRFdmVudFRpbWVzdGFtcD17b2xkZXN0RXZlbnRUaW1lc3RhbXB9XG4gICAgICAgICAgICAgICAgICAgIHBvbGxzPXtwb2xsc31cbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyPXtmaWx0ZXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uRmlsdGVyQ2hhbmdlPXtzZXRGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgICAgIGxvYWRNb3JlUG9sbHM9e2xvYWRNb3JlUG9sbHN9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxpQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssZUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sZUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sUUFBQSxHQUFBQyxzQkFBQSxDQUFBUixPQUFBO0FBQStDLFNBQUFTLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFYLHdCQUFBVyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsV0FBQUssT0FBQSxFQUFBTCxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEs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