@plait/core 0.0.47 → 0.0.49
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/board/board.component.d.ts +3 -2
- package/esm2020/board/board.component.mjs +12 -14
- package/esm2020/core/toolbar/toolbar.component.mjs +2 -2
- package/esm2020/plugins/create-board.mjs +2 -2
- package/esm2020/plugins/with-move.mjs +4 -1
- package/esm2020/plugins/with-selection.mjs +3 -3
- package/esm2020/public-api.mjs +6 -6
- package/esm2020/{transfroms → transforms}/general.mjs +1 -1
- package/esm2020/{transfroms → transforms}/index.mjs +1 -1
- package/esm2020/{transfroms → transforms}/node.mjs +1 -1
- package/esm2020/{transfroms → transforms}/selection.mjs +1 -1
- package/esm2020/{transfroms → transforms}/viewport.mjs +1 -1
- package/esm2020/utils/board.mjs +1 -13
- package/fesm2015/plait-core.mjs +15 -26
- package/fesm2015/plait-core.mjs.map +1 -1
- package/fesm2020/plait-core.mjs +15 -26
- package/fesm2020/plait-core.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +5 -5
- package/{transfroms → transforms}/general.d.ts +0 -0
- package/{transfroms → transforms}/index.d.ts +0 -0
- package/{transfroms → transforms}/node.d.ts +0 -0
- package/{transfroms → transforms}/selection.d.ts +0 -0
- package/{transfroms → transforms}/viewport.d.ts +0 -0
- package/utils/board.d.ts +8 -20
package/fesm2020/plait-core.mjs
CHANGED
|
@@ -804,18 +804,6 @@ function calculateZoom(zoom, minZoom = 0.2, maxZoom = 4) {
|
|
|
804
804
|
function isNoSelectionElement(e) {
|
|
805
805
|
return e.target?.closest('.plait-board-attached');
|
|
806
806
|
}
|
|
807
|
-
/**
|
|
808
|
-
* viewZoom 转 zoom
|
|
809
|
-
* @param viewZoom 视图上显示的 zoom 缩放级别 %
|
|
810
|
-
* @returns zoom 真实的 zoom
|
|
811
|
-
*/
|
|
812
|
-
const transformViewZoom = (viewZoom) => 2 - 100 / viewZoom;
|
|
813
|
-
/**
|
|
814
|
-
* zoom 转 viewZoom
|
|
815
|
-
* @param zoom this.board.viewport.zoom
|
|
816
|
-
* @returns 视图上显示的 zoom 缩放级别 %
|
|
817
|
-
*/
|
|
818
|
-
const transformZoom = (zoom) => Number((100 / (2 - zoom)).toFixed(0));
|
|
819
807
|
const updateCursorStatus = (board, cursor) => {
|
|
820
808
|
if (cursor) {
|
|
821
809
|
board.cursor = cursor;
|
|
@@ -993,6 +981,9 @@ function withMove(board) {
|
|
|
993
981
|
board.mousemove = (event) => {
|
|
994
982
|
const boardComponent = PLAIT_BOARD_TO_COMPONENT.get(board);
|
|
995
983
|
if (board.cursor === BaseCursorStatus.move && board.selection && boardComponent.isMoving) {
|
|
984
|
+
const left = event.x - plaitBoardMove.x;
|
|
985
|
+
const top = event.y - plaitBoardMove.y;
|
|
986
|
+
boardComponent.setScroll(boardComponent.scrollLeft - left, boardComponent.scrollTop - top);
|
|
996
987
|
plaitBoardMove.x = event.x;
|
|
997
988
|
plaitBoardMove.y = event.y;
|
|
998
989
|
}
|
|
@@ -1137,7 +1128,7 @@ class PlaitToolbarComponent {
|
|
|
1137
1128
|
this.resetZoomHandel = new EventEmitter();
|
|
1138
1129
|
}
|
|
1139
1130
|
set viewZoom(zoom) {
|
|
1140
|
-
this._viewZoom =
|
|
1131
|
+
this._viewZoom = Number(((zoom ?? 1) * 100).toFixed(0));
|
|
1141
1132
|
}
|
|
1142
1133
|
get viewZoom() {
|
|
1143
1134
|
return this._viewZoom;
|
|
@@ -1354,7 +1345,7 @@ class PlaitBoardComponent {
|
|
|
1354
1345
|
.subscribe((event) => {
|
|
1355
1346
|
const scrollLeft = event.target.scrollLeft;
|
|
1356
1347
|
const scrollTop = event.target.scrollTop;
|
|
1357
|
-
this.
|
|
1348
|
+
this.setScroll(scrollLeft, scrollTop);
|
|
1358
1349
|
});
|
|
1359
1350
|
window.onresize = () => {
|
|
1360
1351
|
this.updateViewport();
|
|
@@ -1377,13 +1368,8 @@ class PlaitBoardComponent {
|
|
|
1377
1368
|
this.renderer2.setStyle(this.contentContainer.nativeElement, 'maxHeight', height);
|
|
1378
1369
|
}
|
|
1379
1370
|
setScroll(left, top) {
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
top,
|
|
1383
|
-
left
|
|
1384
|
-
});
|
|
1385
|
-
}
|
|
1386
|
-
getScrollOffset(left, top) {
|
|
1371
|
+
this.scrollLeft = left;
|
|
1372
|
+
this.scrollTop = top;
|
|
1387
1373
|
const viewportBox = getViewportClientBox(this.board);
|
|
1388
1374
|
const viewBox = getViewBox(this.board);
|
|
1389
1375
|
const scrollLeftRatio = left / (viewBox.viewportWidth - viewportBox.width);
|
|
@@ -1400,16 +1386,19 @@ class PlaitBoardComponent {
|
|
|
1400
1386
|
const viewportBox = getViewportClientBox(this.board);
|
|
1401
1387
|
const { minX, minY, width, height, viewportWidth, viewportHeight } = viewBox;
|
|
1402
1388
|
const box = [minX, minY, width, height];
|
|
1403
|
-
|
|
1404
|
-
|
|
1389
|
+
this.scrollLeft = (viewportWidth - viewportBox.width) * offsetXRatio;
|
|
1390
|
+
this.scrollTop = (viewportHeight - viewportBox.height) * offsetYRatio;
|
|
1405
1391
|
this.renderer2.setStyle(this.host, 'display', 'block');
|
|
1406
1392
|
this.renderer2.setStyle(this.host, 'width', `${viewportWidth}px`);
|
|
1407
1393
|
this.renderer2.setStyle(this.host, 'height', `${viewportHeight}px`);
|
|
1408
|
-
this.renderer2.setStyle(this.host, 'cursor', this.isMoveMode ? 'grab' : 'default');
|
|
1409
1394
|
if (width > 0 && height > 0) {
|
|
1410
1395
|
this.renderer2.setAttribute(this.host, 'viewBox', box.join());
|
|
1411
1396
|
}
|
|
1412
|
-
this.
|
|
1397
|
+
const container = this.contentContainer.nativeElement;
|
|
1398
|
+
container.scrollTo({
|
|
1399
|
+
top: this.scrollTop,
|
|
1400
|
+
left: this.scrollLeft
|
|
1401
|
+
});
|
|
1413
1402
|
}
|
|
1414
1403
|
updateViewport() {
|
|
1415
1404
|
this.resizeViewport();
|
|
@@ -1590,5 +1579,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1590
1579
|
* Generated bundle index. Do not edit.
|
|
1591
1580
|
*/
|
|
1592
1581
|
|
|
1593
|
-
export { BOARD_TO_ON_CHANGE, BaseCursorStatus, CLIP_BOARD_FORMAT_KEY, FLUSHING, HOST_TO_ROUGH_SVG, IS_APPLE, IS_CHROME, IS_CHROME_LEGACY, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_SAFARI, IS_TEXT_EDITABLE, MERGING, NS, PLAIT_BOARD_TO_COMPONENT, Path, PlaitBoardComponent, PlaitElementComponent, PlaitHistoryBoard, PlaitModule, PlaitNode, PlaitOperation, PlaitToolbarComponent, SAVING, SCROLL_BAR_WIDTH, Transforms, Viewport, calculateBBox, calculateZoom, createG, createSVG, createText, distanceBetweenPointAndPoint, distanceBetweenPointAndSegment, getViewBox, getViewportClientBox, hotkeys, idCreator, inverse, isNoSelectionElement, isNullOrUndefined, isSetViewportOperation, rotate, shouldClear, shouldMerge, shouldSave, toPoint, toRectangleClient, transformPoint, transformPoints,
|
|
1582
|
+
export { BOARD_TO_ON_CHANGE, BaseCursorStatus, CLIP_BOARD_FORMAT_KEY, FLUSHING, HOST_TO_ROUGH_SVG, IS_APPLE, IS_CHROME, IS_CHROME_LEGACY, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_SAFARI, IS_TEXT_EDITABLE, MERGING, NS, PLAIT_BOARD_TO_COMPONENT, Path, PlaitBoardComponent, PlaitElementComponent, PlaitHistoryBoard, PlaitModule, PlaitNode, PlaitOperation, PlaitToolbarComponent, SAVING, SCROLL_BAR_WIDTH, Transforms, Viewport, calculateBBox, calculateZoom, createG, createSVG, createText, distanceBetweenPointAndPoint, distanceBetweenPointAndSegment, getViewBox, getViewportClientBox, hotkeys, idCreator, inverse, isNoSelectionElement, isNullOrUndefined, isSetViewportOperation, rotate, shouldClear, shouldMerge, shouldSave, toPoint, toRectangleClient, transformPoint, transformPoints, updateCursorStatus };
|
|
1594
1583
|
//# sourceMappingURL=plait-core.mjs.map
|