@plait/core 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/plugins/with-moving.mjs +16 -13
- package/esm2020/transforms/board.mjs +15 -10
- package/esm2020/utils/viewport.mjs +6 -8
- package/fesm2015/plait-core.mjs +33 -27
- package/fesm2015/plait-core.mjs.map +1 -1
- package/fesm2020/plait-core.mjs +33 -27
- package/fesm2020/plait-core.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -44,19 +44,22 @@ export function withMoving(board) {
|
|
|
44
44
|
const endPoint = transformPoint(board, toPoint(event.x, event.y, host));
|
|
45
45
|
offsetX = endPoint[0] - startPoint[0];
|
|
46
46
|
offsetY = endPoint[1] - startPoint[1];
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
47
|
+
const offsetBuffer = 5;
|
|
48
|
+
if (Math.abs(offsetX) > offsetBuffer || Math.abs(offsetY) > offsetBuffer) {
|
|
49
|
+
throttleRAF(() => {
|
|
50
|
+
const currentElements = activeElements.map(activeElement => {
|
|
51
|
+
const [x, y] = activeElement?.points[0];
|
|
52
|
+
const index = board.children.findIndex(item => item.id === activeElement.id);
|
|
53
|
+
Transforms.setNode(board, {
|
|
54
|
+
points: [[x + offsetX, y + offsetY]]
|
|
55
|
+
}, [index]);
|
|
56
|
+
MERGING.set(board, true);
|
|
57
|
+
return PlaitNode.get(board, [index]);
|
|
58
|
+
});
|
|
59
|
+
PlaitBoard.getBoardNativeElement(board).classList.add('element-moving');
|
|
60
|
+
addMovingElements(board, currentElements);
|
|
56
61
|
});
|
|
57
|
-
|
|
58
|
-
addMovingElements(board, currentElements);
|
|
59
|
-
});
|
|
62
|
+
}
|
|
60
63
|
}
|
|
61
64
|
if (isPreventDefault) {
|
|
62
65
|
// 阻止 move 过程中触发画布滚动行为
|
|
@@ -91,4 +94,4 @@ export function withMoving(board) {
|
|
|
91
94
|
}
|
|
92
95
|
return board;
|
|
93
96
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tb3ZpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvcGx1Z2lucy93aXRoLW1vdmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFpQjtJQUN4QyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXZFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDaEIsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDN0IsSUFBSSxVQUF3QixDQUFDO0lBQzdCLElBQUksY0FBYyxHQUEwQixFQUFFLENBQUM7SUFFL0MsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsRUFB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QUksQ0FBQztRQUNsQixPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNaLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUIsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJPQVJEX1RPX0hPU1QgfSBmcm9tICcuLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgaXNJblBsYWl0Qm9hcmQsIHRyYW5zZm9ybVBvaW50IH0gZnJvbSAnLi4vdXRpbHMvYm9hcmQnO1xuaW1wb3J0IHsgdG9Qb2ludCB9IGZyb20gJy4uL3V0aWxzL2RvbS9jb21tb24nO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvaW50JztcbmltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IFBsYWl0RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBnZXRTZWxlY3RlZEVsZW1lbnRzLCBpc0ludGVyc2VjdGlvbkVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0ZWQtZWxlbWVudCc7XG5pbXBvcnQgeyBQbGFpdE5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgdGhyb3R0bGVSQUYgfSBmcm9tICcuLi91dGlscy9jb21tb24nO1xuaW1wb3J0IHsgYWRkTW92aW5nRWxlbWVudHMsIHJlbW92ZU1vdmluZ0VsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvbW92aW5nLWVsZW1lbnQnO1xuaW1wb3J0IHsgTUVSR0lORyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaGlzdG9yeSc7XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTW92aW5nKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgY29uc3QgeyBtb3VzZWRvd24sIG1vdXNlbW92ZSwgZ2xvYmFsTW91c2V1cCwgZ2xvYmFsTW91c2Vtb3ZlIH0gPSBib2FyZDtcblxuICAgIGxldCBvZmZzZXRYID0gMDtcbiAgICBsZXQgb2Zmc2V0WSA9IDA7XG4gICAgbGV0IGlzUHJldmVudERlZmF1bHQgPSBmYWxzZTtcbiAgICBsZXQgc3RhcnRQb2ludDogUG9pbnQgfCBudWxsO1xuICAgIGxldCBhY3RpdmVFbGVtZW50czogUGxhaXRFbGVtZW50W10gfCBudWxsID0gW107XG5cbiAgICBib2FyZC5tb3VzZWRvd24gPSBldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSBCT0FSRF9UT19IT1NULmdldChib2FyZCk7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgaG9zdCEpKTtcbiAgICAgICAgY29uc3QgcmFuZ2VzID0gW3sgYW5jaG9yOiBwb2ludCwgZm9jdXM6IHBvaW50IH1dO1xuICAgICAgICBsZXQgbW92YWJsZUVsZW1lbnRzID0gYm9hcmQuY2hpbGRyZW4uZmlsdGVyKGl0ZW0gPT4gYm9hcmQuaXNNb3ZhYmxlKGl0ZW0pKTtcbiAgICAgICAgaWYgKG1vdmFibGVFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHN0YXJ0UG9pbnQgPSBwb2ludDtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUm9vdEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkuZmlsdGVyKGl0ZW0gPT4gbW92YWJsZUVsZW1lbnRzLmluY2x1ZGVzKGl0ZW0pKTtcbiAgICAgICAgICAgIGNvbnN0IGludGVyc2VjdGlvblNlbGVjdGVkRWxlbWVudCA9IGlzSW50ZXJzZWN0aW9uRWxlbWVudHMoYm9hcmQsIHNlbGVjdGVkUm9vdEVsZW1lbnRzLCByYW5nZXMpO1xuICAgICAgICAgICAgaWYgKGludGVyc2VjdGlvblNlbGVjdGVkRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gc2VsZWN0ZWRSb290RWxlbWVudHM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gbW92YWJsZUVsZW1lbnRzLmZpbHRlcihpdGVtID0+XG4gICAgICAgICAgICAgICAgICAgIHJhbmdlcy5zb21lKHJhbmdlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBib2FyZC5pc0hpdFNlbGVjdGlvbihpdGVtLCByYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG1vdXNlZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLm1vdXNlbW92ZSA9IGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKHN0YXJ0UG9pbnQgJiYgYWN0aXZlRWxlbWVudHM/Lmxlbmd0aCAmJiAhUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpKSB7XG4gICAgICAgICAgICBpZiAoIWlzUHJldmVudERlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICBpc1ByZXZlbnREZWZhdWx0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSBCT0FSRF9UT19IT1NULmdldChib2FyZCk7XG4gICAgICAgICAgICBjb25zdCBlbmRQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIGhvc3QhKSk7XG4gICAgICAgICAgICBvZmZzZXRYID0gZW5kUG9pbnRbMF0gLSBzdGFydFBvaW50WzBdO1xuICAgICAgICAgICAgb2Zmc2V0WSA9IGVuZFBvaW50WzFdIC0gc3RhcnRQb2ludFsxXTtcbiAgICAgICAgICAgIHRocm90dGxlUkFGKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RWxlbWVudHMgPSBhY3RpdmVFbGVtZW50cyEubWFwKGFjdGl2ZUVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbeCwgeV0gPSBhY3RpdmVFbGVtZW50Py5wb2ludHMhWzBdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IGJvYXJkLmNoaWxkcmVuLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZUVsZW1lbnQuaWQpO1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBib2FyZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IFtbeCArIG9mZnNldFgsIHkgKyBvZmZzZXRZXV1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXhdXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFtpbmRleF0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmROYXRpdmVFbGVtZW50KGJvYXJkKS5jbGFzc0xpc3QuYWRkKCdlbGVtZW50LW1vdmluZycpO1xuICAgICAgICAgICAgICAgIGFkZE1vdmluZ0VsZW1lbnRzKGJvYXJkLCBjdXJyZW50RWxlbWVudHMgYXMgUGxhaXRFbGVtZW50W10pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzUHJldmVudERlZmF1bHQpIHtcbiAgICAgICAgICAgIC8vIOmYu+atoiBtb3ZlIOi/h+eoi+S4reinpuWPkeeUu+W4g+a7muWKqOihjOS4ulxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgICBtb3VzZW1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxNb3VzZW1vdmUgPSBldmVudCA9PiB7XG4gICAgICAgIGlmIChzdGFydFBvaW50KSB7XG4gICAgICAgICAgICBjb25zdCBpblBsYWl0Qm9hcmRFbGVtZW50ID0gaXNJblBsYWl0Qm9hcmQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpO1xuICAgICAgICAgICAgaWYgKCFpblBsYWl0Qm9hcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY2FuY2VsTW92ZShib2FyZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsTW91c2Vtb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsTW91c2V1cCA9IGV2ZW50ID0+IHtcbiAgICAgICAgaXNQcmV2ZW50RGVmYXVsdCA9IGZhbHNlO1xuICAgICAgICBpZiAoc3RhcnRQb2ludCkge1xuICAgICAgICAgICAgY2FuY2VsTW92ZShib2FyZCk7XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsTW91c2V1cChldmVudCk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGNhbmNlbE1vdmUoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgc3RhcnRQb2ludCA9IG51bGw7XG4gICAgICAgIG9mZnNldFggPSAwO1xuICAgICAgICBvZmZzZXRZID0gMDtcbiAgICAgICAgYWN0aXZlRWxlbWVudHMgPSBbXTtcbiAgICAgICAgcmVtb3ZlTW92aW5nRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgZmFsc2UpO1xuICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCkuY2xhc3NMaXN0LnJlbW92ZSgnZWxlbWVudC1tb3ZpbmcnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59XG4iXX0=
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tb3ZpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvcGx1Z2lucy93aXRoLW1vdmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFpQjtJQUN4QyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXZFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDaEIsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDN0IsSUFBSSxVQUF3QixDQUFDO0lBQzdCLElBQUksY0FBYyxHQUEwQixFQUFFLENBQUM7SUFFL0MsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsRUFB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QUksVUFBVSxFQUFFO1lBQ1osVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JCO1FBQ0QsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLFNBQVMsVUFBVSxDQUFDLEtBQWlCO1FBQ2pDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNaLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDWixjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFCLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCT0FSRF9UT19IT1NUIH0gZnJvbSAnLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IGlzSW5QbGFpdEJvYXJkLCB0cmFuc2Zvcm1Qb2ludCB9IGZyb20gJy4uL3V0aWxzL2JvYXJkJztcbmltcG9ydCB7IHRvUG9pbnQgfSBmcm9tICcuLi91dGlscy9kb20vY29tbW9uJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBQbGFpdEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWRFbGVtZW50cywgaXNJbnRlcnNlY3Rpb25FbGVtZW50cyB9IGZyb20gJy4uL3V0aWxzL3NlbGVjdGVkLWVsZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IHRocm90dGxlUkFGIH0gZnJvbSAnLi4vdXRpbHMvY29tbW9uJztcbmltcG9ydCB7IGFkZE1vdmluZ0VsZW1lbnRzLCByZW1vdmVNb3ZpbmdFbGVtZW50cyB9IGZyb20gJy4uL3V0aWxzL21vdmluZy1lbGVtZW50JztcbmltcG9ydCB7IE1FUkdJTkcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2hpc3RvcnknO1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aE1vdmluZyhib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIGNvbnN0IHsgbW91c2Vkb3duLCBtb3VzZW1vdmUsIGdsb2JhbE1vdXNldXAsIGdsb2JhbE1vdXNlbW92ZSB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgb2Zmc2V0WCA9IDA7XG4gICAgbGV0IG9mZnNldFkgPSAwO1xuICAgIGxldCBpc1ByZXZlbnREZWZhdWx0ID0gZmFsc2U7XG4gICAgbGV0IHN0YXJ0UG9pbnQ6IFBvaW50IHwgbnVsbDtcbiAgICBsZXQgYWN0aXZlRWxlbWVudHM6IFBsYWl0RWxlbWVudFtdIHwgbnVsbCA9IFtdO1xuXG4gICAgYm9hcmQubW91c2Vkb3duID0gZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCBob3N0ID0gQk9BUkRfVE9fSE9TVC5nZXQoYm9hcmQpO1xuICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIGhvc3QhKSk7XG4gICAgICAgIGNvbnN0IHJhbmdlcyA9IFt7IGFuY2hvcjogcG9pbnQsIGZvY3VzOiBwb2ludCB9XTtcbiAgICAgICAgbGV0IG1vdmFibGVFbGVtZW50cyA9IGJvYXJkLmNoaWxkcmVuLmZpbHRlcihpdGVtID0+IGJvYXJkLmlzTW92YWJsZShpdGVtKSk7XG4gICAgICAgIGlmIChtb3ZhYmxlRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBzdGFydFBvaW50ID0gcG9pbnQ7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZFJvb3RFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpLmZpbHRlcihpdGVtID0+IG1vdmFibGVFbGVtZW50cy5pbmNsdWRlcyhpdGVtKSk7XG4gICAgICAgICAgICBjb25zdCBpbnRlcnNlY3Rpb25TZWxlY3RlZEVsZW1lbnQgPSBpc0ludGVyc2VjdGlvbkVsZW1lbnRzKGJvYXJkLCBzZWxlY3RlZFJvb3RFbGVtZW50cywgcmFuZ2VzKTtcbiAgICAgICAgICAgIGlmIChpbnRlcnNlY3Rpb25TZWxlY3RlZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50cyA9IHNlbGVjdGVkUm9vdEVsZW1lbnRzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50cyA9IG1vdmFibGVFbGVtZW50cy5maWx0ZXIoaXRlbSA9PlxuICAgICAgICAgICAgICAgICAgICByYW5nZXMuc29tZShyYW5nZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYm9hcmQuaXNIaXRTZWxlY3Rpb24oaXRlbSwgcmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBtb3VzZWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5tb3VzZW1vdmUgPSBldmVudCA9PiB7XG4gICAgICAgIGlmIChzdGFydFBvaW50ICYmIGFjdGl2ZUVsZW1lbnRzPy5sZW5ndGggJiYgIVBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgaWYgKCFpc1ByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgaXNQcmV2ZW50RGVmYXVsdCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBob3N0ID0gQk9BUkRfVE9fSE9TVC5nZXQoYm9hcmQpO1xuICAgICAgICAgICAgY29uc3QgZW5kUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBob3N0ISkpO1xuICAgICAgICAgICAgb2Zmc2V0WCA9IGVuZFBvaW50WzBdIC0gc3RhcnRQb2ludFswXTtcbiAgICAgICAgICAgIG9mZnNldFkgPSBlbmRQb2ludFsxXSAtIHN0YXJ0UG9pbnRbMV07XG4gICAgICAgICAgICBjb25zdCBvZmZzZXRCdWZmZXIgPSA1O1xuICAgICAgICAgICAgaWYgKE1hdGguYWJzKG9mZnNldFgpID4gb2Zmc2V0QnVmZmVyIHx8IE1hdGguYWJzKG9mZnNldFkpID4gb2Zmc2V0QnVmZmVyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3R0bGVSQUYoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RWxlbWVudHMgPSBhY3RpdmVFbGVtZW50cyEubWFwKGFjdGl2ZUVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3gsIHldID0gYWN0aXZlRWxlbWVudD8ucG9pbnRzIVswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYm9hcmQuY2hpbGRyZW4uZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gYWN0aXZlRWxlbWVudC5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IFtbeCArIG9mZnNldFgsIHkgKyBvZmZzZXRZXV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmRleF1cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUGxhaXROb2RlLmdldChib2FyZCwgW2luZGV4XSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCkuY2xhc3NMaXN0LmFkZCgnZWxlbWVudC1tb3ZpbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgYWRkTW92aW5nRWxlbWVudHMoYm9hcmQsIGN1cnJlbnRFbGVtZW50cyBhcyBQbGFpdEVsZW1lbnRbXSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzUHJldmVudERlZmF1bHQpIHtcbiAgICAgICAgICAgIC8vIOmYu+atoiBtb3ZlIOi/h+eoi+S4reinpuWPkeeUu+W4g+a7muWKqOihjOS4ulxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgICBtb3VzZW1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxNb3VzZW1vdmUgPSBldmVudCA9PiB7XG4gICAgICAgIGlmIChzdGFydFBvaW50KSB7XG4gICAgICAgICAgICBjb25zdCBpblBsYWl0Qm9hcmRFbGVtZW50ID0gaXNJblBsYWl0Qm9hcmQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpO1xuICAgICAgICAgICAgaWYgKCFpblBsYWl0Qm9hcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY2FuY2VsTW92ZShib2FyZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsTW91c2Vtb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsTW91c2V1cCA9IGV2ZW50ID0+IHtcbiAgICAgICAgaXNQcmV2ZW50RGVmYXVsdCA9IGZhbHNlO1xuICAgICAgICBpZiAoc3RhcnRQb2ludCkge1xuICAgICAgICAgICAgY2FuY2VsTW92ZShib2FyZCk7XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsTW91c2V1cChldmVudCk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGNhbmNlbE1vdmUoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgc3RhcnRQb2ludCA9IG51bGw7XG4gICAgICAgIG9mZnNldFggPSAwO1xuICAgICAgICBvZmZzZXRZID0gMDtcbiAgICAgICAgYWN0aXZlRWxlbWVudHMgPSBbXTtcbiAgICAgICAgcmVtb3ZlTW92aW5nRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgZmFsc2UpO1xuICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCkuY2xhc3NMaXN0LnJlbW92ZSgnZWxlbWVudC1tb3ZpbmcnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59XG4iXX0=
|
|
@@ -2,7 +2,7 @@ import { PlaitBoard } from '../interfaces/board';
|
|
|
2
2
|
import { toPoint } from '../utils/dom/common';
|
|
3
3
|
import { getRectangleByElements } from '../utils/element';
|
|
4
4
|
import { distanceBetweenPointAndRectangle } from '../utils/math';
|
|
5
|
-
import { clampZoomLevel, clearViewportOrigination, getViewBox,
|
|
5
|
+
import { clampZoomLevel, clearViewportOrigination, getViewBox, getViewportOrigination } from '../utils/viewport';
|
|
6
6
|
import { BOARD_TO_COMPONENT } from '../utils/weak-maps';
|
|
7
7
|
import { setViewport } from './viewport';
|
|
8
8
|
import { depthFirstRecursion } from '../utils';
|
|
@@ -26,8 +26,8 @@ function updateZoom(board, newZoom, isCenter = true) {
|
|
|
26
26
|
const mousePoint = PlaitBoard.getMovingPoint(board);
|
|
27
27
|
const nativeElement = PlaitBoard.getBoardNativeElement(board);
|
|
28
28
|
const nativeElementRect = nativeElement.getBoundingClientRect();
|
|
29
|
-
const
|
|
30
|
-
let focusPoint = [
|
|
29
|
+
const boardContainerRect = PlaitBoard.getBoardNativeElement(board).getBoundingClientRect();
|
|
30
|
+
let focusPoint = [boardContainerRect.width / 2, boardContainerRect.height / 2];
|
|
31
31
|
if (!isCenter && mousePoint && distanceBetweenPointAndRectangle(mousePoint[0], mousePoint[1], nativeElementRect) === 0) {
|
|
32
32
|
focusPoint = toPoint(mousePoint[0], mousePoint[1], nativeElement);
|
|
33
33
|
}
|
|
@@ -39,13 +39,18 @@ function updateZoom(board, newZoom, isCenter = true) {
|
|
|
39
39
|
updateViewport(board, newOrigination, newZoom);
|
|
40
40
|
}
|
|
41
41
|
function fitViewport(board) {
|
|
42
|
-
const
|
|
43
|
-
|
|
42
|
+
const { hideScrollbar } = board.options;
|
|
43
|
+
let scrollBarWidth = 0;
|
|
44
|
+
if (!hideScrollbar) {
|
|
45
|
+
const viewportContainer = PlaitBoard.getViewportContainer(board);
|
|
46
|
+
scrollBarWidth = viewportContainer.offsetWidth - viewportContainer.clientWidth;
|
|
47
|
+
}
|
|
48
|
+
const boardContainerRect = PlaitBoard.getBoardNativeElement(board).getBoundingClientRect();
|
|
44
49
|
const elementHostBox = getRectangleByElements(board, board.children, true);
|
|
45
50
|
const zoom = board.viewport.zoom;
|
|
46
51
|
const autoFitPadding = 16;
|
|
47
|
-
const viewportWidth =
|
|
48
|
-
const viewportHeight =
|
|
52
|
+
const viewportWidth = boardContainerRect.width - 2 * autoFitPadding;
|
|
53
|
+
const viewportHeight = boardContainerRect.height - 2 * autoFitPadding;
|
|
49
54
|
let newZoom = zoom;
|
|
50
55
|
if (viewportWidth < elementHostBox.width || viewportHeight < elementHostBox.height) {
|
|
51
56
|
newZoom = Math.min(viewportWidth / elementHostBox.width, viewportHeight / elementHostBox.height);
|
|
@@ -57,8 +62,8 @@ function fitViewport(board) {
|
|
|
57
62
|
const centerX = viewBox[0] + viewBox[2] / 2;
|
|
58
63
|
const centerY = viewBox[1] + viewBox[3] / 2;
|
|
59
64
|
const newOrigination = [
|
|
60
|
-
centerX -
|
|
61
|
-
centerY -
|
|
65
|
+
centerX - boardContainerRect.width / 2 / newZoom + scrollBarWidth / 2 / zoom,
|
|
66
|
+
centerY - boardContainerRect.height / 2 / newZoom + scrollBarWidth / 2 / zoom
|
|
62
67
|
];
|
|
63
68
|
updateViewport(board, newOrigination, newZoom);
|
|
64
69
|
}
|
|
@@ -80,4 +85,4 @@ export const BoardTransforms = {
|
|
|
80
85
|
updateZoom,
|
|
81
86
|
updateThemeColor
|
|
82
87
|
};
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvdHJhbnNmb3Jtcy9ib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbkMsU0FBUyxjQUFjLENBQUMsS0FBaUIsRUFBRSxXQUFrQixFQUFFLElBQWE7SUFDeEUsSUFBSSxHQUFHLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNuQyxXQUFXLENBQUMsS0FBSyxFQUFFO1FBQ2YsR0FBRyxLQUFLLENBQUMsUUFBUTtRQUNqQixJQUFJO1FBQ0osV0FBVztLQUNkLENBQUMsQ0FBQztJQUNILHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRCxNQUFNLGlCQUFpQixHQUFHLENBQXNDLEtBQWlCLEVBQUUsT0FBVSxFQUFFLEVBQUU7SUFDN0YsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDeEIsTUFB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Li4vaW50ZXJmYWNlcy90aGVtZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQnO1xuaW1wb3J0IHsgUGxhaXRQb2ludGVyVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnRlcic7XG5pbXBvcnQgeyB0b1BvaW50IH0gZnJvbSAnLi4vdXRpbHMvZG9tL2NvbW1vbic7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvZWxlbWVudCc7XG5pbXBvcnQgeyBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFJlY3RhbmdsZSB9IGZyb20gJy4uL3V0aWxzL21hdGgnO1xuaW1wb3J0IHsgY2xhbXBab29tTGV2ZWwsIGNsZWFyVmlld3BvcnRPcmlnaW5hdGlvbiwgZ2V0Vmlld0JveCwgZ2V0Vmlld3BvcnRDb250YWluZXJSZWN0LCBnZXRWaWV3cG9ydE9yaWdpbmF0aW9uIH0gZnJvbSAnLi4vdXRpbHMvdmlld3BvcnQnO1xuaW1wb3J0IHsgQk9BUkRfVE9fQ09NUE9ORU5UIH0gZnJvbSAnLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IHNldFZpZXdwb3J0IH0gZnJvbSAnLi92aWV3cG9ydCc7XG5pbXBvcnQgeyBkZXB0aEZpcnN0UmVjdXJzaW9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IHNldFRoZW1lIH0gZnJvbSAnLi90aGVtZSc7XG5cbmZ1bmN0aW9uIHVwZGF0ZVZpZXdwb3J0KGJvYXJkOiBQbGFpdEJvYXJkLCBvcmlnaW5hdGlvbjogUG9pbnQsIHpvb20/OiBudW1iZXIpIHtcbiAgICB6b29tID0gem9vbSA/PyBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIHNldFZpZXdwb3J0KGJvYXJkLCB7XG4gICAgICAgIC4uLmJvYXJkLnZpZXdwb3J0LFxuICAgICAgICB6b29tLFxuICAgICAgICBvcmlnaW5hdGlvblxuICAgIH0pO1xuICAgIGNsZWFyVmlld3BvcnRPcmlnaW5hdGlvbihib2FyZCk7XG59XG5cbmNvbnN0IHVwZGF0ZVBvaW50ZXJUeXBlID0gPFQgZXh0ZW5kcyBzdHJpbmcgPSBQbGFpdFBvaW50ZXJUeXBlPihib2FyZDogUGxhaXRCb2FyZCwgcG9pbnRlcjogVCkgPT4ge1xuICAgIGJvYXJkLnBvaW50ZXIgPSBwb2ludGVyO1xuICAgIGNvbnN0IGJvYXJkQ29tcG9uZW50ID0gQk9BUkRfVE9fQ09NUE9ORU5ULmdldChib2FyZCk7XG4gICAgYm9hcmRDb21wb25lbnQ/Lm1hcmtGb3JDaGVjaygpO1xufTtcblxuZnVuY3Rpb24gdXBkYXRlWm9vbShib2FyZDogUGxhaXRCb2FyZCwgbmV3Wm9vbTogbnVtYmVyLCBpc0NlbnRlciA9IHRydWUpIHtcbiAgICBuZXdab29tID0gY2xhbXBab29tTGV2ZWwobmV3Wm9vbSk7XG5cbiAgICBjb25zdCBtb3VzZVBvaW50ID0gUGxhaXRCb2FyZC5nZXRNb3ZpbmdQb2ludChib2FyZCk7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmROYXRpdmVFbGVtZW50KGJvYXJkKTtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50UmVjdCA9IG5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgdmlld3BvcnRDb250YWluZXJSZWN0ID0gZ2V0Vmlld3BvcnRDb250YWluZXJSZWN0KGJvYXJkKTtcbiAgICBsZXQgZm9jdXNQb2ludCA9IFt2aWV3cG9ydENvbnRhaW5lclJlY3Qud2lkdGggLyAyLCB2aWV3cG9ydENvbnRhaW5lclJlY3QuaGVpZ2h0IC8gMl07XG5cbiAgICBpZiAoIWlzQ2VudGVyICYmIG1vdXNlUG9pbnQgJiYgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUobW91c2VQb2ludFswXSwgbW91c2VQb2ludFsxXSwgbmF0aXZlRWxlbWVudFJlY3QpID09PSAwKSB7XG4gICAgICAgIGZvY3VzUG9pbnQgPSB0b1BvaW50KG1vdXNlUG9pbnRbMF0sIG1vdXNlUG9pbnRbMV0sIChuYXRpdmVFbGVtZW50IGFzIHVua25vd24pIGFzIFNWR0VsZW1lbnQpO1xuICAgIH1cblxuICAgIGNvbnN0IHpvb20gPSBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIGNvbnN0IG9yaWdpbmF0aW9uID0gZ2V0Vmlld3BvcnRPcmlnaW5hdGlvbihib2FyZCk7XG4gICAgY29uc3QgY2VudGVyWCA9IG9yaWdpbmF0aW9uIVswXSArIGZvY3VzUG9pbnRbMF0gLyB6b29tO1xuICAgIGNvbnN0IGNlbnRlclkgPSBvcmlnaW5hdGlvbiFbMV0gKyBmb2N1c1BvaW50WzFdIC8gem9vbTtcbiAgICBjb25zdCBuZXdPcmlnaW5hdGlvbiA9IFtjZW50ZXJYIC0gZm9jdXNQb2ludFswXSAvIG5ld1pvb20sIGNlbnRlclkgLSBmb2N1c1BvaW50WzFdIC8gbmV3Wm9vbV0gYXMgUG9pbnQ7XG4gICAgdXBkYXRlVmlld3BvcnQoYm9hcmQsIG5ld09yaWdpbmF0aW9uLCBuZXdab29tKTtcbn1cblxuZnVuY3Rpb24gZml0Vmlld3BvcnQoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50UmVjdCA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmROYXRpdmVFbGVtZW50KGJvYXJkKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB2aWV3cG9ydENvbnRhaW5lclJlY3QgPSBnZXRWaWV3cG9ydENvbnRhaW5lclJlY3QoYm9hcmQpO1xuICAgIGNvbnN0IGVsZW1lbnRIb3N0Qm94ID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgYm9hcmQuY2hpbGRyZW4sIHRydWUpO1xuICAgIGNvbnN0IHpvb20gPSBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIGNvbnN0IGF1dG9GaXRQYWRkaW5nID0gMTY7XG4gICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IG5hdGl2ZUVsZW1lbnRSZWN0LndpZHRoIC0gMiAqIGF1dG9GaXRQYWRkaW5nO1xuICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gbmF0aXZlRWxlbWVudFJlY3QuaGVpZ2h0IC0gMiAqIGF1dG9GaXRQYWRkaW5nO1xuXG4gICAgbGV0IG5ld1pvb20gPSB6b29tO1xuICAgIGlmICh2aWV3cG9ydFdpZHRoIDwgZWxlbWVudEhvc3RCb3gud2lkdGggfHwgdmlld3BvcnRIZWlnaHQgPCBlbGVtZW50SG9zdEJveC5oZWlnaHQpIHtcbiAgICAgICAgbmV3Wm9vbSA9IE1hdGgubWluKHZpZXdwb3J0V2lkdGggLyBlbGVtZW50SG9zdEJveC53aWR0aCwgdmlld3BvcnRIZWlnaHQgLyBlbGVtZW50SG9zdEJveC5oZWlnaHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1pvb20gPSAxO1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdCb3ggPSBnZXRWaWV3Qm94KGJvYXJkLCBuZXdab29tKTtcbiAgICBjb25zdCBjZW50ZXJYID0gdmlld0JveFswXSArIHZpZXdCb3hbMl0gLyAyO1xuICAgIGNvbnN0IGNlbnRlclkgPSB2aWV3Qm94WzFdICsgdmlld0JveFszXSAvIDI7XG4gICAgY29uc3QgbmV3T3JpZ2luYXRpb24gPSBbXG4gICAgICAgIGNlbnRlclggLSB2aWV3cG9ydENvbnRhaW5lclJlY3Qud2lkdGggLyAyIC8gbmV3Wm9vbSxcbiAgICAgICAgY2VudGVyWSAtIHZpZXdwb3J0Q29udGFpbmVyUmVjdC5oZWlnaHQgLyAyIC8gbmV3Wm9vbVxuICAgIF0gYXMgUG9pbnQ7XG4gICAgdXBkYXRlVmlld3BvcnQoYm9hcmQsIG5ld09yaWdpbmF0aW9uLCBuZXdab29tKTtcbn1cblxuLyoqXG4gKiBhcHBseSB0aGVtZSB0byBldmVyeSBlbGVtZW50IChyZW1vdmUgZWxlbWVudCBjdXN0b20gcHJvcGVydGllcylcbiAqIGludm9rZSBhcHBseVRoZW1lQ29sb3JcbiAqL1xuZnVuY3Rpb24gdXBkYXRlVGhlbWVDb2xvcihib2FyZDogUGxhaXRCb2FyZCwgbW9kZTogVGhlbWVDb2xvck1vZGUpIHtcbiAgICBtb2RlID0gbW9kZSA/PyBib2FyZC50aGVtZS50aGVtZUNvbG9yTW9kZTtcbiAgICBzZXRUaGVtZShib2FyZCwgeyB0aGVtZUNvbG9yTW9kZTogbW9kZSB9KTtcblxuICAgIGRlcHRoRmlyc3RSZWN1cnNpb24oKGJvYXJkIGFzIHVua25vd24pIGFzIFBsYWl0RWxlbWVudCwgZWxlbWVudCA9PiB7XG4gICAgICAgIGJvYXJkLmFwcGx5VGhlbWUoZWxlbWVudCk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBCb2FyZFRyYW5zZm9ybXMgPSB7XG4gICAgdXBkYXRlUG9pbnRlclR5cGUsXG4gICAgdXBkYXRlVmlld3BvcnQsXG4gICAgZml0Vmlld3BvcnQsXG4gICAgdXBkYXRlWm9vbSxcbiAgICB1cGRhdGVUaGVtZUNvbG9yXG59O1xuIl19
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvdHJhbnNmb3Jtcy9ib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbkMsU0FBUyxjQUFjLENBQUMsS0FBaUIsRUFBRSxXQUFrQixFQUFFLElBQWE7SUFDeEUsSUFBSSxHQUFHLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNuQyxXQUFXLENBQUMsS0FBSyxFQUFFO1FBQ2YsR0FBRyxLQUFLLENBQUMsUUFBUTtRQUNqQixJQUFJO1FBQ0osV0FBVztLQUNkLENBQUMsQ0FBQztJQUNILHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRCxNQUFNLGlCQUFpQixHQUFHLENBQXNDLEtBQWlCLEVBQUUsT0FBVSxFQUFFLEVBQUU7SUFDN0YsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDeEIsTUFBTSxjQUFjLEdBQUcs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QkFBbUIsQ0FBRSxLQUFpQyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQzlELEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsV0FBVztJQUNYLFVBQVU7SUFDVixnQkFBZ0I7Q0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoZW1lQ29sb3JNb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90aGVtZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQnO1xuaW1wb3J0IHsgUGxhaXRQb2ludGVyVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnRlcic7XG5pbXBvcnQgeyB0b1BvaW50IH0gZnJvbSAnLi4vdXRpbHMvZG9tL2NvbW1vbic7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvZWxlbWVudCc7XG5pbXBvcnQgeyBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFJlY3RhbmdsZSB9IGZyb20gJy4uL3V0aWxzL21hdGgnO1xuaW1wb3J0IHsgY2xhbXBab29tTGV2ZWwsIGNsZWFyVmlld3BvcnRPcmlnaW5hdGlvbiwgZ2V0Vmlld0JveCwgZ2V0Vmlld3BvcnRPcmlnaW5hdGlvbiB9IGZyb20gJy4uL3V0aWxzL3ZpZXdwb3J0JztcbmltcG9ydCB7IEJPQVJEX1RPX0NPTVBPTkVOVCB9IGZyb20gJy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBzZXRWaWV3cG9ydCB9IGZyb20gJy4vdmlld3BvcnQnO1xuaW1wb3J0IHsgZGVwdGhGaXJzdFJlY3Vyc2lvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFBsYWl0RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBzZXRUaGVtZSB9IGZyb20gJy4vdGhlbWUnO1xuXG5mdW5jdGlvbiB1cGRhdGVWaWV3cG9ydChib2FyZDogUGxhaXRCb2FyZCwgb3JpZ2luYXRpb246IFBvaW50LCB6b29tPzogbnVtYmVyKSB7XG4gICAgem9vbSA9IHpvb20gPz8gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICBzZXRWaWV3cG9ydChib2FyZCwge1xuICAgICAgICAuLi5ib2FyZC52aWV3cG9ydCxcbiAgICAgICAgem9vbSxcbiAgICAgICAgb3JpZ2luYXRpb25cbiAgICB9KTtcbiAgICBjbGVhclZpZXdwb3J0T3JpZ2luYXRpb24oYm9hcmQpO1xufVxuXG5jb25zdCB1cGRhdGVQb2ludGVyVHlwZSA9IDxUIGV4dGVuZHMgc3RyaW5nID0gUGxhaXRQb2ludGVyVHlwZT4oYm9hcmQ6IFBsYWl0Qm9hcmQsIHBvaW50ZXI6IFQpID0+IHtcbiAgICBib2FyZC5wb2ludGVyID0gcG9pbnRlcjtcbiAgICBjb25zdCBib2FyZENvbXBvbmVudCA9IEJPQVJEX1RPX0NPTVBPTkVOVC5nZXQoYm9hcmQpO1xuICAgIGJvYXJkQ29tcG9uZW50Py5tYXJrRm9yQ2hlY2soKTtcbn07XG5cbmZ1bmN0aW9uIHVwZGF0ZVpvb20oYm9hcmQ6IFBsYWl0Qm9hcmQsIG5ld1pvb206IG51bWJlciwgaXNDZW50ZXIgPSB0cnVlKSB7XG4gICAgbmV3Wm9vbSA9IGNsYW1wWm9vbUxldmVsKG5ld1pvb20pO1xuXG4gICAgY29uc3QgbW91c2VQb2ludCA9IFBsYWl0Qm9hcmQuZ2V0TW92aW5nUG9pbnQoYm9hcmQpO1xuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCk7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudFJlY3QgPSBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGJvYXJkQ29udGFpbmVyUmVjdCA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmROYXRpdmVFbGVtZW50KGJvYXJkKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBsZXQgZm9jdXNQb2ludCA9IFtib2FyZENvbnRhaW5lclJlY3Qud2lkdGggLyAyLCBib2FyZENvbnRhaW5lclJlY3QuaGVpZ2h0IC8gMl07XG5cbiAgICBpZiAoIWlzQ2VudGVyICYmIG1vdXNlUG9pbnQgJiYgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUobW91c2VQb2ludFswXSwgbW91c2VQb2ludFsxXSwgbmF0aXZlRWxlbWVudFJlY3QpID09PSAwKSB7XG4gICAgICAgIGZvY3VzUG9pbnQgPSB0b1BvaW50KG1vdXNlUG9pbnRbMF0sIG1vdXNlUG9pbnRbMV0sIChuYXRpdmVFbGVtZW50IGFzIHVua25vd24pIGFzIFNWR0VsZW1lbnQpO1xuICAgIH1cblxuICAgIGNvbnN0IHpvb20gPSBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIGNvbnN0IG9yaWdpbmF0aW9uID0gZ2V0Vmlld3BvcnRPcmlnaW5hdGlvbihib2FyZCk7XG4gICAgY29uc3QgY2VudGVyWCA9IG9yaWdpbmF0aW9uIVswXSArIGZvY3VzUG9pbnRbMF0gLyB6b29tO1xuICAgIGNvbnN0IGNlbnRlclkgPSBvcmlnaW5hdGlvbiFbMV0gKyBmb2N1c1BvaW50WzFdIC8gem9vbTtcbiAgICBjb25zdCBuZXdPcmlnaW5hdGlvbiA9IFtjZW50ZXJYIC0gZm9jdXNQb2ludFswXSAvIG5ld1pvb20sIGNlbnRlclkgLSBmb2N1c1BvaW50WzFdIC8gbmV3Wm9vbV0gYXMgUG9pbnQ7XG4gICAgdXBkYXRlVmlld3BvcnQoYm9hcmQsIG5ld09yaWdpbmF0aW9uLCBuZXdab29tKTtcbn1cblxuZnVuY3Rpb24gZml0Vmlld3BvcnQoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCB7IGhpZGVTY3JvbGxiYXIgfSA9IGJvYXJkLm9wdGlvbnM7XG4gICAgbGV0IHNjcm9sbEJhcldpZHRoID0gMDtcbiAgICBpZiAoIWhpZGVTY3JvbGxiYXIpIHtcbiAgICAgICAgY29uc3Qgdmlld3BvcnRDb250YWluZXIgPSBQbGFpdEJvYXJkLmdldFZpZXdwb3J0Q29udGFpbmVyKGJvYXJkKTtcbiAgICAgICAgc2Nyb2xsQmFyV2lkdGggPSB2aWV3cG9ydENvbnRhaW5lci5vZmZzZXRXaWR0aCAtIHZpZXdwb3J0Q29udGFpbmVyLmNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIGNvbnN0IGJvYXJkQ29udGFpbmVyUmVjdCA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmROYXRpdmVFbGVtZW50KGJvYXJkKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBlbGVtZW50SG9zdEJveCA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGJvYXJkLmNoaWxkcmVuLCB0cnVlKTtcbiAgICBjb25zdCB6b29tID0gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICBjb25zdCBhdXRvRml0UGFkZGluZyA9IDE2O1xuICAgIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBib2FyZENvbnRhaW5lclJlY3Qud2lkdGggLSAyICogYXV0b0ZpdFBhZGRpbmc7XG4gICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSBib2FyZENvbnRhaW5lclJlY3QuaGVpZ2h0IC0gMiAqIGF1dG9GaXRQYWRkaW5nO1xuXG4gICAgbGV0IG5ld1pvb20gPSB6b29tO1xuICAgIGlmICh2aWV3cG9ydFdpZHRoIDwgZWxlbWVudEhvc3RCb3gud2lkdGggfHwgdmlld3BvcnRIZWlnaHQgPCBlbGVtZW50SG9zdEJveC5oZWlnaHQpIHtcbiAgICAgICAgbmV3Wm9vbSA9IE1hdGgubWluKHZpZXdwb3J0V2lkdGggLyBlbGVtZW50SG9zdEJveC53aWR0aCwgdmlld3BvcnRIZWlnaHQgLyBlbGVtZW50SG9zdEJveC5oZWlnaHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1pvb20gPSAxO1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdCb3ggPSBnZXRWaWV3Qm94KGJvYXJkLCBuZXdab29tKTtcbiAgICBjb25zdCBjZW50ZXJYID0gdmlld0JveFswXSArIHZpZXdCb3hbMl0gLyAyO1xuICAgIGNvbnN0IGNlbnRlclkgPSB2aWV3Qm94WzFdICsgdmlld0JveFszXSAvIDI7XG4gICAgY29uc3QgbmV3T3JpZ2luYXRpb24gPSBbXG4gICAgICAgIGNlbnRlclggLSBib2FyZENvbnRhaW5lclJlY3Qud2lkdGggLyAyIC8gbmV3Wm9vbSArIHNjcm9sbEJhcldpZHRoIC8gMiAvIHpvb20sXG4gICAgICAgIGNlbnRlclkgLSBib2FyZENvbnRhaW5lclJlY3QuaGVpZ2h0IC8gMiAvIG5ld1pvb20gKyBzY3JvbGxCYXJXaWR0aCAvIDIgLyB6b29tXG4gICAgXSBhcyBQb2ludDtcbiAgICB1cGRhdGVWaWV3cG9ydChib2FyZCwgbmV3T3JpZ2luYXRpb24sIG5ld1pvb20pO1xufVxuXG4vKipcbiAqIGFwcGx5IHRoZW1lIHRvIGV2ZXJ5IGVsZW1lbnQgKHJlbW92ZSBlbGVtZW50IGN1c3RvbSBwcm9wZXJ0aWVzKVxuICogaW52b2tlIGFwcGx5VGhlbWVDb2xvclxuICovXG5mdW5jdGlvbiB1cGRhdGVUaGVtZUNvbG9yKGJvYXJkOiBQbGFpdEJvYXJkLCBtb2RlOiBUaGVtZUNvbG9yTW9kZSkge1xuICAgIG1vZGUgPSBtb2RlID8/IGJvYXJkLnRoZW1lLnRoZW1lQ29sb3JNb2RlO1xuICAgIHNldFRoZW1lKGJvYXJkLCB7IHRoZW1lQ29sb3JNb2RlOiBtb2RlIH0pO1xuXG4gICAgZGVwdGhGaXJzdFJlY3Vyc2lvbigoYm9hcmQgYXMgdW5rbm93bikgYXMgUGxhaXRFbGVtZW50LCBlbGVtZW50ID0+IHtcbiAgICAgICAgYm9hcmQuYXBwbHlUaGVtZShlbGVtZW50KTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IEJvYXJkVHJhbnNmb3JtcyA9IHtcbiAgICB1cGRhdGVQb2ludGVyVHlwZSxcbiAgICB1cGRhdGVWaWV3cG9ydCxcbiAgICBmaXRWaWV3cG9ydCxcbiAgICB1cGRhdGVab29tLFxuICAgIHVwZGF0ZVRoZW1lQ29sb3Jcbn07XG4iXX0=
|
|
@@ -60,17 +60,15 @@ export function clampZoomLevel(zoom, minZoom = 0.2, maxZoom = 4) {
|
|
|
60
60
|
return zoom < minZoom ? minZoom : zoom > maxZoom ? maxZoom : zoom;
|
|
61
61
|
}
|
|
62
62
|
export function getViewBox(board, zoom) {
|
|
63
|
-
const
|
|
64
|
-
const scrollBarWidth = hideScrollbar ? 0 : SCROLL_BAR_WIDTH;
|
|
65
|
-
const viewportContainerRect = PlaitBoard.getBoardNativeElement(board).getBoundingClientRect();
|
|
63
|
+
const boardContainerRectangle = PlaitBoard.getBoardNativeElement(board).getBoundingClientRect();
|
|
66
64
|
const elementHostBBox = getElementHostBBox(board, zoom);
|
|
67
|
-
const horizontalPadding =
|
|
68
|
-
const verticalPadding =
|
|
65
|
+
const horizontalPadding = boardContainerRectangle.width / 2;
|
|
66
|
+
const verticalPadding = boardContainerRectangle.height / 2;
|
|
69
67
|
const viewBox = [
|
|
70
68
|
elementHostBBox.left - horizontalPadding / zoom,
|
|
71
69
|
elementHostBBox.top - verticalPadding / zoom,
|
|
72
|
-
elementHostBBox.right - elementHostBBox.left + (horizontalPadding * 2
|
|
73
|
-
elementHostBBox.bottom - elementHostBBox.top + (verticalPadding * 2
|
|
70
|
+
elementHostBBox.right - elementHostBBox.left + (horizontalPadding * 2) / zoom,
|
|
71
|
+
elementHostBBox.bottom - elementHostBBox.top + (verticalPadding * 2) / zoom
|
|
74
72
|
];
|
|
75
73
|
return viewBox;
|
|
76
74
|
}
|
|
@@ -155,4 +153,4 @@ export const setIsFromViewportChange = (board, state) => {
|
|
|
155
153
|
IS_FROM_VIEWPORT_CHANGE.set(board, state);
|
|
156
154
|
};
|
|
157
155
|
export function scrollToRectangle(board, client) { }
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvdXRpbHMvdmlld3BvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztBQUU3RCxNQUFNLHVCQUF1QixHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO0FBRW5FLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFpQjtJQUN0RCxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN4QyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFckYsT0FBTztRQUNILEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxHQUFHLGNBQWM7UUFDMUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLEdBQUcsY0FBYztLQUMvQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFpQixFQUFFLElBQVk7SUFDOUQsTUFBTSxZQUFZLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekUsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUMscUJBQXFC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LENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFpQixFQUFFLE1BQXVCLElBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNDUk9MTF9CQVJfV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyB9IGZyb20gJy4vZWxlbWVudCc7XG5pbXBvcnQgeyBCT0FSRF9UT19WSUVXUE9SVF9PUklHSU5BVElPTiB9IGZyb20gJy4vd2Vhay1tYXBzJztcblxuY29uc3QgSVNfRlJPTV9TQ1JPTExJTkcgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBib29sZWFuPigpO1xuXG5jb25zdCBJU19GUk9NX1ZJRVdQT1JUX0NIQU5HRSA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIGJvb2xlYW4+KCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaWV3cG9ydENvbnRhaW5lclJlY3QoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCB7IGhpZGVTY3JvbGxiYXIgfSA9IGJvYXJkLm9wdGlvbnM7XG4gICAgY29uc3Qgc2Nyb2xsQmFyV2lkdGggPSBoaWRlU2Nyb2xsYmFyID8gU0NST0xMX0JBUl9XSURUSCA6IDA7XG4gICAgY29uc3Qgdmlld3BvcnRSZWN0ID0gUGxhaXRCb2FyZC5nZXRCb2FyZE5hdGl2ZUVsZW1lbnQoYm9hcmQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IHZpZXdwb3J0UmVjdC53aWR0aCArIHNjcm9sbEJhcldpZHRoLFxuICAgICAgICBoZWlnaHQ6IHZpZXdwb3J0UmVjdC5oZWlnaHQgKyBzY3JvbGxCYXJXaWR0aFxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50SG9zdEJCb3goYm9hcmQ6IFBsYWl0Qm9hcmQsIHpvb206IG51bWJlcikge1xuICAgIGNvbnN0IGNoaWxkcmVuUmVjdCA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGJvYXJkLmNoaWxkcmVuLCB0cnVlKTtcbiAgICBjb25zdCB2aWV3cG9ydENvbnRhaW5lclJlY3QgPSBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgY29udGFpbmVyV2lkdGggPSB2aWV3cG9ydENvbnRhaW5lclJlY3Qud2lkdGggLyB6b29tO1xuICAgIGNvbnN0IGNvbnRhaW5lckhlaWdodCA9IHZpZXdwb3J0Q29udGFpbmVyUmVjdC5oZWlnaHQgLyB6b29tO1xuICAgIGxldCBsZWZ0OiBudW1iZXI7XG4gICAgbGV0IHJpZ2h0OiBudW1iZXI7XG4gICAgbGV0IHRvcDogbnVtYmVyO1xuICAgIGxldCBib3R0b206IG51bWJlcjtcblxuICAgIGlmIChjaGlsZHJlblJlY3Qud2lkdGggPCBjb250YWluZXJXaWR0aCkge1xuICAgICAgICBjb25zdCBjZW50ZXJYID0gY2hpbGRyZW5SZWN0LnggKyBjaGlsZHJlblJlY3Qud2lkdGggLyAyO1xuICAgICAgICBjb25zdCBoYWxmQ29udGFpbmVyV2lkdGggPSBjb250YWluZXJXaWR0aCAvIDI7XG4gICAgICAgIGxlZnQgPSBjZW50ZXJYIC0gaGFsZkNvbnRhaW5lcldpZHRoO1xuICAgICAgICByaWdodCA9IGNlbnRlclggKyBoYWxmQ29udGFpbmVyV2lkdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbGVmdCA9IGNoaWxkcmVuUmVjdC54O1xuICAgICAgICByaWdodCA9IGNoaWxkcmVuUmVjdC54ICsgY2hpbGRyZW5SZWN0LndpZHRoO1xuICAgIH1cbiAgICBpZiAoY2hpbGRyZW5SZWN0LmhlaWdodCA8IGNvbnRhaW5lckhlaWdodCkge1xuICAgICAgICBjb25zdCBjZW50ZXJZID0gY2hpbGRyZW5SZWN0LnkgKyBjaGlsZHJlblJlY3QuaGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgaGFsZkNvbnRhaW5lckhlaWdodCA9IGNvbnRhaW5lckhlaWdodCAvIDI7XG4gICAgICAgIHRvcCA9IGNlbnRlclkgLSBoYWxmQ29udGFpbmVySGVpZ2h0O1xuICAgICAgICBib3R0b20gPSBjZW50ZXJZICsgaGFsZkNvbnRhaW5lckhlaWdodDtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0b3AgPSBjaGlsZHJlblJlY3QueTtcbiAgICAgICAgYm90dG9tID0gY2hpbGRyZW5SZWN0LnkgKyBjaGlsZHJlblJlY3QuaGVpZ2h0O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBsZWZ0LFxuICAgICAgICByaWdodCxcbiAgICAgICAgdG9wLFxuICAgICAgICBib3R0b21cbiAgICB9O1xufVxuXG4vKipcbiAqIOmqjOivgee8qeaUvuavlOaYr+WQpuespuWQiOmZkOWItu+8jOWmguaenOi2heWHuumZkOWItu+8jOWImei/lOWbnuWQiOmAgueahOe8qeaUvuavlFxuICogQHBhcmFtIHpvb20g57yp5pS+5q+UXG4gKiBAcGFyYW0gbWluWm9vbSDmnIDlsI/nvKnmlL7mr5RcbiAqIEBwYXJhbSBtYXhab29tIOacgOWkp+e8qeaUvuavlFxuICogQHJldHVybnMg5q2j56Gu55qE57yp5pS+5q+UXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGFtcFpvb21MZXZlbCh6b29tOiBudW1iZXIsIG1pblpvb20gPSAwLjIsIG1heFpvb20gPSA0KSB7XG4gICAgcmV0dXJuIHpvb20gPCBtaW5ab29tID8gbWluWm9vbSA6IHpvb20gPiBtYXhab29tID8gbWF4Wm9vbSA6IHpvb207XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaWV3Qm94KGJvYXJkOiBQbGFpdEJvYXJkLCB6b29tOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IGhpZGVTY3JvbGxiYXIgfSA9IGJvYXJkLm9wdGlvbnM7XG4gICAgY29uc3Qgc2Nyb2xsQmFyV2lkdGggPSBoaWRlU2Nyb2xsYmFyID8gMCA6IFNDUk9MTF9CQVJfV0lEVEg7XG5cbiAgICBjb25zdCB2aWV3cG9ydENvbnRhaW5lclJlY3QgPSBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgZWxlbWVudEhvc3RCQm94ID0gZ2V0RWxlbWVudEhvc3RCQm94KGJvYXJkLCB6b29tKTtcblxuICAgIGNvbnN0IGhvcml6b250YWxQYWRkaW5nID0gdmlld3BvcnRDb250YWluZXJSZWN0LndpZHRoIC8gMjtcbiAgICBjb25zdCB2ZXJ0aWNhbFBhZGRpbmcgPSB2aWV3cG9ydENvbnRhaW5lclJlY3QuaGVpZ2h0IC8gMjtcbiAgICBjb25zdCB2aWV3Qm94ID0gW1xuICAgICAgICBlbGVtZW50SG9zdEJCb3gubGVmdCAtIGhvcml6b250YWxQYWRkaW5nIC8gem9vbSxcbiAgICAgICAgZWxlbWVudEhvc3RCQm94LnRvcCAtIHZlcnRpY2FsUGFkZGluZyAvIHpvb20sXG4gICAgICAgIGVsZW1lbnRIb3N0QkJveC5yaWdodCAtIGVsZW1lbnRIb3N0QkJveC5sZWZ0ICsgKGhvcml6b250YWxQYWRkaW5nICogMiAtIHNjcm9sbEJhcldpZHRoKSAvIHpvb20sXG4gICAgICAgIGVsZW1lbnRIb3N0QkJveC5ib3R0b20gLSBlbGVtZW50SG9zdEJCb3gudG9wICsgKHZlcnRpY2FsUGFkZGluZyAqIDIgLSBzY3JvbGxCYXJXaWR0aCkgLyB6b29tXG4gICAgXTtcbiAgICByZXR1cm4gdmlld0JveDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFNWR1ZpZXdCb3goYm9hcmQ6IFBsYWl0Qm9hcmQsIHZpZXdCb3g6IG51bWJlcltdKSB7XG4gICAgY29uc3Qgem9vbSA9IGJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpO1xuICAgIGhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgIGhvc3RFbGVtZW50LnN0eWxlLndpZHRoID0gYCR7dmlld0JveFsyXSAqIHpvb219cHhgO1xuICAgIGhvc3RFbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke3ZpZXdCb3hbM10gKiB6b29tfXB4YDtcblxuICAgIGlmICh2aWV3Qm94ICYmIHZpZXdCb3hbMl0gPiAwICYmIHZpZXdCb3hbM10gPiAwKSB7XG4gICAgICAgIGhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgndmlld0JveCcsIHZpZXdCb3guam9pbignICcpKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVWaWV3cG9ydE9mZnNldChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIGNvbnN0IG9yaWdpbmF0aW9uID0gZ2V0Vmlld3BvcnRPcmlnaW5hdGlvbihib2FyZCk7XG4gICAgaWYgKCFvcmlnaW5hdGlvbikgcmV0dXJuO1xuXG4gICAgY29uc3QgeyB6b29tIH0gPSBib2FyZC52aWV3cG9ydDtcbiAgICBjb25zdCB2aWV3Qm94ID0gZ2V0Vmlld0JveChib2FyZCwgem9vbSk7XG4gICAgY29uc3Qgc2Nyb2xsTGVmdCA9IChvcmlnaW5hdGlvbiFbMF0gLSB2aWV3Qm94WzBdKSAqIHpvb207XG4gICAgY29uc3Qgc2Nyb2xsVG9wID0gKG9yaWdpbmF0aW9uIVsxXSAtIHZpZXdCb3hbMV0pICogem9vbTtcbiAgICB1cGRhdGVWaWV3cG9ydENvbnRhaW5lclNjcm9sbChib2FyZCwgc2Nyb2xsTGVmdCwgc2Nyb2xsVG9wKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVZpZXdwb3J0Q29udGFpbmVyU2Nyb2xsKGJvYXJkOiBQbGFpdEJvYXJkLCBsZWZ0OiBudW1iZXIsIHRvcDogbnVtYmVyLCBpc0Zyb21WaWV3cG9ydENoYW5nZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBjb25zdCB2aWV3cG9ydENvbnRhaW5lciA9IFBsYWl0Qm9hcmQuZ2V0Vmlld3BvcnRDb250YWluZXIoYm9hcmQpO1xuICAgIGlmICh2aWV3cG9ydENvbnRhaW5lci5zY3JvbGxMZWZ0ICE9PSBsZWZ0IHx8IHZpZXdwb3J0Q29udGFpbmVyLnNjcm9sbFRvcCAhPT0gdG9wKSB7XG4gICAgICAgIHZpZXdwb3J0Q29udGFpbmVyLnNjcm9sbExlZnQgPSBsZWZ0O1xuICAgICAgICB2aWV3cG9ydENvbnRhaW5lci5zY3JvbGxUb3AgPSB0b3A7XG4gICAgICAgIGlzRnJvbVZpZXdwb3J0Q2hhbmdlICYmIHNldElzRnJvbVZpZXdwb3J0Q2hhbmdlKGJvYXJkLCB0cnVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplVmlld3BvcnRDb250YWluZXIoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldFZpZXdwb3J0Q29udGFpbmVyUmVjdChib2FyZCk7XG4gICAgY29uc3Qgdmlld3BvcnRDb250YWluZXIgPSBQbGFpdEJvYXJkLmdldFZpZXdwb3J0Q29udGFpbmVyKGJvYXJkKTtcbiAgICB2aWV3cG9ydENvbnRhaW5lci5zdHlsZS53aWR0aCA9IGAke3dpZHRofXB4YDtcbiAgICB2aWV3cG9ydENvbnRhaW5lci5zdHlsZS5oZWlnaHQgPSBgJHtoZWlnaHR9cHhgO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGl6ZVZpZXdCb3goYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCB6b29tID0gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICBjb25zdCB2aWV3Qm94ID0gZ2V0Vmlld0JveChib2FyZCwgem9vbSk7XG4gICAgc2V0U1ZHVmlld0JveChib2FyZCwgdmlld0JveCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplVmlld3BvcnRPZmZzZXQoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBpZiAoIWJvYXJkLnZpZXdwb3J0Py5vcmlnaW5hdGlvbikge1xuICAgICAgICBjb25zdCB6b29tID0gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgY29uc3Qgdmlld3BvcnRDb250YWluZXJSZWN0ID0gUGxhaXRCb2FyZC5nZXRCb2FyZE5hdGl2ZUVsZW1lbnQoYm9hcmQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB2aWV3Qm94ID0gZ2V0Vmlld0JveChib2FyZCwgem9vbSk7XG4gICAgICAgIGNvbnN0IGNlbnRlclggPSB2aWV3Qm94WzBdICsgdmlld0JveFsyXSAvIDI7XG4gICAgICAgIGNvbnN0IGNlbnRlclkgPSB2aWV3Qm94WzFdICsgdmlld0JveFszXSAvIDI7XG4gICAgICAgIGNvbnN0IG9yaWdpbmF0aW9uID0gW2NlbnRlclggLSB2aWV3cG9ydENvbnRhaW5lclJlY3Qud2lkdGggLyAyIC8gem9vbSwgY2VudGVyWSAtIHZpZXdwb3J0Q29udGFpbmVyUmVjdC5oZWlnaHQgLyAyIC8gem9vbV0gYXMgUG9pbnQ7XG4gICAgICAgIHVwZGF0ZVZpZXdwb3J0T3JpZ2luYXRpb24oYm9hcmQsIG9yaWdpbmF0aW9uKTtcbiAgICAgICAgdXBkYXRlVmlld3BvcnRPZmZzZXQoYm9hcmQpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHVwZGF0ZVZpZXdwb3J0T2Zmc2V0KGJvYXJkKTtcbn1cblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVZpZXdwb3J0T3JpZ2luYXRpb24gPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG9yaWdpbmF0aW9uOiBQb2ludCkgPT4ge1xuICAgIEJPQVJEX1RPX1ZJRVdQT1JUX09SSUdJTkFUSU9OLnNldChib2FyZCwgb3JpZ2luYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyVmlld3BvcnRPcmlnaW5hdGlvbiA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIEJPQVJEX1RPX1ZJRVdQT1JUX09SSUdJTkFUSU9OLmRlbGV0ZShib2FyZCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Vmlld3BvcnRPcmlnaW5hdGlvbiA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IG9yaWdpbmF0aW9uID0gQk9BUkRfVE9fVklFV1BPUlRfT1JJR0lOQVRJT04uZ2V0KGJvYXJkKTtcbiAgICBpZiAob3JpZ2luYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmF0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBib2FyZC52aWV3cG9ydC5vcmlnaW5hdGlvbjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgaXNGcm9tU2Nyb2xsaW5nID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuICEhSVNfRlJPTV9TQ1JPTExJTkcuZ2V0KGJvYXJkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRJc0Zyb21TY3JvbGxpbmcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHN0YXRlOiBib29sZWFuKSA9PiB7XG4gICAgSVNfRlJPTV9TQ1JPTExJTkcuc2V0KGJvYXJkLCBzdGF0ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNGcm9tVmlld3BvcnRDaGFuZ2UgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICByZXR1cm4gISFJU19GUk9NX1ZJRVdQT1JUX0NIQU5HRS5nZXQoYm9hcmQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldElzRnJvbVZpZXdwb3J0Q2hhbmdlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBzdGF0ZTogYm9vbGVhbikgPT4ge1xuICAgIElTX0ZST01fVklFV1BPUlRfQ0hBTkdFLnNldChib2FyZCwgc3RhdGUpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNjcm9sbFRvUmVjdGFuZ2xlKGJvYXJkOiBQbGFpdEJvYXJkLCBjbGllbnQ6IFJlY3RhbmdsZUNsaWVudCkge31cbiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvdXRpbHMvdmlld3BvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztBQUU3RCxNQUFNLHVCQUF1QixHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO0FBRW5FLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFpQjtJQUN0RCxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN4QyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFckYsT0FBTztRQUNILEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxHQUFHLGNBQWM7UUFDMUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLEdBQUcsY0FBYztLQUMvQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFpQixFQUFFLElBQVk7SUFDOUQsTUFBTSxZQUFZLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekUsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUMscUJBQXFC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VEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyB9IGZyb20gJy4vZWxlbWVudCc7XG5pbXBvcnQgeyBCT0FSRF9UT19WSUVXUE9SVF9PUklHSU5BVElPTiB9IGZyb20gJy4vd2Vhay1tYXBzJztcblxuY29uc3QgSVNfRlJPTV9TQ1JPTExJTkcgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBib29sZWFuPigpO1xuXG5jb25zdCBJU19GUk9NX1ZJRVdQT1JUX0NIQU5HRSA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIGJvb2xlYW4+KCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaWV3cG9ydENvbnRhaW5lclJlY3QoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCB7IGhpZGVTY3JvbGxiYXIgfSA9IGJvYXJkLm9wdGlvbnM7XG4gICAgY29uc3Qgc2Nyb2xsQmFyV2lkdGggPSBoaWRlU2Nyb2xsYmFyID8gU0NST0xMX0JBUl9XSURUSCA6IDA7XG4gICAgY29uc3Qgdmlld3BvcnRSZWN0ID0gUGxhaXRCb2FyZC5nZXRCb2FyZE5hdGl2ZUVsZW1lbnQoYm9hcmQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IHZpZXdwb3J0UmVjdC53aWR0aCArIHNjcm9sbEJhcldpZHRoLFxuICAgICAgICBoZWlnaHQ6IHZpZXdwb3J0UmVjdC5oZWlnaHQgKyBzY3JvbGxCYXJXaWR0aFxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50SG9zdEJCb3goYm9hcmQ6IFBsYWl0Qm9hcmQsIHpvb206IG51bWJlcikge1xuICAgIGNvbnN0IGNoaWxkcmVuUmVjdCA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGJvYXJkLmNoaWxkcmVuLCB0cnVlKTtcbiAgICBjb25zdCB2aWV3cG9ydENvbnRhaW5lclJlY3QgPSBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgY29udGFpbmVyV2lkdGggPSB2aWV3cG9ydENvbnRhaW5lclJlY3Qud2lkdGggLyB6b29tO1xuICAgIGNvbnN0IGNvbnRhaW5lckhlaWdodCA9IHZpZXdwb3J0Q29udGFpbmVyUmVjdC5oZWlnaHQgLyB6b29tO1xuICAgIGxldCBsZWZ0OiBudW1iZXI7XG4gICAgbGV0IHJpZ2h0OiBudW1iZXI7XG4gICAgbGV0IHRvcDogbnVtYmVyO1xuICAgIGxldCBib3R0b206IG51bWJlcjtcblxuICAgIGlmIChjaGlsZHJlblJlY3Qud2lkdGggPCBjb250YWluZXJXaWR0aCkge1xuICAgICAgICBjb25zdCBjZW50ZXJYID0gY2hpbGRyZW5SZWN0LnggKyBjaGlsZHJlblJlY3Qud2lkdGggLyAyO1xuICAgICAgICBjb25zdCBoYWxmQ29udGFpbmVyV2lkdGggPSBjb250YWluZXJXaWR0aCAvIDI7XG4gICAgICAgIGxlZnQgPSBjZW50ZXJYIC0gaGFsZkNvbnRhaW5lcldpZHRoO1xuICAgICAgICByaWdodCA9IGNlbnRlclggKyBoYWxmQ29udGFpbmVyV2lkdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbGVmdCA9IGNoaWxkcmVuUmVjdC54O1xuICAgICAgICByaWdodCA9IGNoaWxkcmVuUmVjdC54ICsgY2hpbGRyZW5SZWN0LndpZHRoO1xuICAgIH1cbiAgICBpZiAoY2hpbGRyZW5SZWN0LmhlaWdodCA8IGNvbnRhaW5lckhlaWdodCkge1xuICAgICAgICBjb25zdCBjZW50ZXJZID0gY2hpbGRyZW5SZWN0LnkgKyBjaGlsZHJlblJlY3QuaGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgaGFsZkNvbnRhaW5lckhlaWdodCA9IGNvbnRhaW5lckhlaWdodCAvIDI7XG4gICAgICAgIHRvcCA9IGNlbnRlclkgLSBoYWxmQ29udGFpbmVySGVpZ2h0O1xuICAgICAgICBib3R0b20gPSBjZW50ZXJZICsgaGFsZkNvbnRhaW5lckhlaWdodDtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0b3AgPSBjaGlsZHJlblJlY3QueTtcbiAgICAgICAgYm90dG9tID0gY2hpbGRyZW5SZWN0LnkgKyBjaGlsZHJlblJlY3QuaGVpZ2h0O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBsZWZ0LFxuICAgICAgICByaWdodCxcbiAgICAgICAgdG9wLFxuICAgICAgICBib3R0b21cbiAgICB9O1xufVxuXG4vKipcbiAqIOmqjOivgee8qeaUvuavlOaYr+WQpuespuWQiOmZkOWItu+8jOWmguaenOi2heWHuumZkOWItu+8jOWImei/lOWbnuWQiOmAgueahOe8qeaUvuavlFxuICogQHBhcmFtIHpvb20g57yp5pS+5q+UXG4gKiBAcGFyYW0gbWluWm9vbSDmnIDlsI/nvKnmlL7mr5RcbiAqIEBwYXJhbSBtYXhab29tIOacgOWkp+e8qeaUvuavlFxuICogQHJldHVybnMg5q2j56Gu55qE57yp5pS+5q+UXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGFtcFpvb21MZXZlbCh6b29tOiBudW1iZXIsIG1pblpvb20gPSAwLjIsIG1heFpvb20gPSA0KSB7XG4gICAgcmV0dXJuIHpvb20gPCBtaW5ab29tID8gbWluWm9vbSA6IHpvb20gPiBtYXhab29tID8gbWF4Wm9vbSA6IHpvb207XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaWV3Qm94KGJvYXJkOiBQbGFpdEJvYXJkLCB6b29tOiBudW1iZXIpIHtcbiAgICBjb25zdCBib2FyZENvbnRhaW5lclJlY3RhbmdsZSA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmROYXRpdmVFbGVtZW50KGJvYXJkKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBlbGVtZW50SG9zdEJCb3ggPSBnZXRFbGVtZW50SG9zdEJCb3goYm9hcmQsIHpvb20pO1xuXG4gICAgY29uc3QgaG9yaXpvbnRhbFBhZGRpbmcgPSBib2FyZENvbnRhaW5lclJlY3RhbmdsZS53aWR0aCAvIDI7XG4gICAgY29uc3QgdmVydGljYWxQYWRkaW5nID0gYm9hcmRDb250YWluZXJSZWN0YW5nbGUuaGVpZ2h0IC8gMjtcbiAgICBjb25zdCB2aWV3Qm94ID0gW1xuICAgICAgICBlbGVtZW50SG9zdEJCb3gubGVmdCAtIGhvcml6b250YWxQYWRkaW5nIC8gem9vbSxcbiAgICAgICAgZWxlbWVudEhvc3RCQm94LnRvcCAtIHZlcnRpY2FsUGFkZGluZyAvIHpvb20sXG4gICAgICAgIGVsZW1lbnRIb3N0QkJveC5yaWdodCAtIGVsZW1lbnRIb3N0QkJveC5sZWZ0ICsgKGhvcml6b250YWxQYWRkaW5nICogMikgLyB6b29tLFxuICAgICAgICBlbGVtZW50SG9zdEJCb3guYm90dG9tIC0gZWxlbWVudEhvc3RCQm94LnRvcCArICh2ZXJ0aWNhbFBhZGRpbmcgKiAyKSAvIHpvb21cbiAgICBdO1xuICAgIHJldHVybiB2aWV3Qm94O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0U1ZHVmlld0JveChib2FyZDogUGxhaXRCb2FyZCwgdmlld0JveDogbnVtYmVyW10pIHtcbiAgICBjb25zdCB6b29tID0gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICBjb25zdCBob3N0RWxlbWVudCA9IFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCk7XG4gICAgaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gICAgaG9zdEVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHt2aWV3Qm94WzJdICogem9vbX1weGA7XG4gICAgaG9zdEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7dmlld0JveFszXSAqIHpvb219cHhgO1xuXG4gICAgaWYgKHZpZXdCb3ggJiYgdmlld0JveFsyXSA+IDAgJiYgdmlld0JveFszXSA+IDApIHtcbiAgICAgICAgaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd2aWV3Qm94Jywgdmlld0JveC5qb2luKCcgJykpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVZpZXdwb3J0T2Zmc2V0KGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgY29uc3Qgb3JpZ2luYXRpb24gPSBnZXRWaWV3cG9ydE9yaWdpbmF0aW9uKGJvYXJkKTtcbiAgICBpZiAoIW9yaWdpbmF0aW9uKSByZXR1cm47XG5cbiAgICBjb25zdCB7IHpvb20gfSA9IGJvYXJkLnZpZXdwb3J0O1xuICAgIGNvbnN0IHZpZXdCb3ggPSBnZXRWaWV3Qm94KGJvYXJkLCB6b29tKTtcbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gKG9yaWdpbmF0aW9uIVswXSAtIHZpZXdCb3hbMF0pICogem9vbTtcbiAgICBjb25zdCBzY3JvbGxUb3AgPSAob3JpZ2luYXRpb24hWzFdIC0gdmlld0JveFsxXSkgKiB6b29tO1xuICAgIHVwZGF0ZVZpZXdwb3J0Q29udGFpbmVyU2Nyb2xsKGJvYXJkLCBzY3JvbGxMZWZ0LCBzY3JvbGxUb3ApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlVmlld3BvcnRDb250YWluZXJTY3JvbGwoYm9hcmQ6IFBsYWl0Qm9hcmQsIGxlZnQ6IG51bWJlciwgdG9wOiBudW1iZXIsIGlzRnJvbVZpZXdwb3J0Q2hhbmdlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZpZXdwb3J0Q29udGFpbmVyID0gUGxhaXRCb2FyZC5nZXRWaWV3cG9ydENvbnRhaW5lcihib2FyZCk7XG4gICAgaWYgKHZpZXdwb3J0Q29udGFpbmVyLnNjcm9sbExlZnQgIT09IGxlZnQgfHwgdmlld3BvcnRDb250YWluZXIuc2Nyb2xsVG9wICE9PSB0b3ApIHtcbiAgICAgICAgdmlld3BvcnRDb250YWluZXIuc2Nyb2xsTGVmdCA9IGxlZnQ7XG4gICAgICAgIHZpZXdwb3J0Q29udGFpbmVyLnNjcm9sbFRvcCA9IHRvcDtcbiAgICAgICAgaXNGcm9tVmlld3BvcnRDaGFuZ2UgJiYgc2V0SXNGcm9tVmlld3BvcnRDaGFuZ2UoYm9hcmQsIHRydWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVWaWV3cG9ydENvbnRhaW5lcihib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZ2V0Vmlld3BvcnRDb250YWluZXJSZWN0KGJvYXJkKTtcbiAgICBjb25zdCB2aWV3cG9ydENvbnRhaW5lciA9IFBsYWl0Qm9hcmQuZ2V0Vmlld3BvcnRDb250YWluZXIoYm9hcmQpO1xuICAgIHZpZXdwb3J0Q29udGFpbmVyLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xuICAgIHZpZXdwb3J0Q29udGFpbmVyLnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplVmlld0JveChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIGNvbnN0IHpvb20gPSBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIGNvbnN0IHZpZXdCb3ggPSBnZXRWaWV3Qm94KGJvYXJkLCB6b29tKTtcbiAgICBzZXRTVkdWaWV3Qm94KGJvYXJkLCB2aWV3Qm94KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVWaWV3cG9ydE9mZnNldChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIGlmICghYm9hcmQudmlld3BvcnQ/Lm9yaWdpbmF0aW9uKSB7XG4gICAgICAgIGNvbnN0IHpvb20gPSBib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICBjb25zdCB2aWV3cG9ydENvbnRhaW5lclJlY3QgPSBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHZpZXdCb3ggPSBnZXRWaWV3Qm94KGJvYXJkLCB6b29tKTtcbiAgICAgICAgY29uc3QgY2VudGVyWCA9IHZpZXdCb3hbMF0gKyB2aWV3Qm94WzJdIC8gMjtcbiAgICAgICAgY29uc3QgY2VudGVyWSA9IHZpZXdCb3hbMV0gKyB2aWV3Qm94WzNdIC8gMjtcbiAgICAgICAgY29uc3Qgb3JpZ2luYXRpb24gPSBbY2VudGVyWCAtIHZpZXdwb3J0Q29udGFpbmVyUmVjdC53aWR0aCAvIDIgLyB6b29tLCBjZW50ZXJZIC0gdmlld3BvcnRDb250YWluZXJSZWN0LmhlaWdodCAvIDIgLyB6b29tXSBhcyBQb2ludDtcbiAgICAgICAgdXBkYXRlVmlld3BvcnRPcmlnaW5hdGlvbihib2FyZCwgb3JpZ2luYXRpb24pO1xuICAgICAgICB1cGRhdGVWaWV3cG9ydE9mZnNldChib2FyZCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdXBkYXRlVmlld3BvcnRPZmZzZXQoYm9hcmQpO1xufVxuXG5leHBvcnQgY29uc3QgdXBkYXRlVmlld3BvcnRPcmlnaW5hdGlvbiA9IChib2FyZDogUGxhaXRCb2FyZCwgb3JpZ2luYXRpb246IFBvaW50KSA9PiB7XG4gICAgQk9BUkRfVE9fVklFV1BPUlRfT1JJR0lOQVRJT04uc2V0KGJvYXJkLCBvcmlnaW5hdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJWaWV3cG9ydE9yaWdpbmF0aW9uID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgQk9BUkRfVE9fVklFV1BPUlRfT1JJR0lOQVRJT04uZGVsZXRlKGJvYXJkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRWaWV3cG9ydE9yaWdpbmF0aW9uID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYXRpb24gPSBCT0FSRF9UT19WSUVXUE9SVF9PUklHSU5BVElPTi5nZXQoYm9hcmQpO1xuICAgIGlmIChvcmlnaW5hdGlvbikge1xuICAgICAgICByZXR1cm4gb3JpZ2luYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGJvYXJkLnZpZXdwb3J0Lm9yaWdpbmF0aW9uO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpc0Zyb21TY3JvbGxpbmcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICByZXR1cm4gISFJU19GUk9NX1NDUk9MTElORy5nZXQoYm9hcmQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldElzRnJvbVNjcm9sbGluZyA9IChib2FyZDogUGxhaXRCb2FyZCwgc3RhdGU6IGJvb2xlYW4pID0+IHtcbiAgICBJU19GUk9NX1NDUk9MTElORy5zZXQoYm9hcmQsIHN0YXRlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0Zyb21WaWV3cG9ydENoYW5nZSA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIHJldHVybiAhIUlTX0ZST01fVklFV1BPUlRfQ0hBTkdFLmdldChib2FyZCk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0SXNGcm9tVmlld3BvcnRDaGFuZ2UgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHN0YXRlOiBib29sZWFuKSA9PiB7XG4gICAgSVNfRlJPTV9WSUVXUE9SVF9DSEFOR0Uuc2V0KGJvYXJkLCBzdGF0ZSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc2Nyb2xsVG9SZWN0YW5nbGUoYm9hcmQ6IFBsYWl0Qm9hcmQsIGNsaWVudDogUmVjdGFuZ2xlQ2xpZW50KSB7fVxuIl19
|
package/fesm2015/plait-core.mjs
CHANGED
|
@@ -1495,17 +1495,15 @@ function clampZoomLevel(zoom, minZoom = 0.2, maxZoom = 4) {
|
|
|
1495
1495
|
return zoom < minZoom ? minZoom : zoom > maxZoom ? maxZoom : zoom;
|
|
1496
1496
|
}
|
|
1497
1497
|
function getViewBox(board, zoom) {
|
|
1498
|
-
const
|
|
1499
|
-
const scrollBarWidth = hideScrollbar ? 0 : SCROLL_BAR_WIDTH;
|
|
1500
|
-
const viewportContainerRect = PlaitBoard.getBoardNativeElement(board).getBoundingClientRect();
|
|
1498
|
+
const boardContainerRectangle = PlaitBoard.getBoardNativeElement(board).getBoundingClientRect();
|
|
1501
1499
|
const elementHostBBox = getElementHostBBox(board, zoom);
|
|
1502
|
-
const horizontalPadding =
|
|
1503
|
-
const verticalPadding =
|
|
1500
|
+
const horizontalPadding = boardContainerRectangle.width / 2;
|
|
1501
|
+
const verticalPadding = boardContainerRectangle.height / 2;
|
|
1504
1502
|
const viewBox = [
|
|
1505
1503
|
elementHostBBox.left - horizontalPadding / zoom,
|
|
1506
1504
|
elementHostBBox.top - verticalPadding / zoom,
|
|
1507
|
-
elementHostBBox.right - elementHostBBox.left + (horizontalPadding * 2
|
|
1508
|
-
elementHostBBox.bottom - elementHostBBox.top + (verticalPadding * 2
|
|
1505
|
+
elementHostBBox.right - elementHostBBox.left + (horizontalPadding * 2) / zoom,
|
|
1506
|
+
elementHostBBox.bottom - elementHostBBox.top + (verticalPadding * 2) / zoom
|
|
1509
1507
|
];
|
|
1510
1508
|
return viewBox;
|
|
1511
1509
|
}
|
|
@@ -1616,8 +1614,8 @@ function updateZoom(board, newZoom, isCenter = true) {
|
|
|
1616
1614
|
const mousePoint = PlaitBoard.getMovingPoint(board);
|
|
1617
1615
|
const nativeElement = PlaitBoard.getBoardNativeElement(board);
|
|
1618
1616
|
const nativeElementRect = nativeElement.getBoundingClientRect();
|
|
1619
|
-
const
|
|
1620
|
-
let focusPoint = [
|
|
1617
|
+
const boardContainerRect = PlaitBoard.getBoardNativeElement(board).getBoundingClientRect();
|
|
1618
|
+
let focusPoint = [boardContainerRect.width / 2, boardContainerRect.height / 2];
|
|
1621
1619
|
if (!isCenter && mousePoint && distanceBetweenPointAndRectangle(mousePoint[0], mousePoint[1], nativeElementRect) === 0) {
|
|
1622
1620
|
focusPoint = toPoint(mousePoint[0], mousePoint[1], nativeElement);
|
|
1623
1621
|
}
|
|
@@ -1629,13 +1627,18 @@ function updateZoom(board, newZoom, isCenter = true) {
|
|
|
1629
1627
|
updateViewport(board, newOrigination, newZoom);
|
|
1630
1628
|
}
|
|
1631
1629
|
function fitViewport(board) {
|
|
1632
|
-
const
|
|
1633
|
-
|
|
1630
|
+
const { hideScrollbar } = board.options;
|
|
1631
|
+
let scrollBarWidth = 0;
|
|
1632
|
+
if (!hideScrollbar) {
|
|
1633
|
+
const viewportContainer = PlaitBoard.getViewportContainer(board);
|
|
1634
|
+
scrollBarWidth = viewportContainer.offsetWidth - viewportContainer.clientWidth;
|
|
1635
|
+
}
|
|
1636
|
+
const boardContainerRect = PlaitBoard.getBoardNativeElement(board).getBoundingClientRect();
|
|
1634
1637
|
const elementHostBox = getRectangleByElements(board, board.children, true);
|
|
1635
1638
|
const zoom = board.viewport.zoom;
|
|
1636
1639
|
const autoFitPadding = 16;
|
|
1637
|
-
const viewportWidth =
|
|
1638
|
-
const viewportHeight =
|
|
1640
|
+
const viewportWidth = boardContainerRect.width - 2 * autoFitPadding;
|
|
1641
|
+
const viewportHeight = boardContainerRect.height - 2 * autoFitPadding;
|
|
1639
1642
|
let newZoom = zoom;
|
|
1640
1643
|
if (viewportWidth < elementHostBox.width || viewportHeight < elementHostBox.height) {
|
|
1641
1644
|
newZoom = Math.min(viewportWidth / elementHostBox.width, viewportHeight / elementHostBox.height);
|
|
@@ -1647,8 +1650,8 @@ function fitViewport(board) {
|
|
|
1647
1650
|
const centerX = viewBox[0] + viewBox[2] / 2;
|
|
1648
1651
|
const centerY = viewBox[1] + viewBox[3] / 2;
|
|
1649
1652
|
const newOrigination = [
|
|
1650
|
-
centerX -
|
|
1651
|
-
centerY -
|
|
1653
|
+
centerX - boardContainerRect.width / 2 / newZoom + scrollBarWidth / 2 / zoom,
|
|
1654
|
+
centerY - boardContainerRect.height / 2 / newZoom + scrollBarWidth / 2 / zoom
|
|
1652
1655
|
];
|
|
1653
1656
|
updateViewport(board, newOrigination, newZoom);
|
|
1654
1657
|
}
|
|
@@ -2150,19 +2153,22 @@ function withMoving(board) {
|
|
|
2150
2153
|
const endPoint = transformPoint(board, toPoint(event.x, event.y, host));
|
|
2151
2154
|
offsetX = endPoint[0] - startPoint[0];
|
|
2152
2155
|
offsetY = endPoint[1] - startPoint[1];
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
const
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2156
|
+
const offsetBuffer = 5;
|
|
2157
|
+
if (Math.abs(offsetX) > offsetBuffer || Math.abs(offsetY) > offsetBuffer) {
|
|
2158
|
+
throttleRAF(() => {
|
|
2159
|
+
const currentElements = activeElements.map(activeElement => {
|
|
2160
|
+
const [x, y] = activeElement === null || activeElement === void 0 ? void 0 : activeElement.points[0];
|
|
2161
|
+
const index = board.children.findIndex(item => item.id === activeElement.id);
|
|
2162
|
+
Transforms.setNode(board, {
|
|
2163
|
+
points: [[x + offsetX, y + offsetY]]
|
|
2164
|
+
}, [index]);
|
|
2165
|
+
MERGING.set(board, true);
|
|
2166
|
+
return PlaitNode.get(board, [index]);
|
|
2167
|
+
});
|
|
2168
|
+
PlaitBoard.getBoardNativeElement(board).classList.add('element-moving');
|
|
2169
|
+
addMovingElements(board, currentElements);
|
|
2162
2170
|
});
|
|
2163
|
-
|
|
2164
|
-
addMovingElements(board, currentElements);
|
|
2165
|
-
});
|
|
2171
|
+
}
|
|
2166
2172
|
}
|
|
2167
2173
|
if (isPreventDefault) {
|
|
2168
2174
|
// 阻止 move 过程中触发画布滚动行为
|