matrix-react-sdk
Version:
SDK for matrix.org using React
58 lines (55 loc) • 9.57 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 _UIStore = _interopRequireWildcard(require("../../../stores/UIStore"));
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 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.
*/
class Measured extends _react.default.PureComponent {
constructor(props) {
super(props);
(0, _defineProperty2.default)(this, "instanceId", void 0);
(0, _defineProperty2.default)(this, "onResize", (type, entry) => {
if (type !== _UIStore.UI_EVENTS.Resize) return;
this.props.onMeasurement(entry.contentRect.width <= this.props.breakpoint);
});
this.instanceId = Measured.instanceCount++;
}
componentDidMount() {
_UIStore.default.instance.on(`Measured${this.instanceId}`, this.onResize);
}
componentDidUpdate(prevProps) {
const previous = prevProps.sensor;
const current = this.props.sensor;
if (previous === current) return;
if (previous) {
_UIStore.default.instance.stopTrackingElementDimensions(`Measured${this.instanceId}`);
}
if (current) {
_UIStore.default.instance.trackElementDimensions(`Measured${this.instanceId}`, this.props.sensor);
}
}
componentWillUnmount() {
_UIStore.default.instance.off(`Measured${this.instanceId}`, this.onResize);
_UIStore.default.instance.stopTrackingElementDimensions(`Measured${this.instanceId}`);
}
render() {
return null;
}
}
exports.default = Measured;
(0, _defineProperty2.default)(Measured, "instanceCount", 0);
(0, _defineProperty2.default)(Measured, "defaultProps", {
breakpoint: 500
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9VSVN0b3JlIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJNZWFzdXJlZCIsIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkyIiwidHlwZSIsImVudHJ5IiwiVUlfRVZFTlRTIiwiUmVzaXplIiwib25NZWFzdXJlbWVudCIsImNvbnRlbnRSZWN0Iiwid2lkdGgiLCJicmVha3BvaW50IiwiaW5zdGFuY2VJZCIsImluc3RhbmNlQ291bnQiLCJjb21wb25lbnREaWRNb3VudCIsIlVJU3RvcmUiLCJpbnN0YW5jZSIsIm9uIiwib25SZXNpemUiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJwcmV2aW91cyIsInNlbnNvciIsImN1cnJlbnQiLCJzdG9wVHJhY2tpbmdFbGVtZW50RGltZW5zaW9ucyIsInRyYWNrRWxlbWVudERpbWVuc2lvbnMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIm9mZiIsInJlbmRlciIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9NZWFzdXJlZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgVUlTdG9yZSwgeyBVSV9FVkVOVFMgfSBmcm9tIFwiLi4vLi4vLi4vc3RvcmVzL1VJU3RvcmVcIjtcblxuaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgc2Vuc29yOiBFbGVtZW50O1xuICAgIGJyZWFrcG9pbnQ6IG51bWJlcjtcbiAgICBvbk1lYXN1cmVtZW50KG5hcnJvdzogYm9vbGVhbik6IHZvaWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lYXN1cmVkIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJUHJvcHM+IHtcbiAgICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZUNvdW50ID0gMDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluc3RhbmNlSWQ6IG51bWJlcjtcblxuICAgIHB1YmxpYyBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgICBicmVha3BvaW50OiA1MDAsXG4gICAgfTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wczogSVByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlSWQgPSBNZWFzdXJlZC5pbnN0YW5jZUNvdW50Kys7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuICAgICAgICBVSVN0b3JlLmluc3RhbmNlLm9uKGBNZWFzdXJlZCR7dGhpcy5pbnN0YW5jZUlkfWAsIHRoaXMub25SZXNpemUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzOiBSZWFkb25seTxJUHJvcHM+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzID0gcHJldlByb3BzLnNlbnNvcjtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMucHJvcHMuc2Vuc29yO1xuICAgICAgICBpZiAocHJldmlvdXMgPT09IGN1cnJlbnQpIHJldHVybjtcbiAgICAgICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICAgICAgICBVSVN0b3JlLmluc3RhbmNlLnN0b3BUcmFja2luZ0VsZW1lbnREaW1lbnNpb25zKGBNZWFzdXJlZCR7dGhpcy5pbnN0YW5jZUlkfWApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgICBVSVN0b3JlLmluc3RhbmNlLnRyYWNrRWxlbWVudERpbWVuc2lvbnMoYE1lYXN1cmVkJHt0aGlzLmluc3RhbmNlSWR9YCwgdGhpcy5wcm9wcy5zZW5zb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50KCk6IHZvaWQge1xuICAgICAgICBVSVN0b3JlLmluc3RhbmNlLm9mZihgTWVhc3VyZWQke3RoaXMuaW5zdGFuY2VJZH1gLCB0aGlzLm9uUmVzaXplKTtcbiAgICAgICAgVUlTdG9yZS5pbnN0YW5jZS5zdG9wVHJhY2tpbmdFbGVtZW50RGltZW5zaW9ucyhgTWVhc3VyZWQke3RoaXMuaW5zdGFuY2VJZH1gKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUmVzaXplID0gKHR5cGU6IFVJX0VWRU5UUywgZW50cnk6IFJlc2l6ZU9ic2VydmVyRW50cnkpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHR5cGUgIT09IFVJX0VWRU5UUy5SZXNpemUpIHJldHVybjtcbiAgICAgICAgdGhpcy5wcm9wcy5vbk1lYXN1cmVtZW50KGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoIDw9IHRoaXMucHJvcHMuYnJlYWtwb2ludCk7XG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIl0sIm1h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