matrix-react-sdk
Version:
SDK for matrix.org using React
59 lines (55 loc) • 7.77 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PollStartEventPreview = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _InvalidEventError = require("matrix-js-sdk/src/extensible_events_v1/InvalidEventError");
var _PollStartEvent = require("matrix-js-sdk/src/extensible_events_v1/PollStartEvent");
var _languageHandler = require("../../../languageHandler");
var _utils = require("./utils");
var _MatrixClientContext = _interopRequireDefault(require("../../../contexts/MatrixClientContext"));
/*
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.
*/
class PollStartEventPreview {
getTextFor(event, tagId, isThread) {
let eventContent = event.getContent();
if (event.isRelation("m.replace")) {
// It's an edit, generate the preview on the new text
eventContent = event.getContent()["m.new_content"];
}
// Check we have the information we need, and bail out if not
if (!eventContent) {
return null;
}
try {
const poll = new _PollStartEvent.PollStartEvent({
type: event.getType(),
content: eventContent
});
let question = poll.question.text.trim();
question = (0, _languageHandler.sanitizeForTranslation)(question);
if (isThread || (0, _utils.isSelf)(event) || !(0, _utils.shouldPrefixMessagesIn)(event.getRoomId(), tagId)) {
return question;
} else {
return (0, _languageHandler._t)("event_preview|m.text", {
senderName: (0, _utils.getSenderName)(event),
message: question
});
}
} catch (e) {
if (e instanceof _InvalidEventError.InvalidEventError) {
return null;
}
throw e; // re-throw unknown errors
}
}
}
exports.PollStartEventPreview = PollStartEventPreview;
(0, _defineProperty2.default)(PollStartEventPreview, "contextType", _MatrixClientContext.default);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW52YWxpZEV2ZW50RXJyb3IiLCJyZXF1aXJlIiwiX1BvbGxTdGFydEV2ZW50IiwiX2xhbmd1YWdlSGFuZGxlciIsIl91dGlscyIsIl9NYXRyaXhDbGllbnRDb250ZXh0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIlBvbGxTdGFydEV2ZW50UHJldmlldyIsImdldFRleHRGb3IiLCJldmVudCIsInRhZ0lkIiwiaXNUaHJlYWQiLCJldmVudENvbnRlbnQiLCJnZXRDb250ZW50IiwiaXNSZWxhdGlvbiIsInBvbGwiLCJQb2xsU3RhcnRFdmVudCIsInR5cGUiLCJnZXRUeXBlIiwiY29udGVudCIsInF1ZXN0aW9uIiwidGV4dCIsInRyaW0iLCJzYW5pdGl6ZUZvclRyYW5zbGF0aW9uIiwiaXNTZWxmIiwic2hvdWxkUHJlZml4TWVzc2FnZXNJbiIsImdldFJvb21JZCIsIl90Iiwic2VuZGVyTmFtZSIsImdldFNlbmRlck5hbWUiLCJtZXNzYWdlIiwiZSIsIkludmFsaWRFdmVudEVycm9yIiwiZXhwb3J0cyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiTWF0cml4Q2xpZW50Q29udGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvcm9vbS1saXN0L3ByZXZpZXdzL1BvbGxTdGFydEV2ZW50UHJldmlldy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBNYXRyaXhFdmVudCwgUG9sbFN0YXJ0RXZlbnRDb250ZW50IH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuaW1wb3J0IHsgSW52YWxpZEV2ZW50RXJyb3IgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvZXh0ZW5zaWJsZV9ldmVudHNfdjEvSW52YWxpZEV2ZW50RXJyb3JcIjtcbmltcG9ydCB7IFBvbGxTdGFydEV2ZW50IH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL2V4dGVuc2libGVfZXZlbnRzX3YxL1BvbGxTdGFydEV2ZW50XCI7XG5cbmltcG9ydCB7IElQcmV2aWV3IH0gZnJvbSBcIi4vSVByZXZpZXdcIjtcbmltcG9ydCB7IFRhZ0lEIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xuaW1wb3J0IHsgX3QsIHNhbml0aXplRm9yVHJhbnNsYXRpb24gfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgeyBnZXRTZW5kZXJOYW1lLCBpc1NlbGYsIHNob3VsZFByZWZpeE1lc3NhZ2VzSW4gfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IE1hdHJpeENsaWVudENvbnRleHQgZnJvbSBcIi4uLy4uLy4uL2NvbnRleHRzL01hdHJpeENsaWVudENvbnRleHRcIjtcblxuZXhwb3J0IGNsYXNzIFBvbGxTdGFydEV2ZW50UHJldmlldyBpbXBsZW1lbnRzIElQcmV2aWV3IHtcbiAgICBwdWJsaWMgc3RhdGljIGNvbnRleHRUeXBlID0gTWF0cml4Q2xpZW50Q29udGV4dDtcbiAgICBwdWJsaWMgZGVjbGFyZSBjb250ZXh0OiBSZWFjdC5Db250ZXh0VHlwZTx0eXBlb2YgTWF0cml4Q2xpZW50Q29udGV4dD47XG5cbiAgICBwdWJsaWMgZ2V0VGV4dEZvcihldmVudDogTWF0cml4RXZlbnQsIHRhZ0lkPzogVGFnSUQsIGlzVGhyZWFkPzogYm9vbGVhbik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBsZXQgZXZlbnRDb250ZW50ID0gZXZlbnQuZ2V0Q29udGVudCgpO1xuXG4gICAgICAgIGlmIChldmVudC5pc1JlbGF0aW9uKFwibS5yZXBsYWNlXCIpKSB7XG4gICAgICAgICAgICAvLyBJdCdzIGFuIGVkaXQsIGdlbmVyYXRlIHRoZSBwcmV2aWV3IG9uIHRoZSBuZXcgdGV4dFxuICAgICAgICAgICAgZXZlbnRDb250ZW50ID0gZXZlbnQuZ2V0Q29udGVudCgpW1wibS5uZXdfY29udGVudFwiXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIHdlIGhhdmUgdGhlIGluZm9ybWF0aW9uIHdlIG5lZWQsIGFuZCBiYWlsIG91dCBpZiBub3RcbiAgICAgICAgaWYgKCFldmVudENvbnRlbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHBvbGwgPSBuZXcgUG9sbFN0YXJ0RXZlbnQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IGV2ZW50LmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICBjb250ZW50OiBldmVudENvbnRlbnQgYXMgUG9sbFN0YXJ0RXZlbnRDb250ZW50LFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGxldCBxdWVzdGlvbiA9IHBvbGwucXVlc3Rpb24udGV4dC50cmltKCk7XG4gICAgICAgICAgICBxdWVzdGlvbiA9IHNhbml0aXplRm9yVHJhbnNsYXRpb24ocXVlc3Rpb24pO1xuXG4gICAgICAgICAgICBpZiAoaXNUaHJlYWQgfHwgaXNTZWxmKGV2ZW50KSB8fCAhc2hvdWxkUHJlZml4TWVzc2FnZXNJbihldmVudC5nZXRSb29tSWQoKSEsIHRhZ0lkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBxdWVzdGlvbjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF90KFwiZXZlbnRfcHJldmlld3xtLnRleHRcIiwgeyBzZW5kZXJOYW1lOiBnZXRTZW5kZXJOYW1lKGV2ZW50KSwgbWVzc2FnZTogcXVlc3Rpb24gfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgSW52YWxpZEV2ZW50RXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IGU7IC8vIHJlLXRocm93IHVua25vd24gZXJyb3JzXG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBU0EsSUFBQUEsa0JBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUlBLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxvQkFBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVlPLE1BQU1NLHFCQUFxQixDQUFxQjtFQUk1Q0MsVUFBVUEsQ0FBQ0MsS0FBa0IsRUFBRUMsS0FBYSxFQUFFQyxRQUFrQixFQUFpQjtJQUNwRixJQUFJQyxZQUFZLEdBQUdILEtBQUssQ0FBQ0ksVUFBVSxDQUFDLENBQUM7SUFFckMsSUFBSUosS0FBSyxDQUFDSyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7TUFDL0I7TUFDQUYsWUFBWSxHQUFHSCxLQUFLLENBQUNJLFVBQVUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO0lBQ3REOztJQUVBO0lBQ0EsSUFBSSxDQUFDRCxZQUFZLEVBQUU7TUFDZixPQUFPLElBQUk7SUFDZjtJQUVBLElBQUk7TUFDQSxNQUFNRyxJQUFJLEdBQUcsSUFBSUMsOEJBQWMsQ0FBQztRQUM1QkMsSUFBSSxFQUFFUixLQUFLLENBQUNTLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCQyxPQUFPLEVBQUVQO01BQ2IsQ0FBQyxDQUFDO01BRUYsSUFBSVEsUUFBUSxHQUFHTCxJQUFJLENBQUNLLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFJLENBQUMsQ0FBQztNQUN4Q0YsUUFBUSxHQUFHLElBQUFHLHVDQUFzQixFQUFDSCxRQUFRLENBQUM7TUFFM0MsSUFBSVQsUUFBUSxJQUFJLElBQUFhLGFBQU0sRUFBQ2YsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFBZ0IsNkJBQXNCLEVBQUNoQixLQUFLLENBQUNpQixTQUFTLENBQUMsQ0FBQyxFQUFHaEIsS0FBSyxDQUFDLEVBQUU7UUFDakYsT0FBT1UsUUFBUTtNQUNuQixDQUFDLE1BQU07UUFDSCxPQUFPLElBQUFPLG1CQUFFLEVBQUMsc0JBQXNCLEVBQUU7VUFBRUMsVUFBVSxFQUFFLElBQUFDLG9CQUFhLEVBQUNwQixLQUFLLENBQUM7VUFBRXFCLE9BQU8sRUFBRVY7UUFBUyxDQUFDLENBQUM7TUFDOUY7SUFDSixDQUFDLENBQUMsT0FBT1csQ0FBQyxFQUFFO01BQ1IsSUFBSUEsQ0FBQyxZQUFZQyxvQ0FBaUIsRUFBRTtRQUNoQyxPQUFPLElBQUk7TUFDZjtNQUNBLE1BQU1ELENBQUMsQ0FBQyxDQUFDO0lBQ2I7RUFDSjtBQUNKO0FBQUNFLE9BQUEsQ0FBQTFCLHFCQUFBLEdBQUFBLHFCQUFBO0FBQUEsSUFBQTJCLGdCQUFBLENBQUFDLE9BQUEsRUF0Q1k1QixxQkFBcUIsaUJBQ0Y2Qiw0QkFBbUIiLCJpZ25vcmVMaXN0IjpbXX0=