matrix-react-sdk
Version:
SDK for matrix.org using React
76 lines (73 loc) • 8.87 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _matrix = require("matrix-js-sdk/src/matrix");
var _classnames = _interopRequireDefault(require("classnames"));
var _MatrixClientPeg = require("../../../MatrixClientPeg");
var _languageHandler = require("../../../languageHandler");
var _AccessibleButton = _interopRequireDefault(require("../elements/AccessibleButton"));
/*
Copyright 2024 New Vector Ltd.
Copyright 2019 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 ViewSourceEvent extends _react.default.PureComponent {
constructor(props) {
super(props);
(0, _defineProperty2.default)(this, "onToggle", ev => {
ev.preventDefault();
const {
expanded
} = this.state;
this.setState({
expanded: !expanded
});
});
this.state = {
expanded: false
};
}
componentDidMount() {
const {
mxEvent
} = this.props;
const client = _MatrixClientPeg.MatrixClientPeg.safeGet();
client.decryptEventIfNeeded(mxEvent);
if (mxEvent.isBeingDecrypted()) {
mxEvent.once(_matrix.MatrixEventEvent.Decrypted, () => this.forceUpdate());
}
}
render() {
const {
mxEvent
} = this.props;
const {
expanded
} = this.state;
let content;
if (expanded) {
content = /*#__PURE__*/_react.default.createElement("pre", null, JSON.stringify(mxEvent, null, 4));
} else {
content = /*#__PURE__*/_react.default.createElement("code", null, `{ "type": ${mxEvent.getType()} }`);
}
const classes = (0, _classnames.default)("mx_ViewSourceEvent mx_EventTile_content", {
mx_ViewSourceEvent_expanded: expanded
});
return /*#__PURE__*/_react.default.createElement("span", {
className: classes
}, content, /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, {
kind: "link",
title: (0, _languageHandler._t)("devtools|toggle_event"),
className: "mx_ViewSourceEvent_toggle",
onClick: this.onToggle
}));
}
}
exports.default = ViewSourceEvent;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9tYXRyaXgiLCJfY2xhc3NuYW1lcyIsIl9NYXRyaXhDbGllbnRQZWciLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX0FjY2Vzc2libGVCdXR0b24iLCJWaWV3U291cmNlRXZlbnQiLCJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJldiIsInByZXZlbnREZWZhdWx0IiwiZXhwYW5kZWQiLCJzdGF0ZSIsInNldFN0YXRlIiwiY29tcG9uZW50RGlkTW91bnQiLCJteEV2ZW50IiwiY2xpZW50IiwiTWF0cml4Q2xpZW50UGVnIiwic2FmZUdldCIsImRlY3J5cHRFdmVudElmTmVlZGVkIiwiaXNCZWluZ0RlY3J5cHRlZCIsIm9uY2UiLCJNYXRyaXhFdmVudEV2ZW50IiwiRGVjcnlwdGVkIiwiZm9yY2VVcGRhdGUiLCJyZW5kZXIiLCJjb250ZW50IiwiY3JlYXRlRWxlbWVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJnZXRUeXBlIiwiY2xhc3NlcyIsImNsYXNzTmFtZXMiLCJteF9WaWV3U291cmNlRXZlbnRfZXhwYW5kZWQiLCJjbGFzc05hbWUiLCJraW5kIiwidGl0bGUiLCJfdCIsIm9uQ2xpY2siLCJvblRvZ2dsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9tZXNzYWdlcy9WaWV3U291cmNlRXZlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IE1hdHJpeEV2ZW50LCBNYXRyaXhFdmVudEV2ZW50IH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcblxuaW1wb3J0IHsgTWF0cml4Q2xpZW50UGVnIH0gZnJvbSBcIi4uLy4uLy4uL01hdHJpeENsaWVudFBlZ1wiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgQWNjZXNzaWJsZUJ1dHRvbiwgeyBCdXR0b25FdmVudCB9IGZyb20gXCIuLi9lbGVtZW50cy9BY2Nlc3NpYmxlQnV0dG9uXCI7XG5cbmludGVyZmFjZSBJUHJvcHMge1xuICAgIG14RXZlbnQ6IE1hdHJpeEV2ZW50O1xufVxuXG5pbnRlcmZhY2UgSVN0YXRlIHtcbiAgICBleHBhbmRlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmlld1NvdXJjZUV2ZW50IGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJUHJvcHMsIElTdGF0ZT4ge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wczogSVByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBjb21wb25lbnREaWRNb3VudCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBteEV2ZW50IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICAgIGNvbnN0IGNsaWVudCA9IE1hdHJpeENsaWVudFBlZy5zYWZlR2V0KCk7XG4gICAgICAgIGNsaWVudC5kZWNyeXB0RXZlbnRJZk5lZWRlZChteEV2ZW50KTtcblxuICAgICAgICBpZiAobXhFdmVudC5pc0JlaW5nRGVjcnlwdGVkKCkpIHtcbiAgICAgICAgICAgIG14RXZlbnQub25jZShNYXRyaXhFdmVudEV2ZW50LkRlY3J5cHRlZCwgKCkgPT4gdGhpcy5mb3JjZVVwZGF0ZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Ub2dnbGUgPSAoZXY6IEJ1dHRvbkV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IHsgZXhwYW5kZWQgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgZXhwYW5kZWQ6ICFleHBhbmRlZCxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgY29uc3QgeyBteEV2ZW50IH0gPSB0aGlzLnByb3BzO1xuICAgICAgICBjb25zdCB7IGV4cGFuZGVkIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgICAgIGxldCBjb250ZW50O1xuICAgICAgICBpZiAoZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIGNvbnRlbnQgPSA8cHJlPntKU09OLnN0cmluZ2lmeShteEV2ZW50LCBudWxsLCA0KX08L3ByZT47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250ZW50ID0gPGNvZGU+e2B7IFwidHlwZVwiOiAke214RXZlbnQuZ2V0VHlwZSgpfSB9YH08L2NvZGU+O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzTmFtZXMoXCJteF9WaWV3U291cmNlRXZlbnQgbXhfRXZlbnRUaWxlX2NvbnRlbnRcIiwge1xuICAgICAgICAgICAgbXhfVmlld1NvdXJjZUV2ZW50X2V4cGFuZGVkOiBleHBhbmRlZCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y2xhc3Nlc30+XG4gICAgICAgICAgICAgICAge2NvbnRlbnR9XG4gICAgICAgICAgICAgICAgPEFjY2Vzc2libGVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAga2luZD1cImxpbmtcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT17X3QoXCJkZXZ0b29sc3x0b2dnbGVfZXZlbnRcIil9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm14X1ZpZXdTb3VyY2VFdmVudF90b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uVG9nZ2xlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxnQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssaUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQWRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWtCZSxNQUFNTSxlQUFlLFNBQVNDLGNBQUssQ0FBQ0MsYUFBYSxDQUFpQjtFQUN0RUMsV0FBV0EsQ0FBQ0MsS0FBYSxFQUFFO0lBQzlCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQUMsSUFBQUMsZ0JBQUEsQ0FBQUMsT0FBQSxvQkFrQkdDLEVBQWUsSUFBVztNQUMxQ0EsRUFBRSxDQUFDQyxjQUFjLENBQUMsQ0FBQztNQUNuQixNQUFNO1FBQUVDO01BQVMsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztNQUMvQixJQUFJLENBQUNDLFFBQVEsQ0FBQztRQUNWRixRQUFRLEVBQUUsQ0FBQ0E7TUFDZixDQUFDLENBQUM7SUFDTixDQUFDO0lBdEJHLElBQUksQ0FBQ0MsS0FBSyxHQUFHO01BQ1RELFFBQVEsRUFBRTtJQUNkLENBQUM7RUFDTDtFQUVPRyxpQkFBaUJBLENBQUEsRUFBUztJQUM3QixNQUFNO01BQUVDO0lBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQ1QsS0FBSztJQUU5QixNQUFNVSxNQUFNLEdBQUdDLGdDQUFlLENBQUNDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDRixNQUFNLENBQUNHLG9CQUFvQixDQUFDSixPQUFPLENBQUM7SUFFcEMsSUFBSUEsT0FBTyxDQUFDSyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUU7TUFDNUJMLE9BQU8sQ0FBQ00sSUFBSSxDQUFDQyx3QkFBZ0IsQ0FBQ0MsU0FBUyxFQUFFLE1BQU0sSUFBSSxDQUFDQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3RFO0VBQ0o7RUFVT0MsTUFBTUEsQ0FBQSxFQUFvQjtJQUM3QixNQUFNO01BQUVWO0lBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQ1QsS0FBSztJQUM5QixNQUFNO01BQUVLO0lBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztJQUUvQixJQUFJYyxPQUFPO0lBQ1gsSUFBSWYsUUFBUSxFQUFFO01BQ1ZlLE9BQU8sZ0JBQUdoQyxNQUFBLENBQUFjLE9BQUEsQ0FBQW1CLGFBQUEsY0FBTUMsSUFBSSxDQUFDQyxTQUFTLENBQUNkLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFPLENBQUM7SUFDM0QsQ0FBQyxNQUFNO01BQ0hXLE9BQU8sZ0JBQUdoQyxNQUFBLENBQUFjLE9BQUEsQ0FBQW1CLGFBQUEsZUFBTyxhQUFhWixPQUFPLENBQUNlLE9BQU8sQ0FBQyxDQUFDLElBQVcsQ0FBQztJQUMvRDtJQUVBLE1BQU1DLE9BQU8sR0FBRyxJQUFBQyxtQkFBVSxFQUFDLHlDQUF5QyxFQUFFO01BQ2xFQywyQkFBMkIsRUFBRXRCO0lBQ2pDLENBQUMsQ0FBQztJQUVGLG9CQUNJakIsTUFBQSxDQUFBYyxPQUFBLENBQUFtQixhQUFBO01BQU1PLFNBQVMsRUFBRUg7SUFBUSxHQUNwQkwsT0FBTyxlQUNSaEMsTUFBQSxDQUFBYyxPQUFBLENBQUFtQixhQUFBLENBQUMxQixpQkFBQSxDQUFBTyxPQUFnQjtNQUNiMkIsSUFBSSxFQUFDLE1BQU07TUFDWEMsS0FBSyxFQUFFLElBQUFDLG1CQUFFLEVBQUMsdUJBQXVCLENBQUU7TUFDbkNILFNBQVMsRUFBQywyQkFBMkI7TUFDckNJLE9BQU8sRUFBRSxJQUFJLENBQUNDO0lBQVMsQ0FDMUIsQ0FDQyxDQUFDO0VBRWY7QUFDSjtBQUFDQyxPQUFBLENBQUFoQyxPQUFBLEdBQUFOLGVBQUEiLCJpZ25vcmVMaXN0IjpbXX0=