@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.
@@ -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 = Math.floor(zoom * 100);
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.getScrollOffset(scrollLeft, scrollTop);
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
- const container = this.contentContainer.nativeElement;
1381
- container.scrollTo({
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
- const scrollLeft = (viewportWidth - viewportBox.width) * offsetXRatio;
1404
- const scrollTop = (viewportHeight - viewportBox.height) * offsetYRatio;
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.setScroll(scrollLeft, scrollTop);
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, transformViewZoom, transformZoom, updateCursorStatus };
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