matrix-react-sdk
Version:
SDK for matrix.org using React
87 lines (69 loc) • 8.14 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 _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _replaceableComponent = require("../../../utils/replaceableComponent");
var _MatrixClientPeg = require("../../../MatrixClientPeg");
var _dec, _class, _class2, _temp;
let ViewSourceEvent = (_dec = (0, _replaceableComponent.replaceableComponent)("views.messages.ViewSourceEvent"), _dec(_class = (_temp = _class2 = 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.get();
client.decryptEventIfNeeded(mxEvent);
if (mxEvent.isBeingDecrypted()) {
mxEvent.once("Event.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("a", {
className: "mx_ViewSourceEvent_toggle",
href: "#",
onClick: this.onToggle
}));
}
}, (0, _defineProperty2.default)(_class2, "propTypes", {
/* the MatrixEvent to show */
mxEvent: _propTypes.default.object.isRequired
}), _temp)) || _class);
exports.default = ViewSourceEvent;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL21lc3NhZ2VzL1ZpZXdTb3VyY2VFdmVudC5qcyJdLCJuYW1lcyI6WyJWaWV3U291cmNlRXZlbnQiLCJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiZXYiLCJwcmV2ZW50RGVmYXVsdCIsImV4cGFuZGVkIiwic3RhdGUiLCJzZXRTdGF0ZSIsImNvbXBvbmVudERpZE1vdW50IiwibXhFdmVudCIsImNsaWVudCIsIk1hdHJpeENsaWVudFBlZyIsImdldCIsImRlY3J5cHRFdmVudElmTmVlZGVkIiwiaXNCZWluZ0RlY3J5cHRlZCIsIm9uY2UiLCJmb3JjZVVwZGF0ZSIsInJlbmRlciIsImNvbnRlbnQiLCJKU09OIiwic3RyaW5naWZ5IiwiZ2V0VHlwZSIsImNsYXNzZXMiLCJteF9WaWV3U291cmNlRXZlbnRfZXhwYW5kZWQiLCJvblRvZ2dsZSIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBZ0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0lBR3FCQSxlLFdBRHBCLGdEQUFxQixnQ0FBckIsQyxtQ0FBRCxNQUNxQkEsZUFEckIsU0FDNkNDLGVBQU1DLGFBRG5ELENBQ2lFO0FBTTdEQyxFQUFBQSxXQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFEZSxvREFtQlBDLEVBQUQsSUFBUTtBQUNmQSxNQUFBQSxFQUFFLENBQUNDLGNBQUg7QUFDQSxZQUFNO0FBQUVDLFFBQUFBO0FBQUYsVUFBZSxLQUFLQyxLQUExQjtBQUNBLFdBQUtDLFFBQUwsQ0FBYztBQUNWRixRQUFBQSxRQUFRLEVBQUUsQ0FBQ0E7QUFERCxPQUFkO0FBR0gsS0F6QmtCO0FBR2YsU0FBS0MsS0FBTCxHQUFhO0FBQ1RELE1BQUFBLFFBQVEsRUFBRTtBQURELEtBQWI7QUFHSDs7QUFFREcsRUFBQUEsaUJBQWlCLEdBQUc7QUFDaEIsVUFBTTtBQUFDQyxNQUFBQTtBQUFELFFBQVksS0FBS1AsS0FBdkI7O0FBRUEsVUFBTVEsTUFBTSxHQUFHQyxpQ0FBZ0JDLEdBQWhCLEVBQWY7O0FBQ0FGLElBQUFBLE1BQU0sQ0FBQ0csb0JBQVAsQ0FBNEJKLE9BQTVCOztBQUVBLFFBQUlBLE9BQU8sQ0FBQ0ssZ0JBQVIsRUFBSixFQUFnQztBQUM1QkwsTUFBQUEsT0FBTyxDQUFDTSxJQUFSLENBQWEsaUJBQWIsRUFBZ0MsTUFBTSxLQUFLQyxXQUFMLEVBQXRDO0FBQ0g7QUFDSjs7QUFVREMsRUFBQUEsTUFBTSxHQUFHO0FBQ0wsVUFBTTtBQUFFUixNQUFBQTtBQUFGLFFBQWMsS0FBS1AsS0FBekI7QUFDQSxVQUFNO0FBQUVHLE1BQUFBO0FBQUYsUUFBZSxLQUFLQyxLQUExQjtBQUVBLFFBQUlZLE9BQUo7O0FBQ0EsUUFBSWIsUUFBSixFQUFjO0FBQ1ZhLE1BQUFBLE9BQU8sZ0JBQUcsMENBQU1DLElBQUksQ0FBQ0MsU0FBTCxDQUFlWCxPQUFmLEVBQXdCLElBQXhCLEVBQThCLENBQTlCLENBQU4sQ0FBVjtBQUNILEtBRkQsTUFFTztBQUNIUyxNQUFBQSxPQUFPLGdCQUFHLDJDQUFRLGFBQVlULE9BQU8sQ0FBQ1ksT0FBUixFQUFrQixJQUF0QyxDQUFWO0FBQ0g7O0FBRUQsVUFBTUMsT0FBTyxHQUFHLHlCQUFXLHlDQUFYLEVBQXNEO0FBQ2xFQyxNQUFBQSwyQkFBMkIsRUFBRWxCO0FBRHFDLEtBQXRELENBQWhCO0FBSUEsd0JBQU87QUFBTSxNQUFBLFNBQVMsRUFBRWlCO0FBQWpCLE9BQ0ZKLE9BREUsZUFFSDtBQUNJLE1BQUEsU0FBUyxFQUFDLDJCQURkO0FBRUksTUFBQSxJQUFJLEVBQUMsR0FGVDtBQUdJLE1BQUEsT0FBTyxFQUFFLEtBQUtNO0FBSGxCLE1BRkcsQ0FBUDtBQVFIOztBQXhENEQsQyxzREFDMUM7QUFDZjtBQUNBZixFQUFBQSxPQUFPLEVBQUVnQixtQkFBVUMsTUFBVixDQUFpQkM7QUFGWCxDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7cmVwbGFjZWFibGVDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi91dGlscy9yZXBsYWNlYWJsZUNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTWF0cml4Q2xpZW50UGVnIH0gZnJvbSBcIi4uLy4uLy4uL01hdHJpeENsaWVudFBlZ1wiO1xuXG5AcmVwbGFjZWFibGVDb21wb25lbnQoXCJ2aWV3cy5tZXNzYWdlcy5WaWV3U291cmNlRXZlbnRcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZpZXdTb3VyY2VFdmVudCBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICAgIC8qIHRoZSBNYXRyaXhFdmVudCB0byBzaG93ICovXG4gICAgICAgIG14RXZlbnQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBleHBhbmRlZDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIGNvbnN0IHtteEV2ZW50fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgICAgY29uc3QgY2xpZW50ID0gTWF0cml4Q2xpZW50UGVnLmdldCgpO1xuICAgICAgICBjbGllbnQuZGVjcnlwdEV2ZW50SWZOZWVkZWQobXhFdmVudCk7XG5cbiAgICAgICAgaWYgKG14RXZlbnQuaXNCZWluZ0RlY3J5cHRlZCgpKSB7XG4gICAgICAgICAgICBteEV2ZW50Lm9uY2UoXCJFdmVudC5kZWNyeXB0ZWRcIiwgKCkgPT4gdGhpcy5mb3JjZVVwZGF0ZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVG9nZ2xlID0gKGV2KSA9PiB7XG4gICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IHsgZXhwYW5kZWQgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgZXhwYW5kZWQ6ICFleHBhbmRlZCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IG14RXZlbnQgfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIGNvbnN0IHsgZXhwYW5kZWQgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICAgICAgbGV0IGNvbnRlbnQ7XG4gICAgICAgIGlmIChleHBhbmRlZCkge1xuICAgICAgICAgICAgY29udGVudCA9IDxwcmU+e0pTT04uc3RyaW5naWZ5KG14RXZlbnQsIG51bGwsIDQpfTwvcHJlPjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRlbnQgPSA8Y29kZT57YHsgXCJ0eXBlXCI6ICR7bXhFdmVudC5nZXRUeXBlKCl9IH1gfTwvY29kZT47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NOYW1lcyhcIm14X1ZpZXdTb3VyY2VFdmVudCBteF9FdmVudFRpbGVfY29udGVudFwiLCB7XG4gICAgICAgICAgICBteF9WaWV3U291cmNlRXZlbnRfZXhwYW5kZWQ6IGV4cGFuZGVkLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gPHNwYW4gY2xhc3NOYW1lPXtjbGFzc2VzfT5cbiAgICAgICAgICAgIHtjb250ZW50fVxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteF9WaWV3U291cmNlRXZlbnRfdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vblRvZ2dsZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvc3Bhbj47XG4gICAgfVxufVxuIl19