matrix-react-sdk
Version:
SDK for matrix.org using React
65 lines (60 loc) • 6.89 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.BaseDistributor = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _item = _interopRequireDefault(require("../item"));
var _sizer = _interopRequireDefault(require("../sizer"));
/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 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 BaseDistributor {
static createSizer(containerElement, vertical, reverse) {
return new _sizer.default(containerElement, vertical, reverse);
}
constructor(item) {
(0, _defineProperty2.default)(this, "beforeOffset", void 0);
this.item = item;
this.beforeOffset = item.offset();
}
get size() {
return this.item.getSize();
}
set size(size) {
this.item.setRawSize(size);
}
resize(size) {
this.item.setSize(size);
}
resizeFromContainerOffset(offset) {
this.resize(offset - this.beforeOffset);
}
start() {
this.item.start();
}
finish() {
this.item.finish();
}
}
/**
distributors translate a moving cursor into
CSS/DOM changes by calling the sizer
they have two methods:
`resize` receives then new item size
`resizeFromContainerOffset` receives resize handle location
within the container bounding box. For internal use.
This method usually ends up calling `resize` once the start offset is subtracted.
*/
exports.BaseDistributor = BaseDistributor;
class FixedDistributor extends BaseDistributor {
static createItem(resizeHandle, resizer, sizer) {
return new _item.default(resizeHandle, resizer, sizer);
}
}
exports.default = FixedDistributor;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaXRlbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3NpemVyIiwiQmFzZURpc3RyaWJ1dG9yIiwiY3JlYXRlU2l6ZXIiLCJjb250YWluZXJFbGVtZW50IiwidmVydGljYWwiLCJyZXZlcnNlIiwiU2l6ZXIiLCJjb25zdHJ1Y3RvciIsIml0ZW0iLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsImJlZm9yZU9mZnNldCIsIm9mZnNldCIsInNpemUiLCJnZXRTaXplIiwic2V0UmF3U2l6ZSIsInJlc2l6ZSIsInNldFNpemUiLCJyZXNpemVGcm9tQ29udGFpbmVyT2Zmc2V0Iiwic3RhcnQiLCJmaW5pc2giLCJleHBvcnRzIiwiRml4ZWREaXN0cmlidXRvciIsImNyZWF0ZUl0ZW0iLCJyZXNpemVIYW5kbGUiLCJyZXNpemVyIiwic2l6ZXIiLCJSZXNpemVJdGVtIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc2l6ZXIvZGlzdHJpYnV0b3JzL2ZpeGVkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZXNpemVJdGVtIGZyb20gXCIuLi9pdGVtXCI7XG5pbXBvcnQgU2l6ZXIgZnJvbSBcIi4uL3NpemVyXCI7XG5pbXBvcnQgUmVzaXplciwgeyBJQ29uZmlnIH0gZnJvbSBcIi4uL3Jlc2l6ZXJcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VEaXN0cmlidXRvcjxDIGV4dGVuZHMgSUNvbmZpZywgSSBleHRlbmRzIFJlc2l6ZUl0ZW08Qz4gPSBSZXNpemVJdGVtPEM+PiB7XG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVTaXplcihjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCwgdmVydGljYWw6IGJvb2xlYW4sIHJldmVyc2U6IGJvb2xlYW4pOiBTaXplciB7XG4gICAgICAgIHJldHVybiBuZXcgU2l6ZXIoY29udGFpbmVyRWxlbWVudCwgdmVydGljYWwsIHJldmVyc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYmVmb3JlT2Zmc2V0OiBudW1iZXI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGl0ZW06IEkpIHtcbiAgICAgICAgdGhpcy5iZWZvcmVPZmZzZXQgPSBpdGVtLm9mZnNldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2l6ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtLmdldFNpemUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHNpemUoc2l6ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaXRlbS5zZXRSYXdTaXplKHNpemUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNpemUoc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbS5zZXRTaXplKHNpemUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNpemVGcm9tQ29udGFpbmVyT2Zmc2V0KG9mZnNldDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzaXplKG9mZnNldCAtIHRoaXMuYmVmb3JlT2Zmc2V0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhcnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbS5zdGFydCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaW5pc2goKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbS5maW5pc2goKTtcbiAgICB9XG59XG5cbi8qKlxuZGlzdHJpYnV0b3JzIHRyYW5zbGF0ZSBhIG1vdmluZyBjdXJzb3IgaW50b1xuQ1NTL0RPTSBjaGFuZ2VzIGJ5IGNhbGxpbmcgdGhlIHNpemVyXG5cbnRoZXkgaGF2ZSB0d28gbWV0aG9kczpcbiAgICBgcmVzaXplYCByZWNlaXZlcyB0aGVuIG5ldyBpdGVtIHNpemVcbiAgICBgcmVzaXplRnJvbUNvbnRhaW5lck9mZnNldGAgcmVjZWl2ZXMgcmVzaXplIGhhbmRsZSBsb2NhdGlvblxuICAgICAgICB3aXRoaW4gdGhlIGNvbnRhaW5lciBib3VuZGluZyBib3guIEZvciBpbnRlcm5hbCB1c2UuXG4gICAgICAgIFRoaXMgbWV0aG9kIHVzdWFsbHkgZW5kcyB1cCBjYWxsaW5nIGByZXNpemVgIG9uY2UgdGhlIHN0YXJ0IG9mZnNldCBpcyBzdWJ0cmFjdGVkLlxuKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpeGVkRGlzdHJpYnV0b3I8XG4gICAgQyBleHRlbmRzIElDb25maWcsXG4gICAgSSBleHRlbmRzIFJlc2l6ZUl0ZW08Qz4gPSBSZXNpemVJdGVtPEM+LFxuPiBleHRlbmRzIEJhc2VEaXN0cmlidXRvcjxDLCBJPiB7XG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVJdGVtKHJlc2l6ZUhhbmRsZTogSFRNTERpdkVsZW1lbnQsIHJlc2l6ZXI6IFJlc2l6ZXI8YW55Piwgc2l6ZXI6IFNpemVyKTogUmVzaXplSXRlbTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZXNpemVJdGVtKHJlc2l6ZUhhbmRsZSwgcmVzaXplciwgc2l6ZXIpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFRQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFNTyxNQUFlRSxlQUFlLENBQTZEO0VBQzlGLE9BQWNDLFdBQVdBLENBQUNDLGdCQUE2QixFQUFFQyxRQUFpQixFQUFFQyxPQUFnQixFQUFTO0lBQ2pHLE9BQU8sSUFBSUMsY0FBSyxDQUFDSCxnQkFBZ0IsRUFBRUMsUUFBUSxFQUFFQyxPQUFPLENBQUM7RUFDekQ7RUFJT0UsV0FBV0EsQ0FBaUJDLElBQU8sRUFBRTtJQUFBLElBQUFDLGdCQUFBLENBQUFDLE9BQUE7SUFBQSxLQUFURixJQUFPLEdBQVBBLElBQU87SUFDdEMsSUFBSSxDQUFDRyxZQUFZLEdBQUdILElBQUksQ0FBQ0ksTUFBTSxDQUFDLENBQUM7RUFDckM7RUFFQSxJQUFXQyxJQUFJQSxDQUFBLEVBQVc7SUFDdEIsT0FBTyxJQUFJLENBQUNMLElBQUksQ0FBQ00sT0FBTyxDQUFDLENBQUM7RUFDOUI7RUFFQSxJQUFXRCxJQUFJQSxDQUFDQSxJQUFZLEVBQUU7SUFDMUIsSUFBSSxDQUFDTCxJQUFJLENBQUNPLFVBQVUsQ0FBQ0YsSUFBSSxDQUFDO0VBQzlCO0VBRU9HLE1BQU1BLENBQUNILElBQVksRUFBUTtJQUM5QixJQUFJLENBQUNMLElBQUksQ0FBQ1MsT0FBTyxDQUFDSixJQUFJLENBQUM7RUFDM0I7RUFFT0sseUJBQXlCQSxDQUFDTixNQUFjLEVBQVE7SUFDbkQsSUFBSSxDQUFDSSxNQUFNLENBQUNKLE1BQU0sR0FBRyxJQUFJLENBQUNELFlBQVksQ0FBQztFQUMzQztFQUVPUSxLQUFLQSxDQUFBLEVBQVM7SUFDakIsSUFBSSxDQUFDWCxJQUFJLENBQUNXLEtBQUssQ0FBQyxDQUFDO0VBQ3JCO0VBRU9DLE1BQU1BLENBQUEsRUFBUztJQUNsQixJQUFJLENBQUNaLElBQUksQ0FBQ1ksTUFBTSxDQUFDLENBQUM7RUFDdEI7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBQyxPQUFBLENBQUFwQixlQUFBLEdBQUFBLGVBQUE7QUFVZSxNQUFNcUIsZ0JBQWdCLFNBRzNCckIsZUFBZSxDQUFPO0VBQzVCLE9BQWNzQixVQUFVQSxDQUFDQyxZQUE0QixFQUFFQyxPQUFxQixFQUFFQyxLQUFZLEVBQW1CO0lBQ3pHLE9BQU8sSUFBSUMsYUFBVSxDQUFDSCxZQUFZLEVBQUVDLE9BQU8sRUFBRUMsS0FBSyxDQUFDO0VBQ3ZEO0FBQ0o7QUFBQ0wsT0FBQSxDQUFBWCxPQUFBLEdBQUFZLGdCQUFBIiwiaWdub3JlTGlzdCI6W119