@idraw/core 0.4.0-beta.9 → 0.4.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.
Files changed (101) hide show
  1. package/dist/esm/board/index.d.ts +44 -0
  2. package/dist/esm/board/index.js +366 -0
  3. package/dist/esm/board/sharer.d.ts +21 -0
  4. package/dist/esm/board/sharer.js +101 -0
  5. package/dist/esm/board/viewer.d.ts +32 -0
  6. package/dist/esm/board/viewer.js +165 -0
  7. package/dist/esm/board/watcher.d.ts +15 -0
  8. package/dist/esm/board/watcher.js +218 -0
  9. package/dist/esm/config.d.ts +28 -0
  10. package/dist/esm/config.js +34 -0
  11. package/dist/esm/{lib → cursor}/cursor-image.d.ts +1 -0
  12. package/dist/esm/{lib → cursor}/cursor-image.js +1 -0
  13. package/dist/esm/cursor/cursor.d.ts +7 -0
  14. package/dist/esm/cursor/cursor.js +154 -0
  15. package/dist/esm/index.d.ts +39 -10
  16. package/dist/esm/index.js +296 -17
  17. package/dist/esm/middlewares/dragger/index.d.ts +7 -0
  18. package/dist/esm/{middleware → middlewares}/dragger/index.js +4 -3
  19. package/dist/esm/middlewares/info/config.d.ts +5 -0
  20. package/dist/esm/middlewares/info/config.js +9 -0
  21. package/dist/esm/middlewares/info/draw-info.d.ts +29 -0
  22. package/dist/esm/middlewares/info/draw-info.js +113 -0
  23. package/dist/esm/middlewares/info/index.d.ts +9 -0
  24. package/dist/esm/middlewares/info/index.js +131 -0
  25. package/dist/esm/middlewares/info/types.d.ts +3 -0
  26. package/dist/esm/middlewares/info/types.js +1 -0
  27. package/dist/esm/middlewares/layout-selector/config.d.ts +11 -0
  28. package/dist/esm/middlewares/layout-selector/config.js +12 -0
  29. package/dist/esm/middlewares/layout-selector/index.d.ts +5 -0
  30. package/dist/esm/middlewares/layout-selector/index.js +371 -0
  31. package/dist/esm/middlewares/layout-selector/types.d.ts +17 -0
  32. package/dist/esm/middlewares/layout-selector/types.js +2 -0
  33. package/dist/esm/middlewares/layout-selector/util.d.ts +9 -0
  34. package/dist/esm/middlewares/layout-selector/util.js +78 -0
  35. package/dist/esm/middlewares/pointer/index.d.ts +3 -0
  36. package/dist/esm/middlewares/pointer/index.js +42 -0
  37. package/dist/esm/middlewares/pointer/types.d.ts +3 -0
  38. package/dist/esm/middlewares/pointer/types.js +1 -0
  39. package/dist/esm/middlewares/ruler/config.d.ts +7 -0
  40. package/dist/esm/middlewares/ruler/config.js +21 -0
  41. package/dist/esm/middlewares/ruler/index.d.ts +3 -0
  42. package/dist/esm/middlewares/ruler/index.js +66 -0
  43. package/dist/esm/middlewares/ruler/types.d.ts +3 -0
  44. package/dist/esm/middlewares/ruler/types.js +1 -0
  45. package/dist/esm/{middleware → middlewares}/ruler/util.d.ts +20 -4
  46. package/dist/esm/{middleware → middlewares}/ruler/util.js +99 -26
  47. package/dist/esm/middlewares/scaler/index.d.ts +2 -0
  48. package/dist/esm/{middleware → middlewares}/scaler/index.js +2 -2
  49. package/dist/esm/{middleware → middlewares}/scroller/config.d.ts +4 -0
  50. package/dist/esm/middlewares/scroller/config.js +16 -0
  51. package/dist/esm/middlewares/scroller/index.d.ts +3 -0
  52. package/dist/esm/{middleware → middlewares}/scroller/index.js +47 -6
  53. package/dist/esm/middlewares/scroller/types.d.ts +11 -0
  54. package/dist/esm/middlewares/scroller/types.js +1 -0
  55. package/dist/esm/{middleware → middlewares}/scroller/util.d.ts +3 -2
  56. package/dist/esm/{middleware → middlewares}/scroller/util.js +33 -44
  57. package/dist/esm/{middleware → middlewares}/selector/config.d.ts +9 -1
  58. package/dist/esm/{middleware → middlewares}/selector/config.js +17 -1
  59. package/dist/esm/middlewares/selector/draw-auxiliary.d.ts +1 -0
  60. package/dist/esm/middlewares/selector/draw-auxiliary.js +12 -0
  61. package/dist/esm/middlewares/selector/draw-base.d.ts +30 -0
  62. package/dist/esm/middlewares/selector/draw-base.js +100 -0
  63. package/dist/esm/middlewares/selector/draw-debug.d.ts +5 -0
  64. package/dist/esm/middlewares/selector/draw-debug.js +30 -0
  65. package/dist/esm/middlewares/selector/draw-reference.d.ts +7 -0
  66. package/dist/esm/middlewares/selector/draw-reference.js +31 -0
  67. package/dist/esm/{middleware → middlewares}/selector/draw-wrapper.d.ts +16 -1
  68. package/dist/esm/middlewares/selector/draw-wrapper.js +139 -0
  69. package/dist/esm/middlewares/selector/index.d.ts +11 -0
  70. package/dist/esm/middlewares/selector/index.js +879 -0
  71. package/dist/esm/middlewares/selector/pattern/icon-rotate.d.ts +4 -0
  72. package/dist/esm/middlewares/selector/pattern/icon-rotate.js +88 -0
  73. package/dist/esm/middlewares/selector/pattern/index.d.ts +8 -0
  74. package/dist/esm/middlewares/selector/pattern/index.js +38 -0
  75. package/dist/esm/middlewares/selector/reference.d.ts +13 -0
  76. package/dist/esm/middlewares/selector/reference.js +267 -0
  77. package/dist/esm/{middleware → middlewares}/selector/types.d.ts +11 -5
  78. package/dist/esm/middlewares/selector/types.js +2 -0
  79. package/dist/esm/{middleware → middlewares}/selector/util.d.ts +14 -7
  80. package/dist/esm/{middleware → middlewares}/selector/util.js +46 -43
  81. package/dist/esm/middlewares/text-editor/index.d.ts +20 -0
  82. package/dist/esm/middlewares/text-editor/index.js +286 -0
  83. package/dist/esm/record.d.ts +5 -0
  84. package/dist/esm/record.js +38 -0
  85. package/dist/index.global.js +5740 -1632
  86. package/dist/index.global.min.js +1 -1
  87. package/package.json +5 -6
  88. package/dist/esm/lib/cursor.d.ts +0 -16
  89. package/dist/esm/lib/cursor.js +0 -129
  90. package/dist/esm/middleware/dragger/index.d.ts +0 -7
  91. package/dist/esm/middleware/ruler/index.d.ts +0 -3
  92. package/dist/esm/middleware/ruler/index.js +0 -48
  93. package/dist/esm/middleware/scaler/index.d.ts +0 -3
  94. package/dist/esm/middleware/scroller/config.js +0 -6
  95. package/dist/esm/middleware/scroller/index.d.ts +0 -2
  96. package/dist/esm/middleware/selector/draw-wrapper.js +0 -107
  97. package/dist/esm/middleware/selector/index.d.ts +0 -5
  98. package/dist/esm/middleware/selector/index.js +0 -510
  99. package/dist/esm/middleware/selector/types.js +0 -1
  100. package/dist/esm/middleware/text-editor/index.d.ts +0 -3
  101. package/dist/esm/middleware/text-editor/index.js +0 -147
