@idraw/core 0.4.0-beta.43 → 0.4.0-beta.45

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.
@@ -189,25 +189,33 @@ export class Board {
189
189
  return __classPrivateFieldGet(this, _Board_eventHub, "f");
190
190
  }
191
191
  onWatcherEvents() {
192
+ if (__classPrivateFieldGet(this, _Board_opts, "f").disableWatcher === true) {
193
+ return;
194
+ }
192
195
  __classPrivateFieldGet(this, _Board_watcher, "f").onEvents();
193
196
  }
194
197
  offWatcherEvents() {
198
+ if (__classPrivateFieldGet(this, _Board_opts, "f").disableWatcher === true) {
199
+ return;
200
+ }
195
201
  __classPrivateFieldGet(this, _Board_watcher, "f").offEvents();
196
202
  }
197
203
  }
198
204
  _Board_opts = new WeakMap(), _Board_middlewareMap = new WeakMap(), _Board_activeMiddlewareObjs = new WeakMap(), _Board_watcher = new WeakMap(), _Board_renderer = new WeakMap(), _Board_sharer = new WeakMap(), _Board_viewer = new WeakMap(), _Board_calculator = new WeakMap(), _Board_eventHub = new WeakMap(), _Board_hasDestroyed = new WeakMap(), _Board_instances = new WeakSet(), _Board_init = function _Board_init() {
199
- __classPrivateFieldGet(this, _Board_watcher, "f").on('pointStart', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handlePointStart).bind(this));
200
- __classPrivateFieldGet(this, _Board_watcher, "f").on('pointEnd', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handlePointEnd).bind(this));
201
- __classPrivateFieldGet(this, _Board_watcher, "f").on('pointMove', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handlePointMove).bind(this));
202
- __classPrivateFieldGet(this, _Board_watcher, "f").on('pointLeave', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handlePointLeave).bind(this));
203
- __classPrivateFieldGet(this, _Board_watcher, "f").on('hover', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleHover).bind(this));
204
- __classPrivateFieldGet(this, _Board_watcher, "f").on('wheel', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleWheel).bind(this));
205
- __classPrivateFieldGet(this, _Board_watcher, "f").on('wheelScale', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleWheelScale).bind(this));
206
- __classPrivateFieldGet(this, _Board_watcher, "f").on('scrollX', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleScrollX).bind(this));
207
- __classPrivateFieldGet(this, _Board_watcher, "f").on('scrollY', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleScrollY).bind(this));
208
- __classPrivateFieldGet(this, _Board_watcher, "f").on('resize', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleResize).bind(this));
209
- __classPrivateFieldGet(this, _Board_watcher, "f").on('doubleClick', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleDoubleClick).bind(this));
210
- __classPrivateFieldGet(this, _Board_watcher, "f").on('contextMenu', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleContextMenu).bind(this));
205
+ if (__classPrivateFieldGet(this, _Board_opts, "f").disableWatcher !== true) {
206
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('pointStart', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handlePointStart).bind(this));
207
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('pointEnd', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handlePointEnd).bind(this));
208
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('pointMove', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handlePointMove).bind(this));
209
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('pointLeave', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handlePointLeave).bind(this));
210
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('hover', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleHover).bind(this));
211
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('wheel', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleWheel).bind(this));
212
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('wheelScale', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleWheelScale).bind(this));
213
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('scrollX', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleScrollX).bind(this));
214
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('scrollY', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleScrollY).bind(this));
215
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('resize', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleResize).bind(this));
216
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('doubleClick', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleDoubleClick).bind(this));
217
+ __classPrivateFieldGet(this, _Board_watcher, "f").on('contextMenu', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleContextMenu).bind(this));
218
+ }
211
219
  __classPrivateFieldGet(this, _Board_renderer, "f").on('load', () => {
212
220
  __classPrivateFieldGet(this, _Board_eventHub, "f").trigger('loadResource');
213
221
  });
