matrix-react-sdk
Version:
SDK for matrix.org using React
73 lines (69 loc) • 9.08 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 _BaseDialog = _interopRequireDefault(require("../dialogs/BaseDialog"));
var _location = require("../../../utils/location");
var _Map = _interopRequireDefault(require("./Map"));
var _SmartMarker = _interopRequireDefault(require("./SmartMarker"));
var _ZoomButtons = _interopRequireDefault(require("./ZoomButtons"));
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 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.
*/
/**
* Dialog to view m.location events maximised
*/
class LocationViewDialog extends _react.default.Component {
constructor(props) {
super(props);
(0, _defineProperty2.default)(this, "getBodyId", () => {
return `mx_LocationViewDialog_${this.props.mxEvent.getId()}`;
});
(0, _defineProperty2.default)(this, "onError", error => {
this.setState({
error
});
});
this.state = {
error: undefined
};
}
render() {
const {
mxEvent
} = this.props;
// only pass member to marker when should render avatar marker
const markerRoomMember = (0, _location.isSelfLocation)(mxEvent.getContent()) && mxEvent.sender || undefined;
const geoUri = (0, _location.locationEventGeoUri)(mxEvent);
return /*#__PURE__*/_react.default.createElement(_BaseDialog.default, {
className: "mx_LocationViewDialog",
onFinished: this.props.onFinished,
fixedWidth: false
}, /*#__PURE__*/_react.default.createElement(_Map.default, {
id: this.getBodyId(),
centerGeoUri: geoUri,
onError: this.onError,
interactive: true,
className: "mx_LocationViewDialog_map",
allowGeolocate: true
}, ({
map
}) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_SmartMarker.default, {
map: map,
id: `${this.getBodyId()}-marker`,
geoUri: geoUri,
roomMember: markerRoomMember
}), /*#__PURE__*/_react.default.createElement(_ZoomButtons.default, {
map: map
}))));
}
}
exports.default = LocationViewDialog;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9CYXNlRGlhbG9nIiwiX2xvY2F0aW9uIiwiX01hcCIsIl9TbWFydE1hcmtlciIsIl9ab29tQnV0dG9ucyIsIkxvY2F0aW9uVmlld0RpYWxvZyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwibXhFdmVudCIsImdldElkIiwiZXJyb3IiLCJzZXRTdGF0ZSIsInN0YXRlIiwidW5kZWZpbmVkIiwicmVuZGVyIiwibWFya2VyUm9vbU1lbWJlciIsImlzU2VsZkxvY2F0aW9uIiwiZ2V0Q29udGVudCIsInNlbmRlciIsImdlb1VyaSIsImxvY2F0aW9uRXZlbnRHZW9VcmkiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwib25GaW5pc2hlZCIsImZpeGVkV2lkdGgiLCJpZCIsImdldEJvZHlJZCIsImNlbnRlckdlb1VyaSIsIm9uRXJyb3IiLCJpbnRlcmFjdGl2ZSIsImFsbG93R2VvbG9jYXRlIiwibWFwIiwiRnJhZ21lbnQiLCJyb29tTWVtYmVyIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL0xvY2F0aW9uVmlld0RpYWxvZy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTWF0cml4RXZlbnQsIE1hdHJpeENsaWVudCB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcblxuaW1wb3J0IEJhc2VEaWFsb2cgZnJvbSBcIi4uL2RpYWxvZ3MvQmFzZURpYWxvZ1wiO1xuaW1wb3J0IHsgbG9jYXRpb25FdmVudEdlb1VyaSwgaXNTZWxmTG9jYXRpb24gfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvbG9jYXRpb25cIjtcbmltcG9ydCBNYXAgZnJvbSBcIi4vTWFwXCI7XG5pbXBvcnQgU21hcnRNYXJrZXIgZnJvbSBcIi4vU21hcnRNYXJrZXJcIjtcbmltcG9ydCBab29tQnV0dG9ucyBmcm9tIFwiLi9ab29tQnV0dG9uc1wiO1xuXG5pbnRlcmZhY2UgSVByb3BzIHtcbiAgICBtYXRyaXhDbGllbnQ6IE1hdHJpeENsaWVudDtcbiAgICBteEV2ZW50OiBNYXRyaXhFdmVudDtcbiAgICBvbkZpbmlzaGVkKCk6IHZvaWQ7XG59XG5cbmludGVyZmFjZSBJU3RhdGUge1xuICAgIGVycm9yPzogRXJyb3I7XG59XG5cbi8qKlxuICogRGlhbG9nIHRvIHZpZXcgbS5sb2NhdGlvbiBldmVudHMgbWF4aW1pc2VkXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExvY2F0aW9uVmlld0RpYWxvZyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIElTdGF0ZT4ge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wczogSVByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgZXJyb3I6IHVuZGVmaW5lZCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJvZHlJZCA9ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgICByZXR1cm4gYG14X0xvY2F0aW9uVmlld0RpYWxvZ18ke3RoaXMucHJvcHMubXhFdmVudC5nZXRJZCgpfWA7XG4gICAgfTtcblxuICAgIHByaXZhdGUgb25FcnJvciA9IChlcnJvcjogRXJyb3IpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGVycm9yIH0pO1xuICAgIH07XG5cbiAgICBwdWJsaWMgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gICAgICAgIGNvbnN0IHsgbXhFdmVudCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICAvLyBvbmx5IHBhc3MgbWVtYmVyIHRvIG1hcmtlciB3aGVuIHNob3VsZCByZW5kZXIgYXZhdGFyIG1hcmtlclxuICAgICAgICBjb25zdCBtYXJrZXJSb29tTWVtYmVyID0gKGlzU2VsZkxvY2F0aW9uKG14RXZlbnQuZ2V0Q29udGVudCgpKSAmJiBteEV2ZW50LnNlbmRlcikgfHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBnZW9VcmkgPSBsb2NhdGlvbkV2ZW50R2VvVXJpKG14RXZlbnQpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEJhc2VEaWFsb2cgY2xhc3NOYW1lPVwibXhfTG9jYXRpb25WaWV3RGlhbG9nXCIgb25GaW5pc2hlZD17dGhpcy5wcm9wcy5vbkZpbmlzaGVkfSBmaXhlZFdpZHRoPXtmYWxzZX0+XG4gICAgICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICAgICAgICBpZD17dGhpcy5nZXRCb2R5SWQoKX1cbiAgICAgICAgICAgICAgICAgICAgY2VudGVyR2VvVXJpPXtnZW9Vcml9XG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3I9e3RoaXMub25FcnJvcn1cbiAgICAgICAgICAgICAgICAgICAgaW50ZXJhY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXhfTG9jYXRpb25WaWV3RGlhbG9nX21hcFwiXG4gICAgICAgICAgICAgICAgICAgIGFsbG93R2VvbG9jYXRlXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7KHsgbWFwIH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNtYXJ0TWFya2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17YCR7dGhpcy5nZXRCb2R5SWQoKX0tbWFya2VyYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VvVXJpPXtnZW9Vcml9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb21NZW1iZXI9e21hcmtlclJvb21NZW1iZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Wm9vbUJ1dHRvbnMgbWFwPXttYXB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L01hcD5cbiAgICAgICAgICAgIDwvQmFzZURpYWxvZz5cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsV0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsSUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBcUJBO0FBQ0E7QUFDQTtBQUNlLE1BQU1NLGtCQUFrQixTQUFTQyxjQUFLLENBQUNDLFNBQVMsQ0FBaUI7RUFDckVDLFdBQVdBLENBQUNDLEtBQWEsRUFBRTtJQUM5QixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFDLElBQUFDLGdCQUFBLENBQUFDLE9BQUEscUJBT0csTUFBYztNQUM5QixPQUFPLHlCQUF5QixJQUFJLENBQUNGLEtBQUssQ0FBQ0csT0FBTyxDQUFDQyxLQUFLLENBQUMsQ0FBQyxFQUFFO0lBQ2hFLENBQUM7SUFBQSxJQUFBSCxnQkFBQSxDQUFBQyxPQUFBLG1CQUVrQkcsS0FBWSxJQUFXO01BQ3RDLElBQUksQ0FBQ0MsUUFBUSxDQUFDO1FBQUVEO01BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFYRyxJQUFJLENBQUNFLEtBQUssR0FBRztNQUNURixLQUFLLEVBQUVHO0lBQ1gsQ0FBQztFQUNMO0VBVU9DLE1BQU1BLENBQUEsRUFBb0I7SUFDN0IsTUFBTTtNQUFFTjtJQUFRLENBQUMsR0FBRyxJQUFJLENBQUNILEtBQUs7O0lBRTlCO0lBQ0EsTUFBTVUsZ0JBQWdCLEdBQUksSUFBQUMsd0JBQWMsRUFBQ1IsT0FBTyxDQUFDUyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUlULE9BQU8sQ0FBQ1UsTUFBTSxJQUFLTCxTQUFTO0lBQzlGLE1BQU1NLE1BQU0sR0FBRyxJQUFBQyw2QkFBbUIsRUFBQ1osT0FBTyxDQUFDO0lBQzNDLG9CQUNJZixNQUFBLENBQUFjLE9BQUEsQ0FBQWMsYUFBQSxDQUFDekIsV0FBQSxDQUFBVyxPQUFVO01BQUNlLFNBQVMsRUFBQyx1QkFBdUI7TUFBQ0MsVUFBVSxFQUFFLElBQUksQ0FBQ2xCLEtBQUssQ0FBQ2tCLFVBQVc7TUFBQ0MsVUFBVSxFQUFFO0lBQU0sZ0JBQy9GL0IsTUFBQSxDQUFBYyxPQUFBLENBQUFjLGFBQUEsQ0FBQ3ZCLElBQUEsQ0FBQVMsT0FBRztNQUNBa0IsRUFBRSxFQUFFLElBQUksQ0FBQ0MsU0FBUyxDQUFDLENBQUU7TUFDckJDLFlBQVksRUFBRVIsTUFBTztNQUNyQlMsT0FBTyxFQUFFLElBQUksQ0FBQ0EsT0FBUTtNQUN0QkMsV0FBVztNQUNYUCxTQUFTLEVBQUMsMkJBQTJCO01BQ3JDUSxjQUFjO0lBQUEsR0FFYixDQUFDO01BQUVDO0lBQUksQ0FBQyxrQkFDTHRDLE1BQUEsQ0FBQWMsT0FBQSxDQUFBYyxhQUFBLENBQUE1QixNQUFBLENBQUFjLE9BQUEsQ0FBQXlCLFFBQUEscUJBQ0l2QyxNQUFBLENBQUFjLE9BQUEsQ0FBQWMsYUFBQSxDQUFDdEIsWUFBQSxDQUFBUSxPQUFXO01BQ1J3QixHQUFHLEVBQUVBLEdBQUk7TUFDVE4sRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDQyxTQUFTLENBQUMsQ0FBQyxTQUFVO01BQ2pDUCxNQUFNLEVBQUVBLE1BQU87TUFDZmMsVUFBVSxFQUFFbEI7SUFBaUIsQ0FDaEMsQ0FBQyxlQUNGdEIsTUFBQSxDQUFBYyxPQUFBLENBQUFjLGFBQUEsQ0FBQ3JCLFlBQUEsQ0FBQU8sT0FBVztNQUFDd0IsR0FBRyxFQUFFQTtJQUFJLENBQUUsQ0FDMUIsQ0FFTCxDQUNHLENBQUM7RUFFckI7QUFDSjtBQUFDRyxPQUFBLENBQUEzQixPQUFBLEdBQUFOLGtCQUFBIiwiaWdub3JlTGlzdCI6W119