@@ -0,0 +1,44 @@
1
+ import { Renderer, Calculator } from '@idraw/renderer';
2
+ import { EventEmitter } from '@idraw/util';
3
+ import type { Data, BoardOptions, BoardMiddleware, ViewSizeInfo, PointSize, BoardExtendEventMap } from '@idraw/types';
4
+ import { Sharer } from './sharer';
5
+ import { Viewer } from './viewer';
6
+ export declare class Board<T extends BoardExtendEventMap = BoardExtendEventMap> {
7
+ #private;
8
+ constructor(opts: BoardOptions);
9
+ isDestroyed(): boolean;
10
+ destroy(): void;
11
+ getSharer(): Sharer;
12
+ getViewer(): Viewer;
13
+ getRenderer(): Renderer;
14
+ setData(data: Data): {
15
+ viewSizeInfo: ViewSizeInfo;
16
+ };
17
+ getData(): Data | null;
18
+ use<C extends any = any>(middleware: BoardMiddleware<any, any, any>, config?: Partial<C>): void;
19
+ disuse(middleware: BoardMiddleware<any, any>): void;
20
+ resetMiddlewareConfig<C extends any = any>(middleware: BoardMiddleware<any, any, any>, config?: Partial<C>): void;
21
+ scale(opts: {
22
+ scale: number;
23
+ point: PointSize;
24
+ ignoreUpdateVisibleStatus?: boolean;
25
+ }): void;
26
+ scroll(opts: {
27
+ moveX: number;
28
+ moveY: number;
29
+ ignoreUpdateVisibleStatus?: boolean;
30
+ }): import("@idraw/types").ViewScaleInfo;
31
+ updateViewScaleInfo(opts: {
32
+ scale: number;
33
+ offsetX: number;
34
+ offsetY: number;
35
+ }): import("@idraw/types").ViewScaleInfo;
36
+ resize(newViewSize: ViewSizeInfo, opts?: {
37
+ ignoreUpdateVisibleStatus?: boolean;
38
+ }): void;
39
+ clear(): void;
40
+ getEventHub(): EventEmitter<T>;
41
+ onWatcherEvents(): void;
42
+ offWatcherEvents(): void;
43
+ }
44
+ export { Sharer, Calculator };
@@ -0,0 +1,366 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _Board_instances, _Board_opts, _Board_middlewareMap, _Board_activeMiddlewareObjs, _Board_watcher, _Board_renderer, _Board_sharer, _Board_viewer, _Board_calculator, _Board_eventHub, _Board_hasDestroyed, _Board_init, _Board_handlePointStart, _Board_handlePointEnd, _Board_handlePointMove, _Board_handlePointLeave, _Board_handleHover, _Board_handleDoubleClick, _Board_handleContextMenu, _Board_handleWheel, _Board_handleWheelScale, _Board_handleScrollX, _Board_handleScrollY, _Board_handleResize, _Board_handleClear, _Board_handleBeforeDrawFrame, _Board_handleAfterDrawFrame, _Board_resetActiveMiddlewareObjs;
13
+ import { Renderer, Calculator } from '@idraw/renderer';
14
+ import { calcElementsContextSize, EventEmitter } from '@idraw/util';
15
+ import { BoardWatcher } from './watcher';
16
+ import { Sharer } from './sharer';
17
+ import { Viewer } from './viewer';
18
+ export class Board {
19
+ constructor(opts) {
20
+ _Board_instances.add(this);
21
+ _Board_opts.set(this, void 0);
22
+ _Board_middlewareMap.set(this, new Map());
23
+ _Board_activeMiddlewareObjs.set(this, []);
24
+ _Board_watcher.set(this, void 0);
25
+ _Board_renderer.set(this, void 0);
26
+ _Board_sharer.set(this, void 0);
27
+ _Board_viewer.set(this, void 0);
28
+ _Board_calculator.set(this, void 0);
29
+ _Board_eventHub.set(this, new EventEmitter());
30
+ _Board_hasDestroyed.set(this, false);
31
+ const { boardContent } = opts;
32
+ const sharer = new Sharer();
33
+ const watcher = new BoardWatcher({
34
+ boardContent,
35
+ sharer
36
+ });
37
+ const renderer = new Renderer({
38
+ viewContext: boardContent.viewContext,
39
+ tempContext: boardContent.tempContext,
40
+ sharer
41
+ });
42
+ const calculator = renderer.getCalculator();
43
+ __classPrivateFieldSet(this, _Board_opts, opts, "f");
44
+ __classPrivateFieldSet(this, _Board_sharer, sharer, "f");
45
+ __classPrivateFieldSet(this, _Board_watcher, watcher, "f");
46
+ __classPrivateFieldSet(this, _Board_renderer, renderer, "f");
47
+ __classPrivateFieldSet(this, _Board_calculator, calculator, "f");
48
+ __classPrivateFieldSet(this, _Board_viewer, new Viewer({
49
+ boardContent: opts.boardContent,
50
+ sharer,
51
+ renderer,
52
+ calculator: __classPrivateFieldGet(this, _Board_calculator, "f"),
53
+ beforeDrawFrame: (e) => {
54
+ __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleBeforeDrawFrame).call(this, e);
55
+ },
56
+ afterDrawFrame: (e) => {
57
+ __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleAfterDrawFrame).call(this, e);
58
+ }
59
+ }), "f");
60
+ __classPrivateFieldGet(this, _Board_instances, "m", _Board_init).call(this);
61
+ __classPrivateFieldGet(this, _Board_instances, "m", _Board_resetActiveMiddlewareObjs).call(this);
62
+ }
63
+ isDestroyed() {
64
+ return __classPrivateFieldGet(this, _Board_hasDestroyed, "f");
65
+ }
66
+ destroy() {
67
+ __classPrivateFieldGet(this, _Board_watcher, "f").destroy();
68
+ __classPrivateFieldGet(this, _Board_renderer, "f").destroy();
69
+ __classPrivateFieldGet(this, _Board_calculator, "f").destroy();
70
+ __classPrivateFieldGet(this, _Board_eventHub, "f").destroy();
71
+ __classPrivateFieldSet(this, _Board_hasDestroyed, true, "f");
72
+ }
73
+ getSharer() {
74
+ return __classPrivateFieldGet(this, _Board_sharer, "f");
75
+ }
76
+ getViewer() {
77
+ return __classPrivateFieldGet(this, _Board_viewer, "f");
78
+ }
79
+ getRenderer() {
80
+ return __classPrivateFieldGet(this, _Board_renderer, "f");
81
+ }
82
+ setData(data) {
83
+ const sharer = __classPrivateFieldGet(this, _Board_sharer, "f");
84
+ __classPrivateFieldGet(this, _Board_sharer, "f").setActiveStorage('data', data);
85
+ const viewSizeInfo = sharer.getActiveViewSizeInfo();
86
+ const viewScaleInfo = sharer.getActiveViewScaleInfo();
87
+ const newViewContextSize = calcElementsContextSize(data.elements, {
88
+ viewWidth: viewSizeInfo.width,
89
+ viewHeight: viewSizeInfo.height,
90
+ extend: true
91
+ });
92
+ __classPrivateFieldGet(this, _Board_viewer, "f").resetVirtualFlatItemMap(data, {
93
+ viewSizeInfo,
94
+ viewScaleInfo
95
+ });
96
+ __classPrivateFieldGet(this, _Board_viewer, "f").drawFrame();
97
+ const newViewSizeInfo = Object.assign(Object.assign({}, viewSizeInfo), newViewContextSize);
98
+ __classPrivateFieldGet(this, _Board_sharer, "f").setActiveViewSizeInfo(newViewSizeInfo);
99
+ return { viewSizeInfo: newViewSizeInfo };
100
+ }
101
+ getData() {
102
+ const { data } = __classPrivateFieldGet(this, _Board_sharer, "f").getActiveStoreSnapshot();
103
+ return data;
104
+ }
105
+ use(middleware, config) {
106
+ var _a, _b, _c;
107
+ if (__classPrivateFieldGet(this, _Board_middlewareMap, "f").has(middleware)) {
108
+ const item = __classPrivateFieldGet(this, _Board_middlewareMap, "f").get(middleware);
109
+ if (item && item.status !== 'enable') {
110
+ item.status = 'enable';
111
+ (_b = (_a = item.middlewareObject).use) === null || _b === void 0 ? void 0 : _b.call(_a);
112
+ __classPrivateFieldGet(this, _Board_instances, "m", _Board_resetActiveMiddlewareObjs).call(this);
113
+ }
114
+ return;
115
+ }
116
+ const { boardContent, container } = __classPrivateFieldGet(this, _Board_opts, "f");
117
+ const sharer = __classPrivateFieldGet(this, _Board_sharer, "f");
118
+ const viewer = __classPrivateFieldGet(this, _Board_viewer, "f");
119
+ const calculator = __classPrivateFieldGet(this, _Board_calculator, "f");
120
+ const eventHub = __classPrivateFieldGet(this, _Board_eventHub, "f");
121
+ const obj = middleware({ boardContent, sharer, viewer, calculator, eventHub: eventHub, container }, config);
122
+ (_c = obj.use) === null || _c === void 0 ? void 0 : _c.call(obj);
123
+ __classPrivateFieldGet(this, _Board_middlewareMap, "f").set(middleware, {
124
+ status: 'enable',
125
+ middlewareObject: obj,
126
+ config
127
+ });
128
+ __classPrivateFieldGet(this, _Board_instances, "m", _Board_resetActiveMiddlewareObjs).call(this);
129
+ }
130
+ disuse(middleware) {
131
+ var _a, _b;
132
+ if (__classPrivateFieldGet(this, _Board_middlewareMap, "f").has(middleware)) {
133
+ const item = __classPrivateFieldGet(this, _Board_middlewareMap, "f").get(middleware);
134
+ if (item) {
135
+ (_b = (_a = item.middlewareObject).disuse) === null || _b === void 0 ? void 0 : _b.call(_a);
136
+ item.status = 'disable';
137
+ }
138
+ __classPrivateFieldGet(this, _Board_middlewareMap, "f").delete(middleware);
139
+ __classPrivateFieldGet(this, _Board_instances, "m", _Board_resetActiveMiddlewareObjs).call(this);
140
+ }
141
+ }
142
+ resetMiddlewareConfig(middleware, config) {
143
+ var _a, _b;
144
+ if (__classPrivateFieldGet(this, _Board_middlewareMap, "f").has(middleware)) {
145
+ const item = __classPrivateFieldGet(this, _Board_middlewareMap, "f").get(middleware);
146
+ if (item) {
147
+ (_b = (_a = item.middlewareObject).resetConfig) === null || _b === void 0 ? void 0 : _b.call(_a, config);
148
+ }
149
+ }
150
+ }
151
+ scale(opts) {
152
+ const viewer = __classPrivateFieldGet(this, _Board_viewer, "f");
153
+ const { ignoreUpdateVisibleStatus } = opts;
154
+ const { moveX, moveY } = viewer.scale(Object.assign(Object.assign({}, opts), {
155
+ ignoreUpdateVisibleStatus: true
156
+ }));
157
+ viewer.scroll({ moveX, moveY, ignoreUpdateVisibleStatus });
158
+ }
159
+ scroll(opts) {
160
+ const result = __classPrivateFieldGet(this, _Board_viewer, "f").scroll(opts);
161
+ return result;
162
+ }
163
+ updateViewScaleInfo(opts) {
164
+ const result = __classPrivateFieldGet(this, _Board_viewer, "f").updateViewScaleInfo(opts);
165
+ return result;
166
+ }
167
+ resize(newViewSize, opts) {
168
+ const viewSize = __classPrivateFieldGet(this, _Board_viewer, "f").resize(newViewSize, opts);
169
+ const { width, height, devicePixelRatio } = newViewSize;
170
+ const { boardContent } = __classPrivateFieldGet(this, _Board_opts, "f");
171
+ boardContent.viewContext.$resize({ width, height, devicePixelRatio });
172
+ boardContent.overlayContext.$resize({ width, height, devicePixelRatio });
173
+ boardContent.boardContext.$resize({ width, height, devicePixelRatio });
174
+ boardContent.underlayContext.$resize({ width, height, devicePixelRatio });
175
+ __classPrivateFieldGet(this, _Board_viewer, "f").drawFrame();
176
+ __classPrivateFieldGet(this, _Board_watcher, "f").trigger('resize', viewSize);
177
+ __classPrivateFieldGet(this, _Board_sharer, "f").setActiveViewSizeInfo(newViewSize);
178
+ }
179
+ clear() {
180
+ const { boardContent } = __classPrivateFieldGet(this, _Board_opts, "f");
181
+ const { underlayContext, overlayContext, viewContext, boardContext } = boardContent;
182
+ underlayContext.clearRect(0, 0, underlayContext.canvas.width, underlayContext.canvas.height);
183
+ overlayContext.clearRect(0, 0, overlayContext.canvas.width, overlayContext.canvas.height);
184
+ viewContext.clearRect(0, 0, viewContext.canvas.width, viewContext.canvas.height);
185
+ boardContext.clearRect(0, 0, boardContext.canvas.width, boardContext.canvas.height);
186
+ __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleClear).call(this);
187
+ }
188
+ getEventHub() {
189
+ return __classPrivateFieldGet(this, _Board_eventHub, "f");
190
+ }
191
+ onWatcherEvents() {
192
+ if (__classPrivateFieldGet(this, _Board_opts, "f").disableWatcher === true) {
193
+ return;
194
+ }
195
+ __classPrivateFieldGet(this, _Board_watcher, "f").onEvents();
196
+ }
197
+ offWatcherEvents() {
198
+ if (__classPrivateFieldGet(this, _Board_opts, "f").disableWatcher === true) {
199
+ return;
200
+ }
201
+ __classPrivateFieldGet(this, _Board_watcher, "f").offEvents();
202
+ }
203
+ }
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() {
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
+ }
219
+ __classPrivateFieldGet(this, _Board_renderer, "f").on('load', () => {
220
+ __classPrivateFieldGet(this, _Board_eventHub, "f").trigger('loadResource');
221
+ });
222
+ }, _Board_handlePointStart = function _Board_handlePointStart(e) {
223
+ var _a;
224
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
225
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
226
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.pointStart) === null || _a === void 0 ? void 0 : _a.call(obj, e);
227
+ if (result === false) {
228
+ return;
229
+ }
230
+ }
231
+ }, _Board_handlePointEnd = function _Board_handlePointEnd(e) {
232
+ var _a;
233
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
234
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
235
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.pointEnd) === null || _a === void 0 ? void 0 : _a.call(obj, e);
236
+ if (result === false) {
237
+ return;
238
+ }
239
+ }
240
+ }, _Board_handlePointMove = function _Board_handlePointMove(e) {
241
+ var _a;
242
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
243
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
244
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.pointMove) === null || _a === void 0 ? void 0 : _a.call(obj, e);
245
+ if (result === false) {
246
+ return;
247
+ }
248
+ }
249
+ }, _Board_handlePointLeave = function _Board_handlePointLeave(e) {
250
+ var _a;
251
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
252
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
253
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.pointLeave) === null || _a === void 0 ? void 0 : _a.call(obj, e);
254
+ if (result === false) {
255
+ return;
256
+ }
257
+ }
258
+ }, _Board_handleHover = function _Board_handleHover(e) {
259
+ var _a;
260
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
261
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
262
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.hover) === null || _a === void 0 ? void 0 : _a.call(obj, e);
263
+ if (result === false) {
264
+ return;
265
+ }
266
+ }
267
+ }, _Board_handleDoubleClick = function _Board_handleDoubleClick(e) {
268
+ var _a;
269
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
270
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
271
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.doubleClick) === null || _a === void 0 ? void 0 : _a.call(obj, e);
272
+ if (result === false) {
273
+ return;
274
+ }
275
+ }
276
+ }, _Board_handleContextMenu = function _Board_handleContextMenu(e) {
277
+ var _a;
278
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
279
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
280
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.contextMenu) === null || _a === void 0 ? void 0 : _a.call(obj, e);
281
+ if (result === false) {
282
+ return;
283
+ }
284
+ }
285
+ }, _Board_handleWheel = function _Board_handleWheel(e) {
286
+ var _a;
287
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
288
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
289
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.wheel) === null || _a === void 0 ? void 0 : _a.call(obj, e);
290
+ if (result === false) {
291
+ return;
292
+ }
293
+ }
294
+ }, _Board_handleWheelScale = function _Board_handleWheelScale(e) {
295
+ var _a;
296
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
297
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
298
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.wheelScale) === null || _a === void 0 ? void 0 : _a.call(obj, e);
299
+ if (result === false) {
300
+ return;
301
+ }
302
+ }
303
+ }, _Board_handleScrollX = function _Board_handleScrollX(e) {
304
+ var _a;
305
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
306
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
307
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.scrollX) === null || _a === void 0 ? void 0 : _a.call(obj, e);
308
+ if (result === false) {
309
+ return;
310
+ }
311
+ }
312
+ }, _Board_handleScrollY = function _Board_handleScrollY(e) {
313
+ var _a;
314
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
315
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
316
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.scrollY) === null || _a === void 0 ? void 0 : _a.call(obj, e);
317
+ if (result === false) {
318
+ return;
319
+ }
320
+ }
321
+ }, _Board_handleResize = function _Board_handleResize(e) {
322
+ var _a;
323
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
324
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
325
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.resize) === null || _a === void 0 ? void 0 : _a.call(obj, e);
326
+ if (result === false) {
327
+ return;
328
+ }
329
+ }
330
+ }, _Board_handleClear = function _Board_handleClear(e) {
331
+ var _a;
332
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
333
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
334
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.clear) === null || _a === void 0 ? void 0 : _a.call(obj, e);
335
+ if (result === false) {
336
+ return;
337
+ }
338
+ }
339
+ }, _Board_handleBeforeDrawFrame = function _Board_handleBeforeDrawFrame(e) {
340
+ var _a;
341
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
342
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
343
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.beforeDrawFrame) === null || _a === void 0 ? void 0 : _a.call(obj, e);
344
+ if (result === false) {
345
+ return;
346
+ }
347
+ }
348
+ }, _Board_handleAfterDrawFrame = function _Board_handleAfterDrawFrame(e) {
349
+ var _a;
350
+ for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
351
+ const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
352
+ const result = (_a = obj === null || obj === void 0 ? void 0 : obj.afterDrawFrame) === null || _a === void 0 ? void 0 : _a.call(obj, e);
353
+ if (result === false) {
354
+ return;
355
+ }
356
+ }
357
+ }, _Board_resetActiveMiddlewareObjs = function _Board_resetActiveMiddlewareObjs() {
358
+ const activeMiddlewareObjs = [];
359
+ for (const [_, item] of __classPrivateFieldGet(this, _Board_middlewareMap, "f")) {
360
+ if ((item === null || item === void 0 ? void 0 : item.status) === 'enable' && (item === null || item === void 0 ? void 0 : item.middlewareObject)) {
361
+ activeMiddlewareObjs.push(item.middlewareObject);
362
+ }
363
+ }
364
+ __classPrivateFieldSet(this, _Board_activeMiddlewareObjs, activeMiddlewareObjs, "f");
365
+ };
366
+ export { Sharer, Calculator };
@@ -0,0 +1,21 @@
1
+ import type { ActiveStore, Element, ElementDetailMap, RecursivePartial, StoreSharer, ViewScaleInfo, ViewSizeInfo } from '@idraw/types';
2
+ export declare class Sharer implements StoreSharer<Record<string | number | symbol | any, any>> {
3
+ #private;
4
+ constructor();
5
+ getActiveStorage<T extends keyof ActiveStore>(key: T): ActiveStore[T];
6
+ setActiveStorage<T extends keyof ActiveStore>(key: T, storage: ActiveStore[T]): void;
7
+ getActiveStoreSnapshot(opts?: {
8
+ deepClone?: boolean;
9
+ }): ActiveStore;
10
+ getSharedStorage(key: string | number | symbol): any;
11
+ setSharedStorage(key: string | number | symbol, storage: any): void;
12
+ getSharedStoreSnapshot(opts?: {
13
+ deepClone?: boolean;
14
+ }): Record<string, any>;
15
+ getActiveViewScaleInfo(): ViewScaleInfo;
16
+ setActiveViewScaleInfo(viewScaleInfo: ViewScaleInfo): void;
17
+ setActiveViewSizeInfo(size: ViewSizeInfo): void;
18
+ getActiveViewSizeInfo(): ViewSizeInfo;
19
+ getActiveOverrideElemenentMap(): Record<string, RecursivePartial<Element<keyof ElementDetailMap, Record<string, any>>>> | null;
20
+ setActiveOverrideElemenentMap(map: Record<string, RecursivePartial<Element<keyof ElementDetailMap, Record<string, any>>>> | null): void;
21
+ }
@@ -0,0 +1,101 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _Sharer_activeStore, _Sharer_sharedStore;
13
+ import { Store } from '@idraw/util';
14
+ const defaultActiveStorage = {
15
+ width: 0,
16
+ height: 0,
17
+ devicePixelRatio: 1,
18
+ contextWidth: 0,
19
+ contextHeight: 0,
20
+ data: null,
21
+ scale: 1,
22
+ offsetLeft: 0,
23
+ offsetRight: 0,
24
+ offsetTop: 0,
25
+ offsetBottom: 0,
26
+ overrideElementMap: null
27
+ };
28
+ export class Sharer {
29
+ constructor() {
30
+ _Sharer_activeStore.set(this, void 0);
31
+ _Sharer_sharedStore.set(this, void 0);
32
+ const activeStore = new Store({
33
+ defaultStorage: defaultActiveStorage
34
+ });
35
+ const sharedStore = new Store({
36
+ defaultStorage: {}
37
+ });
38
+ __classPrivateFieldSet(this, _Sharer_activeStore, activeStore, "f");
39
+ __classPrivateFieldSet(this, _Sharer_sharedStore, sharedStore, "f");
40
+ }
41
+ getActiveStorage(key) {
42
+ return __classPrivateFieldGet(this, _Sharer_activeStore, "f").get(key);
43
+ }
44
+ setActiveStorage(key, storage) {
45
+ return __classPrivateFieldGet(this, _Sharer_activeStore, "f").set(key, storage);
46
+ }
47
+ getActiveStoreSnapshot(opts) {
48
+ return __classPrivateFieldGet(this, _Sharer_activeStore, "f").getSnapshot(opts);
49
+ }
50
+ getSharedStorage(key) {
51
+ return __classPrivateFieldGet(this, _Sharer_sharedStore, "f").get(key);
52
+ }
53
+ setSharedStorage(key, storage) {
54
+ return __classPrivateFieldGet(this, _Sharer_sharedStore, "f").set(key, storage);
55
+ }
56
+ getSharedStoreSnapshot(opts) {
57
+ return __classPrivateFieldGet(this, _Sharer_sharedStore, "f").getSnapshot(opts);
58
+ }
59
+ getActiveViewScaleInfo() {
60
+ const viewScaleInfo = {
61
+ scale: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('scale'),
62
+ offsetTop: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('offsetTop'),
63
+ offsetBottom: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('offsetBottom'),
64
+ offsetLeft: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('offsetLeft'),
65
+ offsetRight: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('offsetRight')
66
+ };
67
+ return viewScaleInfo;
68
+ }
69
+ setActiveViewScaleInfo(viewScaleInfo) {
70
+ const { scale, offsetTop, offsetBottom, offsetLeft, offsetRight } = viewScaleInfo;
71
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('scale', scale);
72
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('offsetTop', offsetTop);
73
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('offsetBottom', offsetBottom);
74
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('offsetLeft', offsetLeft);
75
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('offsetRight', offsetRight);
76
+ }
77
+ setActiveViewSizeInfo(size) {
78
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('width', size.width);
79
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('height', size.height);
80
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('devicePixelRatio', size.devicePixelRatio);
81
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('contextWidth', size.contextWidth);
82
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('contextHeight', size.contextHeight);
83
+ }
84
+ getActiveViewSizeInfo() {
85
+ const sizeInfo = {
86
+ width: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('width'),
87
+ height: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('height'),
88
+ devicePixelRatio: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('devicePixelRatio'),
89
+ contextWidth: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('contextWidth'),
90
+ contextHeight: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('contextHeight')
91
+ };
92
+ return sizeInfo;
93
+ }
94
+ getActiveOverrideElemenentMap() {
95
+ return __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('overrideElementMap');
96
+ }
97
+ setActiveOverrideElemenentMap(map) {
98
+ __classPrivateFieldGet(this, _Sharer_activeStore, "f").set('overrideElementMap', map);
99
+ }
100
+ }
101
+ _Sharer_activeStore = new WeakMap(), _Sharer_sharedStore = new WeakMap();
@@ -0,0 +1,32 @@
1
+ import { EventEmitter } from '@idraw/util';
2
+ import type { PointSize, BoardViewer, BoardViewerEventMap, BoardViewerOptions, ViewScaleInfo, ViewSizeInfo, Data } from '@idraw/types';
3
+ export declare class Viewer extends EventEmitter<BoardViewerEventMap> implements BoardViewer {
4
+ #private;
5
+ constructor(opts: BoardViewerOptions);
6
+ resetVirtualFlatItemMap(data: Data, opts: {
7
+ viewScaleInfo: ViewScaleInfo;
8
+ viewSizeInfo: ViewSizeInfo;
9
+ }): void;
10
+ drawFrame(): void;
11
+ scale(opts: {
12
+ scale: number;
13
+ point: PointSize;
14
+ ignoreUpdateVisibleStatus?: boolean;
15
+ }): {
16
+ moveX: number;
17
+ moveY: number;
18
+ };
19
+ scroll(opts: {
20
+ moveX: number;
21
+ moveY: number;
22
+ ignoreUpdateVisibleStatus?: boolean;
23
+ }): ViewScaleInfo;
24
+ updateViewScaleInfo(opts: {
25
+ scale: number;
26
+ offsetX: number;
27
+ offsetY: number;
28
+ }): ViewScaleInfo;
29
+ resize(viewSize?: Partial<ViewSizeInfo>, opts?: {
30
+ ignoreUpdateVisibleStatus?: boolean;
31
+ }): ViewSizeInfo;
32
+ }