@tmagic/stage 1.3.9 → 1.3.11

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.
@@ -2,7 +2,7 @@ import EventEmitter, { EventEmitter as EventEmitter$1 } from 'events';
2
2
  import KeyController from 'keycon';
3
3
  import { merge, throttle } from 'lodash-es';
4
4
  import { Env } from '@tmagic/core';
5
- import { removeClassName, addClassName, removeClassNameByClassName, getDocument, createDiv, injectStyle, isSameDomain, getHost } from '@tmagic/utils';
5
+ import { removeClassName, guid, addClassName, removeClassNameByClassName, getDocument, createDiv, injectStyle, isSameDomain, getHost } from '@tmagic/utils';
6
6
  import MoveableHelper from 'moveable-helper';
7
7
  import Moveable from 'moveable';
8
8
  import Guides from '@scena/guides';
@@ -252,7 +252,7 @@ const getBorderWidth = (el) => {
252
252
  class TargetShadow {
253
253
  el;
254
254
  els = [];
255
- idPrefix = "target_calibrate_";
255
+ idPrefix = `target_calibrate_${guid()}`;
256
256
  container;
257
257
  scrollLeft = 0;
258
258
  scrollTop = 0;
@@ -267,7 +267,7 @@ class TargetShadow {
267
267
  this.zIndex = config.zIndex;
268
268
  }
269
269
  if (config.idPrefix) {
270
- this.idPrefix = config.idPrefix;
270
+ this.idPrefix = `${config.idPrefix}_${guid()}`;
271
271
  }
272
272
  this.container.addEventListener("customScroll", this.scrollHandler);
273
273
  }
@@ -1649,6 +1649,7 @@ class ActionManager extends EventEmitter {
1649
1649
  this.container.removeEventListener("mousemove", this.mouseMoveHandler);
1650
1650
  this.container.removeEventListener("mouseleave", this.mouseLeaveHandler);
1651
1651
  this.container.removeEventListener("wheel", this.mouseWheelHandler);
1652
+ this.container.removeEventListener("dblclick", this.dblclickHandler);
1652
1653
  this.dr.destroy();
1653
1654
  this.multiDr?.destroy();
1654
1655
  this.highlightLayer.destroy();
@@ -1772,6 +1773,7 @@ class ActionManager extends EventEmitter {
1772
1773
  this.container.addEventListener("mousemove", this.mouseMoveHandler);
1773
1774
  this.container.addEventListener("mouseleave", this.mouseLeaveHandler);
1774
1775
  this.container.addEventListener("wheel", this.mouseWheelHandler);
1776
+ this.container.addEventListener("dblclick", this.dblclickHandler);
1775
1777
  }
1776
1778
  /**
1777
1779
  * 初始化键盘事件监听
@@ -1862,6 +1864,9 @@ class ActionManager extends EventEmitter {
1862
1864
  mouseWheelHandler = () => {
1863
1865
  this.clearHighlight();
1864
1866
  };
1867
+ dblclickHandler = (event) => {
1868
+ this.emit("dblclick", event);
1869
+ };
1865
1870
  }
1866
1871
 
1867
1872
  class Rule extends EventEmitter {
@@ -2676,6 +2681,8 @@ class StageCore extends EventEmitter$1 {
2676
2681
  this.multiSelect(idOrElList);
2677
2682
  }).on("multi-select", (selectedElList, event) => {
2678
2683
  this.emit("multi-select", selectedElList, event);
2684
+ }).on("dblclick", (event) => {
2685
+ this.emit("dblclick", event);
2679
2686
  });
2680
2687
  }
2681
2688
  /**
@@ -2726,4 +2733,3 @@ class StageCore extends EventEmitter$1 {
2726
2733
  }
2727
2734
 
2728
2735
  export { AbleActionEventType, CONTAINER_HIGHLIGHT_CLASS_NAME, ContainerHighlightType, DEFAULT_ZOOM, DRAG_EL_ID_PREFIX, GHOST_EL_ID_PREFIX, GuidesType, HIGHLIGHT_EL_ID_PREFIX, Mode, MouseButton, PAGE_CLASS, RenderType, SELECTED_CLASS, SelectStatus, StageDragResize, StageDragStatus, StageMask, StageRender, ZIndex, addSelectedClassName, calcValueByFontsize, StageCore as default, down, getAbsolutePosition, getBorderWidth, getMarginValue, getMode, getOffset, getScrollParent, getTargetElStyle, isAbsolute, isFixed, isFixedParent, isMoveableButton, isRelative, isStatic, removeSelectedClassName, up };
2729
- //# sourceMappingURL=tmagic-stage.js.map
@@ -249,7 +249,7 @@
249
249
  class TargetShadow {
250
250
  el;
251
251
  els = [];
252
- idPrefix = "target_calibrate_";
252
+ idPrefix = `target_calibrate_${utils.guid()}`;
253
253
  container;
254
254
  scrollLeft = 0;
255
255
  scrollTop = 0;
@@ -264,7 +264,7 @@
264
264
  this.zIndex = config.zIndex;
265
265
  }
266
266
  if (config.idPrefix) {
267
- this.idPrefix = config.idPrefix;
267
+ this.idPrefix = `${config.idPrefix}_${utils.guid()}`;
268
268
  }
269
269
  this.container.addEventListener("customScroll", this.scrollHandler);
270
270
  }
@@ -1646,6 +1646,7 @@
1646
1646
  this.container.removeEventListener("mousemove", this.mouseMoveHandler);
1647
1647
  this.container.removeEventListener("mouseleave", this.mouseLeaveHandler);
1648
1648
  this.container.removeEventListener("wheel", this.mouseWheelHandler);
1649
+ this.container.removeEventListener("dblclick", this.dblclickHandler);
1649
1650
  this.dr.destroy();
1650
1651
  this.multiDr?.destroy();
1651
1652
  this.highlightLayer.destroy();
@@ -1769,6 +1770,7 @@
1769
1770
  this.container.addEventListener("mousemove", this.mouseMoveHandler);
1770
1771
  this.container.addEventListener("mouseleave", this.mouseLeaveHandler);
1771
1772
  this.container.addEventListener("wheel", this.mouseWheelHandler);
1773
+ this.container.addEventListener("dblclick", this.dblclickHandler);
1772
1774
  }
1773
1775
  /**
1774
1776
  * 初始化键盘事件监听
@@ -1859,6 +1861,9 @@
1859
1861
  mouseWheelHandler = () => {
1860
1862
  this.clearHighlight();
1861
1863
  };
1864
+ dblclickHandler = (event) => {
1865
+ this.emit("dblclick", event);
1866
+ };
1862
1867
  }
1863
1868
 
1864
1869
  class Rule extends EventEmitter {
@@ -2673,6 +2678,8 @@
2673
2678
  this.multiSelect(idOrElList);
2674
2679
  }).on("multi-select", (selectedElList, event) => {
2675
2680
  this.emit("multi-select", selectedElList, event);
2681
+ }).on("dblclick", (event) => {
2682
+ this.emit("dblclick", event);
2676
2683
  });
2677
2684
  }
2678
2685
  /**
@@ -2764,4 +2771,3 @@
2764
2771
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
2765
2772
 
2766
2773
  }));
2767
- //# sourceMappingURL=tmagic-stage.umd.cjs.map
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.3.9",
2
+ "version": "1.3.11",
3
3
  "name": "@tmagic/stage",
4
4
  "type": "module",
5
5
  "sideEffects": [
@@ -26,9 +26,9 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@scena/guides": "^0.29.2",
29
- "@tmagic/core": "1.3.9",
30
- "@tmagic/schema": "1.3.9",
31
- "@tmagic/utils": "1.3.9",
29
+ "@tmagic/core": "1.3.11",
30
+ "@tmagic/schema": "1.3.11",
31
+ "@tmagic/utils": "1.3.11",
32
32
  "events": "^3.3.0",
33
33
  "keycon": "^1.4.0",
34
34
  "lodash-es": "^4.17.21",
@@ -360,6 +360,7 @@ export default class ActionManager extends EventEmitter {
360
360
  this.container.removeEventListener('mousemove', this.mouseMoveHandler);
361
361
  this.container.removeEventListener('mouseleave', this.mouseLeaveHandler);
362
362
  this.container.removeEventListener('wheel', this.mouseWheelHandler);
363
+ this.container.removeEventListener('dblclick', this.dblclickHandler);
363
364
  this.dr.destroy();
364
365
  this.multiDr?.destroy();
365
366
  this.highlightLayer.destroy();
@@ -512,6 +513,7 @@ export default class ActionManager extends EventEmitter {
512
513
  this.container.addEventListener('mousemove', this.mouseMoveHandler);
513
514
  this.container.addEventListener('mouseleave', this.mouseLeaveHandler);
514
515
  this.container.addEventListener('wheel', this.mouseWheelHandler);
516
+ this.container.addEventListener('dblclick', this.dblclickHandler);
515
517
  }
516
518
 
517
519
  /**
@@ -619,4 +621,8 @@ export default class ActionManager extends EventEmitter {
619
621
  private mouseWheelHandler = () => {
620
622
  this.clearHighlight();
621
623
  };
624
+
625
+ private dblclickHandler = (event: MouseEvent) => {
626
+ this.emit('dblclick', event);
627
+ };
622
628
  }
package/src/StageCore.ts CHANGED
@@ -46,8 +46,8 @@ export default class StageCore extends EventEmitter {
46
46
  public container?: HTMLDivElement;
47
47
  public renderer: StageRender;
48
48
  public mask: StageMask;
49
+ public actionManager: ActionManager;
49
50
 
50
- private actionManager: ActionManager;
51
51
  private pageResizeObserver: ResizeObserver | null = null;
52
52
  private autoScrollIntoView: boolean | undefined;
53
53
  private customizedRender?: CustomizeRender;
@@ -329,6 +329,9 @@ export default class StageCore extends EventEmitter {
329
329
  })
330
330
  .on('multi-select', (selectedElList: HTMLElement[], event: MouseEvent) => {
331
331
  this.emit('multi-select', selectedElList, event);
332
+ })
333
+ .on('dblclick', (event: MouseEvent) => {
334
+ this.emit('dblclick', event);
332
335
  });
333
336
  }
334
337
 
@@ -15,6 +15,8 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
+ import { guid } from '@tmagic/utils';
19
+
18
20
  import { Mode, ZIndex } from './const';
19
21
  import type { TargetElement as ShadowElement, TargetShadowConfig, UpdateDragEl } from './types';
20
22
  import { getTargetElStyle, isFixedParent } from './util';
@@ -26,7 +28,7 @@ export default class TargetShadow {
26
28
  public el?: ShadowElement;
27
29
  public els: ShadowElement[] = [];
28
30
 
29
- private idPrefix = 'target_calibrate_';
31
+ private idPrefix = `target_calibrate_${guid()}`;
30
32
  private container: HTMLElement;
31
33
  private scrollLeft = 0;
32
34
  private scrollTop = 0;
@@ -46,7 +48,7 @@ export default class TargetShadow {
46
48
  }
47
49
 
48
50
  if (config.idPrefix) {
49
- this.idPrefix = config.idPrefix;
51
+ this.idPrefix = `${config.idPrefix}_${guid()}`;
50
52
  }
51
53
 
52
54
  this.container.addEventListener('customScroll', this.scrollHandler);
@@ -143,4 +143,5 @@ export default class ActionManager extends EventEmitter {
143
143
  private mouseUpHandler;
144
144
  private mouseLeaveHandler;
145
145
  private mouseWheelHandler;
146
+ private dblclickHandler;
146
147
  }
@@ -3,6 +3,7 @@
3
3
  import { EventEmitter } from 'events';
4
4
  import type { MoveableOptions } from 'moveable';
5
5
  import type { Id } from '@tmagic/schema';
6
+ import ActionManager from './ActionManager';
6
7
  import StageMask from './StageMask';
7
8
  import StageRender from './StageRender';
8
9
  import type { RemoveData, StageCoreConfig, UpdateData } from './types';
@@ -13,7 +14,7 @@ export default class StageCore extends EventEmitter {
13
14
  container?: HTMLDivElement;
14
15
  renderer: StageRender;
15
16
  mask: StageMask;
16
- private actionManager;
17
+ actionManager: ActionManager;
17
18
  private pageResizeObserver;
18
19
  private autoScrollIntoView;
19
20
  private customizedRender?;