@@ -157,7 +157,7 @@ _Viewer_opts = new WeakMap(), _Viewer_drawFrameSnapshotQueue = new WeakMap(), _V
157
157
  __classPrivateFieldSet(this, _Viewer_drawFrameStatus, 'COMPLETE', "f");
158
158
  return;
159
159
  }
160
- if ((__classPrivateFieldSet(this, _Viewer_drawFrameStatus, 'DRAWING', "f"))) {
160
+ if (__classPrivateFieldGet(this, _Viewer_drawFrameStatus, "f") === 'DRAWING') {
161
161
  requestAnimationFrame(() => {
162
162
  __classPrivateFieldGet(this, _Viewer_instances, "m", _Viewer_drawAnimationFrame).call(this);
163
163
  });
@@ -36,6 +36,7 @@ export declare class Core<E extends CoreEventMap = CoreEventMap> {
36
36
  viewScaleInfo: ViewScaleInfo;
37
37
  };
38
38
  refresh(): void;
39
+ forceRender(): void;
39
40
  setViewScale(opts: {
40
41
  scale: number;
41
42
  offsetX: number;
package/dist/esm/index.js CHANGED
@@ -43,7 +43,7 @@ export class Core {
43
43
  _Core_board.set(this, void 0);
44
44
  _Core_canvas.set(this, void 0);
45
45
  _Core_container.set(this, void 0);
46
- const { devicePixelRatio = 1, width, height } = opts;
46
+ const { devicePixelRatio = 1, width, height, disableWatcher = false } = opts;
47
47
  __classPrivateFieldSet(this, _Core_container, container, "f");
48
48
  const canvas = document.createElement('canvas');
49
49
  canvas.setAttribute('tabindex', '0');
@@ -51,7 +51,7 @@ export class Core {
51
51
  __classPrivateFieldGet(this, _Core_instances, "m", _Core_initContainer).call(this);
52
52
  container.appendChild(canvas);
53
53
  const boardContent = createBoardContent(canvas, { width, height, devicePixelRatio });
54
- const board = new Board({ boardContent, container });
54
+ const board = new Board({ boardContent, container, disableWatcher });
55
55
  const sharer = board.getSharer();
56
56
  sharer.setActiveViewSizeInfo({
57
57
  width,
@@ -130,6 +130,21 @@ export class Core {
130
130
  refresh() {
131
131
  __classPrivateFieldGet(this, _Core_board, "f").getViewer().drawFrame();
132
132
  }
133
+ forceRender() {
134
+ const renderer = __classPrivateFieldGet(this, _Core_board, "f").getRenderer();
135
+ const calculator = renderer.getCalculator();
136
+ const loader = renderer.getLoader();
137
+ const data = this.getData();
138
+ if (data) {
139
+ const { viewScaleInfo, viewSizeInfo } = this.getViewInfo();
140
+ calculator.resetVirtualFlatItemMap(data, {
141
+ viewScaleInfo,
142
+ viewSizeInfo
143
+ });
144
+ }
145
+ loader.reset();
146
+ this.refresh();
147
+ }
133
148
  setViewScale(opts) {
134
149
  __classPrivateFieldGet(this, _Core_board, "f").updateViewScaleInfo(opts);
135
150
  }
@@ -1,4 +1,4 @@
1
- import { is, calcElementsViewInfo, calcElementVertexesInGroup, calcElementQueueVertexesQueueInGroup, calcElementSizeController, calcElementCenterFromVertexes, rotatePointInGroup, getGroupQueueFromList, findElementsFromList, findElementsFromListByPositions, getElementPositionFromList, getElementPositionMapFromList, deepResizeGroupElement, getElementSize, calcPointMoveElementInGroup, isSameElementSize, toFlattenElement } from '@idraw/util';
1
+ import { is, calcElementsViewInfo, calcElementVertexesInGroup, calcElementQueueVertexesQueueInGroup, calcElementSizeController, calcElementCenterFromVertexes, rotatePointInGroup, getGroupQueueFromList, findElementsFromList, findElementsFromListByPositions, getElementPositionFromList, getElementPositionMapFromList, resizeEffectGroupElement, getElementSize, calcPointMoveElementInGroup, isSameElementSize, toFlattenElement } from '@idraw/util';
2
2
  import { drawHoverVertexesWrapper, drawLockedVertexesWrapper, drawArea, drawListArea, drawGroupQueueVertexesWrappers, drawSelectedElementControllersVertexes } from './draw-wrapper';
3
3
  import { drawReferenceLines } from './draw-reference';
4
4
  import { getPointTarget, resizeElement, rotateElement, getSelectedListArea, calcSelectedElementsArea, isElementInGroup, isPointInViewActiveGroup } from './util';
@@ -282,6 +282,11 @@ export const MiddlewareSelector = (opts, config) => {
282
282
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
283
283
  prevPoint = e.point;
284
284
  moveOriginalStartPoint = e.point;
285
+ sharer.setSharedStorage(keyActionType, null);
286
+ sharer.setSharedStorage(keyResizeType, null);
287
+ sharer.setSharedStorage(keyAreaStart, null);
288
+ sharer.setSharedStorage(keyAreaEnd, null);
289
+ sharer.setSharedStorage(keyHoverElement, null);
285
290
  const groupQueue = sharer.getSharedStorage(keyGroupQueue);
286
291
  if ((groupQueue === null || groupQueue === void 0 ? void 0 : groupQueue.length) > 0) {
287
292
  if (isPointInViewActiveGroup(e.point, {
@@ -498,17 +503,25 @@ export const MiddlewareSelector = (opts, config) => {
498
503
  else {
499
504
  const resizedElemSize = resizeElement(Object.assign(Object.assign({}, moveOriginalStartElementSize), { operations: elems[0].operations }), { scale, start: resizeStart, end: resizeEnd, resizeType, sharer });
500
505
  const calcOpts = { ignore: !!moveOriginalStartElementSize.angle };
501
- elems[0].x = calculator.toGridNum(resizedElemSize.x, calcOpts);
502
- elems[0].y = calculator.toGridNum(resizedElemSize.y, calcOpts);
503
- if (elems[0].type === 'group' && ((_c = elems[0].operations) === null || _c === void 0 ? void 0 : _c.deepResize) === true) {
504
- deepResizeGroupElement(elems[0], {
505
- w: calculator.toGridNum(resizedElemSize.w, calcOpts),
506
- h: calculator.toGridNum(resizedElemSize.h, calcOpts)
507
- });
506
+ const gridX = calculator.toGridNum(resizedElemSize.x, calcOpts);
507
+ const gridY = calculator.toGridNum(resizedElemSize.y, calcOpts);
508
+ const gridW = calculator.toGridNum(resizedElemSize.w, calcOpts);
509
+ const gridH = calculator.toGridNum(resizedElemSize.h, calcOpts);
510
+ if (elems[0].type === 'group') {
511
+ resizeEffectGroupElement(elems[0], {
512
+ x: gridX,
513
+ y: gridY,
514
+ w: gridW,
515
+ h: gridH
516
+ }, { resizeEffect: (_c = elems[0].operations) === null || _c === void 0 ? void 0 : _c.resizeEffect });
517
+ elems[0].x = gridX;
518
+ elems[0].y = gridY;
508
519
  }
509
520
  else {
510
- elems[0].w = calculator.toGridNum(resizedElemSize.w, calcOpts);
511
- elems[0].h = calculator.toGridNum(resizedElemSize.h, calcOpts);
521
+ elems[0].x = gridX;
522
+ elems[0].y = gridY;
523
+ elems[0].w = gridW;
524
+ elems[0].h = gridH;
512
525
  }
513
526
  }
514
527
  updateSelectedElementList([elems[0]]);
@@ -61,6 +61,7 @@ export function getPointTarget(p, opts) {
61
61
  if (selectedElements && (selectedElements === null || selectedElements === void 0 ? void 0 : selectedElements.length) > 0) {
62
62
  target.groupQueue = groupQueue || [];
63
63
  target.elements = [selectedElements[0]];
64
+ return target;
64
65
  }
65
66
  break;
66
67
  }