@idraw/core 0.4.2 → 1.0.0-alpha.1
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/dist/esm/board/index.d.ts +2 -2
- package/dist/esm/board/index.js +23 -12
- package/dist/esm/board/sharer.d.ts +3 -3
- package/dist/esm/board/sharer.js +10 -10
- package/dist/esm/board/viewer.d.ts +3 -3
- package/dist/esm/board/viewer.js +14 -14
- package/dist/esm/board/watcher.d.ts +3 -3
- package/dist/esm/board/watcher.js +68 -43
- package/dist/esm/core.d.ts +52 -0
- package/dist/esm/core.js +393 -0
- package/dist/esm/cursor/cursor-image.d.ts +2 -0
- package/dist/esm/cursor/cursor-image.js +2 -0
- package/dist/esm/cursor/cursor.js +60 -24
- package/dist/esm/index.d.ts +12 -61
- package/dist/esm/index.js +11 -389
- package/dist/esm/middlewares/common.d.ts +4 -0
- package/dist/esm/middlewares/common.js +13 -0
- package/dist/esm/middlewares/creator/dom.d.ts +11 -0
- package/dist/esm/middlewares/creator/dom.js +52 -0
- package/dist/esm/middlewares/creator/index.d.ts +5 -0
- package/dist/esm/middlewares/creator/index.js +136 -0
- package/dist/esm/middlewares/creator/static.d.ts +14 -0
- package/dist/esm/middlewares/creator/static.js +19 -0
- package/dist/esm/middlewares/creator/styles.d.ts +4 -0
- package/dist/esm/middlewares/creator/styles.js +32 -0
- package/dist/esm/middlewares/creator/types.d.ts +7 -0
- package/dist/esm/middlewares/creator/types.js +1 -0
- package/dist/esm/middlewares/creator/util.d.ts +10 -0
- package/dist/esm/middlewares/creator/util.js +52 -0
- package/dist/esm/middlewares/dragger/index.js +5 -5
- package/dist/esm/middlewares/info/draw-info.d.ts +11 -11
- package/dist/esm/middlewares/info/draw-info.js +18 -18
- package/dist/esm/middlewares/info/index.d.ts +2 -1
- package/dist/esm/middlewares/info/index.js +48 -51
- package/dist/esm/middlewares/info/static.d.ts +6 -0
- package/dist/esm/middlewares/info/{config.js → static.js} +6 -1
- package/dist/esm/middlewares/info/types.d.ts +2 -2
- package/dist/esm/middlewares/layout-selector/dom.d.ts +10 -0
- package/dist/esm/middlewares/layout-selector/dom.js +108 -0
- package/dist/esm/middlewares/layout-selector/index.d.ts +1 -1
- package/dist/esm/middlewares/layout-selector/index.js +89 -141
- package/dist/esm/middlewares/layout-selector/static.d.ts +32 -0
- package/dist/esm/middlewares/layout-selector/static.js +39 -0
- package/dist/esm/middlewares/layout-selector/styles.d.ts +4 -0
- package/dist/esm/middlewares/layout-selector/styles.js +127 -0
- package/dist/esm/middlewares/layout-selector/types.d.ts +6 -6
- package/dist/esm/middlewares/layout-selector/types.js +2 -2
- package/dist/esm/middlewares/layout-selector/util.d.ts +4 -4
- package/dist/esm/middlewares/layout-selector/util.js +19 -19
- package/dist/esm/middlewares/path-creator/dom.d.ts +29 -0
- package/dist/esm/middlewares/path-creator/dom.js +145 -0
- package/dist/esm/middlewares/path-creator/index.d.ts +5 -0
- package/dist/esm/middlewares/path-creator/index.js +203 -0
- package/dist/esm/middlewares/path-creator/static.d.ts +23 -0
- package/dist/esm/middlewares/path-creator/static.js +49 -0
- package/dist/esm/middlewares/path-creator/types.d.ts +1 -0
- package/dist/esm/middlewares/path-editor/calc.d.ts +6 -0
- package/dist/esm/middlewares/path-editor/calc.js +51 -0
- package/dist/esm/middlewares/path-editor/dom.d.ts +32 -0
- package/dist/esm/middlewares/path-editor/dom.js +575 -0
- package/dist/esm/middlewares/path-editor/draw.d.ts +7 -0
- package/dist/esm/middlewares/path-editor/draw.js +113 -0
- package/dist/esm/middlewares/path-editor/index.d.ts +5 -0
- package/dist/esm/middlewares/path-editor/index.js +312 -0
- package/dist/esm/middlewares/path-editor/parse.d.ts +5 -0
- package/dist/esm/middlewares/path-editor/parse.js +37 -0
- package/dist/esm/middlewares/path-editor/static.d.ts +34 -0
- package/dist/esm/middlewares/path-editor/static.js +82 -0
- package/dist/esm/middlewares/path-editor/types.d.ts +26 -0
- package/dist/esm/middlewares/path-editor/types.js +1 -0
- package/dist/esm/middlewares/path-editor/util.d.ts +5 -0
- package/dist/esm/middlewares/path-editor/util.js +21 -0
- package/dist/esm/middlewares/pointer/index.js +5 -5
- package/dist/esm/middlewares/pointer/types.d.ts +2 -2
- package/dist/esm/middlewares/ruler/index.d.ts +2 -0
- package/dist/esm/middlewares/ruler/index.js +12 -19
- package/dist/esm/middlewares/ruler/static.d.ts +8 -0
- package/dist/esm/middlewares/ruler/{config.js → static.js} +16 -3
- package/dist/esm/middlewares/ruler/types.d.ts +2 -2
- package/dist/esm/middlewares/ruler/util.d.ts +6 -6
- package/dist/esm/middlewares/ruler/util.js +31 -31
- package/dist/esm/middlewares/scaler/index.js +2 -2
- package/dist/esm/middlewares/scroller/dom.d.ts +14 -0
- package/dist/esm/middlewares/scroller/dom.js +53 -0
- package/dist/esm/middlewares/scroller/index.d.ts +2 -0
- package/dist/esm/middlewares/scroller/index.js +111 -46
- package/dist/esm/middlewares/scroller/static.d.ts +21 -0
- package/dist/esm/middlewares/scroller/static.js +29 -0
- package/dist/esm/middlewares/scroller/styles.d.ts +4 -0
- package/dist/esm/middlewares/scroller/styles.js +73 -0
- package/dist/esm/middlewares/scroller/types.d.ts +8 -6
- package/dist/esm/middlewares/scroller/types.js +1 -1
- package/dist/esm/middlewares/scroller/util.d.ts +6 -13
- package/dist/esm/middlewares/scroller/util.js +15 -144
- package/dist/esm/middlewares/selector/dom.d.ts +21 -0
- package/dist/esm/middlewares/selector/dom.js +395 -0
- package/dist/esm/middlewares/selector/draw-base.d.ts +9 -21
- package/dist/esm/middlewares/selector/draw-base.js +19 -43
- package/dist/esm/middlewares/selector/draw-reference.d.ts +4 -5
- package/dist/esm/middlewares/selector/draw-reference.js +5 -5
- package/dist/esm/middlewares/selector/index.d.ts +4 -2
- package/dist/esm/middlewares/selector/index.js +315 -439
- package/dist/esm/middlewares/selector/reference.d.ts +5 -5
- package/dist/esm/middlewares/selector/reference.js +36 -30
- package/dist/esm/middlewares/selector/render-frame.d.ts +11 -0
- package/dist/esm/middlewares/selector/render-frame.js +107 -0
- package/dist/esm/middlewares/selector/resize.d.ts +7 -0
- package/dist/esm/middlewares/selector/resize.js +27 -0
- package/dist/esm/middlewares/selector/static.d.ts +67 -0
- package/dist/esm/middlewares/selector/static.js +92 -0
- package/dist/esm/middlewares/selector/styles.d.ts +4 -0
- package/dist/esm/middlewares/selector/styles.js +153 -0
- package/dist/esm/middlewares/selector/types.d.ts +27 -27
- package/dist/esm/middlewares/selector/types.js +1 -1
- package/dist/esm/middlewares/selector/util.d.ts +22 -32
- package/dist/esm/middlewares/selector/util.js +226 -243
- package/dist/esm/middlewares/text-editor/dom.d.ts +5 -0
- package/dist/esm/middlewares/text-editor/dom.js +135 -0
- package/dist/esm/middlewares/text-editor/index.d.ts +5 -20
- package/dist/esm/middlewares/text-editor/index.js +201 -207
- package/dist/esm/middlewares/text-editor/static.d.ts +10 -0
- package/dist/esm/middlewares/text-editor/static.js +17 -0
- package/dist/esm/middlewares/text-editor/types.d.ts +21 -0
- package/dist/esm/middlewares/text-editor/types.js +1 -0
- package/dist/esm/record.d.ts +5 -5
- package/dist/esm/record.js +14 -14
- package/dist/esm/{config.d.ts → static.d.ts} +16 -0
- package/dist/esm/{config.js → static.js} +18 -2
- package/dist/index.global.js +8934 -5646
- package/dist/index.global.min.js +1 -1
- package/package.json +4 -4
- package/dist/esm/middlewares/info/config.d.ts +0 -5
- package/dist/esm/middlewares/layout-selector/config.d.ts +0 -11
- package/dist/esm/middlewares/layout-selector/config.js +0 -12
- package/dist/esm/middlewares/ruler/config.d.ts +0 -7
- package/dist/esm/middlewares/scroller/config.d.ts +0 -10
- package/dist/esm/middlewares/scroller/config.js +0 -16
- package/dist/esm/middlewares/selector/config.d.ts +0 -30
- package/dist/esm/middlewares/selector/config.js +0 -38
- package/dist/esm/middlewares/selector/draw-auxiliary.js +0 -12
- package/dist/esm/middlewares/selector/draw-debug.d.ts +0 -5
- package/dist/esm/middlewares/selector/draw-debug.js +0 -30
- package/dist/esm/middlewares/selector/draw-wrapper.d.ts +0 -37
- package/dist/esm/middlewares/selector/draw-wrapper.js +0 -139
- package/dist/esm/middlewares/selector/pattern/icon-rotate.d.ts +0 -4
- package/dist/esm/middlewares/selector/pattern/icon-rotate.js +0 -88
- package/dist/esm/middlewares/selector/pattern/index.d.ts +0 -8
- package/dist/esm/middlewares/selector/pattern/index.js +0 -38
- /package/dist/esm/middlewares/{selector/draw-auxiliary.d.ts → path-creator/types.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Renderer, Calculator } from '@idraw/renderer';
|
|
2
2
|
import { EventEmitter } from '@idraw/util';
|
|
3
|
-
import type { Data, BoardOptions, BoardMiddleware, ViewSizeInfo,
|
|
3
|
+
import type { Data, BoardOptions, BoardMiddleware, ViewSizeInfo, Point, BoardExtendEventMap } from '@idraw/types';
|
|
4
4
|
import { Sharer } from './sharer';
|
|
5
5
|
import { Viewer } from './viewer';
|
|
6
6
|
export declare class Board<T extends BoardExtendEventMap = BoardExtendEventMap> {
|
|
@@ -20,7 +20,7 @@ export declare class Board<T extends BoardExtendEventMap = BoardExtendEventMap>
|
|
|
20
20
|
resetMiddlewareConfig<C extends any = any>(middleware: BoardMiddleware<any, any, any>, config?: Partial<C>): void;
|
|
21
21
|
scale(opts: {
|
|
22
22
|
scale: number;
|
|
23
|
-
point:
|
|
23
|
+
point: Point;
|
|
24
24
|
ignoreUpdateVisibleStatus?: boolean;
|
|
25
25
|
}): void;
|
|
26
26
|
scroll(opts: {
|
package/dist/esm/board/index.js
CHANGED
|
@@ -9,9 +9,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
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
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
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;
|
|
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_handleClick, _Board_handleDoubleClick, _Board_handleContextMenu, _Board_handleWheel, _Board_handleWheelScale, _Board_handleScrollX, _Board_handleScrollY, _Board_handleResize, _Board_handleClear, _Board_handleBeforeDrawFrame, _Board_handleAfterDrawFrame, _Board_resetActiveMiddlewareObjs;
|
|
13
13
|
import { Renderer, Calculator } from '@idraw/renderer';
|
|
14
|
-
import {
|
|
14
|
+
import { calcMaterialsContextSize, EventEmitter, } from '@idraw/util';
|
|
15
15
|
import { BoardWatcher } from './watcher';
|
|
16
16
|
import { Sharer } from './sharer';
|
|
17
17
|
import { Viewer } from './viewer';
|
|
@@ -28,17 +28,18 @@ export class Board {
|
|
|
28
28
|
_Board_calculator.set(this, void 0);
|
|
29
29
|
_Board_eventHub.set(this, new EventEmitter());
|
|
30
30
|
_Board_hasDestroyed.set(this, false);
|
|
31
|
-
const { boardContent } = opts;
|
|
31
|
+
const { boardContent, container } = opts;
|
|
32
32
|
const sharer = new Sharer();
|
|
33
33
|
const watcher = new BoardWatcher({
|
|
34
34
|
boardContent,
|
|
35
35
|
sharer,
|
|
36
|
-
disabled: opts === null || opts === void 0 ? void 0 : opts.disableWatcher
|
|
36
|
+
disabled: opts === null || opts === void 0 ? void 0 : opts.disableWatcher,
|
|
37
|
+
container,
|
|
37
38
|
});
|
|
38
39
|
const renderer = new Renderer({
|
|
39
40
|
viewContext: boardContent.viewContext,
|
|
40
41
|
tempContext: boardContent.tempContext,
|
|
41
|
-
sharer
|
|
42
|
+
sharer,
|
|
42
43
|
});
|
|
43
44
|
const calculator = renderer.getCalculator();
|
|
44
45
|
__classPrivateFieldSet(this, _Board_opts, opts, "f");
|
|
@@ -56,7 +57,7 @@ export class Board {
|
|
|
56
57
|
},
|
|
57
58
|
afterDrawFrame: (e) => {
|
|
58
59
|
__classPrivateFieldGet(this, _Board_instances, "m", _Board_handleAfterDrawFrame).call(this, e);
|
|
59
|
-
}
|
|
60
|
+
},
|
|
60
61
|
}), "f");
|
|
61
62
|
__classPrivateFieldGet(this, _Board_instances, "m", _Board_init).call(this);
|
|
62
63
|
__classPrivateFieldGet(this, _Board_instances, "m", _Board_resetActiveMiddlewareObjs).call(this);
|
|
@@ -85,14 +86,14 @@ export class Board {
|
|
|
85
86
|
__classPrivateFieldGet(this, _Board_sharer, "f").setActiveStorage('data', data);
|
|
86
87
|
const viewSizeInfo = sharer.getActiveViewSizeInfo();
|
|
87
88
|
const viewScaleInfo = sharer.getActiveViewScaleInfo();
|
|
88
|
-
const newViewContextSize =
|
|
89
|
+
const newViewContextSize = calcMaterialsContextSize(data.materials, {
|
|
89
90
|
viewWidth: viewSizeInfo.width,
|
|
90
91
|
viewHeight: viewSizeInfo.height,
|
|
91
|
-
extend: true
|
|
92
|
+
extend: true,
|
|
92
93
|
});
|
|
93
|
-
__classPrivateFieldGet(this, _Board_viewer, "f").
|
|
94
|
+
__classPrivateFieldGet(this, _Board_viewer, "f").resetVirtualItemMap(data, {
|
|
94
95
|
viewSizeInfo,
|
|
95
|
-
viewScaleInfo
|
|
96
|
+
viewScaleInfo,
|
|
96
97
|
});
|
|
97
98
|
__classPrivateFieldGet(this, _Board_viewer, "f").drawFrame();
|
|
98
99
|
const newViewSizeInfo = Object.assign(Object.assign({}, viewSizeInfo), newViewContextSize);
|
|
@@ -124,7 +125,7 @@ export class Board {
|
|
|
124
125
|
__classPrivateFieldGet(this, _Board_middlewareMap, "f").set(middleware, {
|
|
125
126
|
status: 'enable',
|
|
126
127
|
middlewareObject: obj,
|
|
127
|
-
config
|
|
128
|
+
config,
|
|
128
129
|
});
|
|
129
130
|
__classPrivateFieldGet(this, _Board_instances, "m", _Board_resetActiveMiddlewareObjs).call(this);
|
|
130
131
|
}
|
|
@@ -153,7 +154,7 @@ export class Board {
|
|
|
153
154
|
const viewer = __classPrivateFieldGet(this, _Board_viewer, "f");
|
|
154
155
|
const { ignoreUpdateVisibleStatus } = opts;
|
|
155
156
|
const { moveX, moveY } = viewer.scale(Object.assign(Object.assign({}, opts), {
|
|
156
|
-
ignoreUpdateVisibleStatus: true
|
|
157
|
+
ignoreUpdateVisibleStatus: true,
|
|
157
158
|
}));
|
|
158
159
|
viewer.scroll({ moveX, moveY, ignoreUpdateVisibleStatus });
|
|
159
160
|
}
|
|
@@ -214,6 +215,7 @@ _Board_opts = new WeakMap(), _Board_middlewareMap = new WeakMap(), _Board_active
|
|
|
214
215
|
__classPrivateFieldGet(this, _Board_watcher, "f").on('scrollX', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleScrollX).bind(this));
|
|
215
216
|
__classPrivateFieldGet(this, _Board_watcher, "f").on('scrollY', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleScrollY).bind(this));
|
|
216
217
|
__classPrivateFieldGet(this, _Board_watcher, "f").on('resize', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleResize).bind(this));
|
|
218
|
+
__classPrivateFieldGet(this, _Board_watcher, "f").on('click', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleClick).bind(this));
|
|
217
219
|
__classPrivateFieldGet(this, _Board_watcher, "f").on('doubleClick', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleDoubleClick).bind(this));
|
|
218
220
|
__classPrivateFieldGet(this, _Board_watcher, "f").on('contextMenu', __classPrivateFieldGet(this, _Board_instances, "m", _Board_handleContextMenu).bind(this));
|
|
219
221
|
}
|
|
@@ -265,6 +267,15 @@ _Board_opts = new WeakMap(), _Board_middlewareMap = new WeakMap(), _Board_active
|
|
|
265
267
|
return;
|
|
266
268
|
}
|
|
267
269
|
}
|
|
270
|
+
}, _Board_handleClick = function _Board_handleClick(e) {
|
|
271
|
+
var _a;
|
|
272
|
+
for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
|
|
273
|
+
const obj = __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f")[i];
|
|
274
|
+
const result = (_a = obj === null || obj === void 0 ? void 0 : obj.click) === null || _a === void 0 ? void 0 : _a.call(obj, e);
|
|
275
|
+
if (result === false) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
268
279
|
}, _Board_handleDoubleClick = function _Board_handleDoubleClick(e) {
|
|
269
280
|
var _a;
|
|
270
281
|
for (let i = 0; i < __classPrivateFieldGet(this, _Board_activeMiddlewareObjs, "f").length; i++) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ActiveStore,
|
|
1
|
+
import type { ActiveStore, Material, RecursivePartial, StoreSharer, ViewScaleInfo, ViewSizeInfo } from '@idraw/types';
|
|
2
2
|
export declare class Sharer implements StoreSharer<Record<string | number | symbol | any, any>> {
|
|
3
3
|
#private;
|
|
4
4
|
constructor();
|
|
@@ -16,6 +16,6 @@ export declare class Sharer implements StoreSharer<Record<string | number | symb
|
|
|
16
16
|
setActiveViewScaleInfo(viewScaleInfo: ViewScaleInfo): void;
|
|
17
17
|
setActiveViewSizeInfo(size: ViewSizeInfo): void;
|
|
18
18
|
getActiveViewSizeInfo(): ViewSizeInfo;
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
getActiveOverrideMaterialMap(): Record<string, RecursivePartial<Material>> | null;
|
|
20
|
+
setActiveOverrideMaterialMap(map: Record<string, RecursivePartial<Material>> | null): void;
|
|
21
21
|
}
|
package/dist/esm/board/sharer.js
CHANGED
|
@@ -17,23 +17,23 @@ const defaultActiveStorage = {
|
|
|
17
17
|
devicePixelRatio: 1,
|
|
18
18
|
contextWidth: 0,
|
|
19
19
|
contextHeight: 0,
|
|
20
|
-
data:
|
|
20
|
+
data: { materials: [] },
|
|
21
21
|
scale: 1,
|
|
22
22
|
offsetLeft: 0,
|
|
23
23
|
offsetRight: 0,
|
|
24
24
|
offsetTop: 0,
|
|
25
25
|
offsetBottom: 0,
|
|
26
|
-
|
|
26
|
+
overrideMaterialMap: null,
|
|
27
27
|
};
|
|
28
28
|
export class Sharer {
|
|
29
29
|
constructor() {
|
|
30
30
|
_Sharer_activeStore.set(this, void 0);
|
|
31
31
|
_Sharer_sharedStore.set(this, void 0);
|
|
32
32
|
const activeStore = new Store({
|
|
33
|
-
defaultStorage: defaultActiveStorage
|
|
33
|
+
defaultStorage: defaultActiveStorage,
|
|
34
34
|
});
|
|
35
35
|
const sharedStore = new Store({
|
|
36
|
-
defaultStorage: {}
|
|
36
|
+
defaultStorage: {},
|
|
37
37
|
});
|
|
38
38
|
__classPrivateFieldSet(this, _Sharer_activeStore, activeStore, "f");
|
|
39
39
|
__classPrivateFieldSet(this, _Sharer_sharedStore, sharedStore, "f");
|
|
@@ -62,7 +62,7 @@ export class Sharer {
|
|
|
62
62
|
offsetTop: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('offsetTop'),
|
|
63
63
|
offsetBottom: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('offsetBottom'),
|
|
64
64
|
offsetLeft: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('offsetLeft'),
|
|
65
|
-
offsetRight: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('offsetRight')
|
|
65
|
+
offsetRight: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('offsetRight'),
|
|
66
66
|
};
|
|
67
67
|
return viewScaleInfo;
|
|
68
68
|
}
|
|
@@ -87,15 +87,15 @@ export class Sharer {
|
|
|
87
87
|
height: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('height'),
|
|
88
88
|
devicePixelRatio: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('devicePixelRatio'),
|
|
89
89
|
contextWidth: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('contextWidth'),
|
|
90
|
-
contextHeight: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('contextHeight')
|
|
90
|
+
contextHeight: __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('contextHeight'),
|
|
91
91
|
};
|
|
92
92
|
return sizeInfo;
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
return __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('
|
|
94
|
+
getActiveOverrideMaterialMap() {
|
|
95
|
+
return __classPrivateFieldGet(this, _Sharer_activeStore, "f").get('overrideMaterialMap');
|
|
96
96
|
}
|
|
97
|
-
|
|
98
|
-
__classPrivateFieldGet(this, _Sharer_activeStore, "f").set('
|
|
97
|
+
setActiveOverrideMaterialMap(map) {
|
|
98
|
+
__classPrivateFieldGet(this, _Sharer_activeStore, "f").set('overrideMaterialMap', map);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
_Sharer_activeStore = new WeakMap(), _Sharer_sharedStore = new WeakMap();
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { EventEmitter } from '@idraw/util';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Point, BoardViewer, BoardViewerEventMap, BoardViewerOptions, ViewScaleInfo, ViewSizeInfo, Data } from '@idraw/types';
|
|
3
3
|
export declare class Viewer extends EventEmitter<BoardViewerEventMap> implements BoardViewer {
|
|
4
4
|
#private;
|
|
5
5
|
constructor(opts: BoardViewerOptions);
|
|
6
|
-
|
|
6
|
+
resetVirtualItemMap(data: Data, opts: {
|
|
7
7
|
viewScaleInfo: ViewScaleInfo;
|
|
8
8
|
viewSizeInfo: ViewSizeInfo;
|
|
9
9
|
}): void;
|
|
10
10
|
drawFrame(): void;
|
|
11
11
|
scale(opts: {
|
|
12
12
|
scale: number;
|
|
13
|
-
point:
|
|
13
|
+
point: Point;
|
|
14
14
|
ignoreUpdateVisibleStatus?: boolean;
|
|
15
15
|
}): {
|
|
16
16
|
moveX: number;
|
package/dist/esm/board/viewer.js
CHANGED
|
@@ -22,9 +22,9 @@ export class Viewer extends EventEmitter {
|
|
|
22
22
|
__classPrivateFieldSet(this, _Viewer_opts, opts, "f");
|
|
23
23
|
__classPrivateFieldGet(this, _Viewer_instances, "m", _Viewer_init).call(this);
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
resetVirtualItemMap(data, opts) {
|
|
26
26
|
if (data) {
|
|
27
|
-
__classPrivateFieldGet(this, _Viewer_opts, "f").calculator.
|
|
27
|
+
__classPrivateFieldGet(this, _Viewer_opts, "f").calculator.resetVirtualItemMap(data, opts);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
drawFrame() {
|
|
@@ -33,7 +33,7 @@ export class Viewer extends EventEmitter {
|
|
|
33
33
|
const sharedStore = sharer.getSharedStoreSnapshot();
|
|
34
34
|
__classPrivateFieldGet(this, _Viewer_drawFrameSnapshotQueue, "f").push({
|
|
35
35
|
activeStore,
|
|
36
|
-
sharedStore
|
|
36
|
+
sharedStore,
|
|
37
37
|
});
|
|
38
38
|
__classPrivateFieldGet(this, _Viewer_instances, "m", _Viewer_drawAnimationFrame).call(this);
|
|
39
39
|
}
|
|
@@ -44,13 +44,13 @@ export class Viewer extends EventEmitter {
|
|
|
44
44
|
scale,
|
|
45
45
|
point,
|
|
46
46
|
viewScaleInfo: sharer.getActiveViewScaleInfo(),
|
|
47
|
-
viewSizeInfo: sharer.getActiveViewSizeInfo()
|
|
47
|
+
viewSizeInfo: sharer.getActiveViewSizeInfo(),
|
|
48
48
|
});
|
|
49
49
|
sharer.setActiveStorage('scale', scale);
|
|
50
50
|
if (!ignoreUpdateVisibleStatus) {
|
|
51
51
|
__classPrivateFieldGet(this, _Viewer_opts, "f").calculator.updateVisiableStatus({
|
|
52
52
|
viewScaleInfo: sharer.getActiveViewScaleInfo(),
|
|
53
|
-
viewSizeInfo: sharer.getActiveViewSizeInfo()
|
|
53
|
+
viewSizeInfo: sharer.getActiveViewSizeInfo(),
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
return { moveX, moveY };
|
|
@@ -64,13 +64,13 @@ export class Viewer extends EventEmitter {
|
|
|
64
64
|
moveX,
|
|
65
65
|
moveY,
|
|
66
66
|
viewScaleInfo: prevViewScaleInfo,
|
|
67
|
-
viewSizeInfo
|
|
67
|
+
viewSizeInfo,
|
|
68
68
|
});
|
|
69
69
|
sharer.setActiveViewScaleInfo(viewScaleInfo);
|
|
70
70
|
if (!ignoreUpdateVisibleStatus) {
|
|
71
71
|
__classPrivateFieldGet(this, _Viewer_opts, "f").calculator.updateVisiableStatus({
|
|
72
72
|
viewScaleInfo: sharer.getActiveViewScaleInfo(),
|
|
73
|
-
viewSizeInfo: sharer.getActiveViewSizeInfo()
|
|
73
|
+
viewSizeInfo: sharer.getActiveViewSizeInfo(),
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
return viewScaleInfo;
|
|
@@ -78,12 +78,12 @@ export class Viewer extends EventEmitter {
|
|
|
78
78
|
updateViewScaleInfo(opts) {
|
|
79
79
|
const { sharer } = __classPrivateFieldGet(this, _Viewer_opts, "f");
|
|
80
80
|
const viewScaleInfo = calcViewScaleInfo(opts, {
|
|
81
|
-
viewSizeInfo: sharer.getActiveViewSizeInfo()
|
|
81
|
+
viewSizeInfo: sharer.getActiveViewSizeInfo(),
|
|
82
82
|
});
|
|
83
83
|
sharer.setActiveViewScaleInfo(viewScaleInfo);
|
|
84
84
|
__classPrivateFieldGet(this, _Viewer_opts, "f").calculator.updateVisiableStatus({
|
|
85
85
|
viewScaleInfo: sharer.getActiveViewScaleInfo(),
|
|
86
|
-
viewSizeInfo: sharer.getActiveViewSizeInfo()
|
|
86
|
+
viewSizeInfo: sharer.getActiveViewSizeInfo(),
|
|
87
87
|
});
|
|
88
88
|
return viewScaleInfo;
|
|
89
89
|
}
|
|
@@ -107,7 +107,7 @@ export class Viewer extends EventEmitter {
|
|
|
107
107
|
if (!(opts === null || opts === void 0 ? void 0 : opts.ignoreUpdateVisibleStatus)) {
|
|
108
108
|
__classPrivateFieldGet(this, _Viewer_opts, "f").calculator.updateVisiableStatus({
|
|
109
109
|
viewScaleInfo: sharer.getActiveViewScaleInfo(),
|
|
110
|
-
viewSizeInfo: sharer.getActiveViewSizeInfo()
|
|
110
|
+
viewSizeInfo: sharer.getActiveViewSizeInfo(),
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
113
|
return newViewSize;
|
|
@@ -128,25 +128,25 @@ _Viewer_opts = new WeakMap(), _Viewer_drawFrameSnapshotQueue = new WeakMap(), _V
|
|
|
128
128
|
const snapshot = __classPrivateFieldGet(this, _Viewer_drawFrameSnapshotQueue, "f").shift();
|
|
129
129
|
const { renderer, boardContent, beforeDrawFrame, afterDrawFrame } = __classPrivateFieldGet(this, _Viewer_opts, "f");
|
|
130
130
|
if (snapshot) {
|
|
131
|
-
const { scale, offsetTop, offsetBottom, offsetLeft, offsetRight, width, height, contextHeight, contextWidth, devicePixelRatio } = snapshot.activeStore;
|
|
131
|
+
const { scale, offsetTop, offsetBottom, offsetLeft, offsetRight, width, height, contextHeight, contextWidth, devicePixelRatio, } = snapshot.activeStore;
|
|
132
132
|
const viewScaleInfo = {
|
|
133
133
|
scale,
|
|
134
134
|
offsetTop,
|
|
135
135
|
offsetBottom,
|
|
136
136
|
offsetLeft,
|
|
137
|
-
offsetRight
|
|
137
|
+
offsetRight,
|
|
138
138
|
};
|
|
139
139
|
const viewSizeInfo = {
|
|
140
140
|
width,
|
|
141
141
|
height,
|
|
142
142
|
contextHeight,
|
|
143
143
|
contextWidth,
|
|
144
|
-
devicePixelRatio
|
|
144
|
+
devicePixelRatio,
|
|
145
145
|
};
|
|
146
146
|
if (snapshot === null || snapshot === void 0 ? void 0 : snapshot.activeStore.data) {
|
|
147
147
|
renderer.drawData(snapshot.activeStore.data, {
|
|
148
148
|
viewScaleInfo,
|
|
149
|
-
viewSizeInfo
|
|
149
|
+
viewSizeInfo,
|
|
150
150
|
});
|
|
151
151
|
}
|
|
152
152
|
beforeDrawFrame({ snapshot });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ActionPoint, BoardWatcherEventMap, Data, Material, BoardWatcherOptions } from '@idraw/types';
|
|
2
2
|
import { EventEmitter } from '@idraw/util';
|
|
3
3
|
export declare class BoardWatcher extends EventEmitter<BoardWatcherEventMap> {
|
|
4
4
|
#private;
|
|
@@ -9,7 +9,7 @@ export declare class BoardWatcher extends EventEmitter<BoardWatcherEventMap> {
|
|
|
9
9
|
}
|
|
10
10
|
interface PointResult {
|
|
11
11
|
index: number;
|
|
12
|
-
|
|
12
|
+
material: Material | null;
|
|
13
13
|
}
|
|
14
|
-
export declare function getPointResult(p:
|
|
14
|
+
export declare function getPointResult(p: ActionPoint, data: Data): PointResult;
|
|
15
15
|
export {};
|
|
@@ -9,8 +9,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
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
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _BoardWatcher_instances, _BoardWatcher_opts, _BoardWatcher_store, _BoardWatcher_hasDestroyed, _BoardWatcher_init, _BoardWatcher_onWheel, _BoardWatcher_onContextMenu, _BoardWatcher_onClick, _BoardWatcher_onPointLeave, _BoardWatcher_onPointEnd, _BoardWatcher_onPointMove, _BoardWatcher_onPointStart, _BoardWatcher_onHover, _BoardWatcher_isInTarget, _BoardWatcher_getPoint, _BoardWatcher_isVaildPoint;
|
|
13
|
-
import { EventEmitter, Store } from '@idraw/util';
|
|
12
|
+
var _BoardWatcher_instances, _BoardWatcher_opts, _BoardWatcher_store, _BoardWatcher_hasDestroyed, _BoardWatcher_init, _BoardWatcher_getBoardCanvas, _BoardWatcher_onWheel, _BoardWatcher_onContextMenu, _BoardWatcher_onClick, _BoardWatcher_doubleClick, _BoardWatcher_onPointLeave, _BoardWatcher_onPointEnd, _BoardWatcher_onPointMove, _BoardWatcher_onPointStart, _BoardWatcher_onHover, _BoardWatcher_isInTarget, _BoardWatcher_getPoint, _BoardWatcher_isVaildPoint;
|
|
13
|
+
import { EventEmitter, Store, ATTR_VALID_WATCH, getHTMLElementRectInPage } from '@idraw/util';
|
|
14
14
|
function isBoardAvailableNum(num) {
|
|
15
15
|
return num > 0 || num < 0 || num === 0;
|
|
16
16
|
}
|
|
@@ -22,6 +22,7 @@ export class BoardWatcher extends EventEmitter {
|
|
|
22
22
|
_BoardWatcher_store.set(this, void 0);
|
|
23
23
|
_BoardWatcher_hasDestroyed.set(this, false);
|
|
24
24
|
_BoardWatcher_onWheel.set(this, (e) => {
|
|
25
|
+
const nativeEvent = e;
|
|
25
26
|
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isInTarget).call(this, e)) {
|
|
26
27
|
return;
|
|
27
28
|
}
|
|
@@ -34,13 +35,14 @@ export class BoardWatcher extends EventEmitter {
|
|
|
34
35
|
const deltaX = e.deltaX > 0 || e.deltaX < 0 ? e.deltaX : 0;
|
|
35
36
|
const deltaY = e.deltaY > 0 || e.deltaY < 0 ? e.deltaY : 0;
|
|
36
37
|
if (e.ctrlKey === true && this.has('wheelScale')) {
|
|
37
|
-
this.trigger('wheelScale', { deltaX, deltaY, point });
|
|
38
|
+
this.trigger('wheelScale', { deltaX, deltaY, point, nativeEvent });
|
|
38
39
|
}
|
|
39
40
|
else if (this.has('wheel')) {
|
|
40
|
-
this.trigger('wheel', { deltaX, deltaY, point });
|
|
41
|
+
this.trigger('wheel', { deltaX, deltaY, point, nativeEvent });
|
|
41
42
|
}
|
|
42
43
|
});
|
|
43
44
|
_BoardWatcher_onContextMenu.set(this, (e) => {
|
|
45
|
+
const nativeEvent = e;
|
|
44
46
|
if (e.button !== 2) {
|
|
45
47
|
return;
|
|
46
48
|
}
|
|
@@ -52,9 +54,10 @@ export class BoardWatcher extends EventEmitter {
|
|
|
52
54
|
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isVaildPoint).call(this, point)) {
|
|
53
55
|
return;
|
|
54
56
|
}
|
|
55
|
-
this.trigger('contextMenu', { point });
|
|
57
|
+
this.trigger('contextMenu', { point, nativeEvent });
|
|
56
58
|
});
|
|
57
59
|
_BoardWatcher_onClick.set(this, (e) => {
|
|
60
|
+
const nativeEvent = e;
|
|
58
61
|
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isInTarget).call(this, e)) {
|
|
59
62
|
return;
|
|
60
63
|
}
|
|
@@ -63,35 +66,39 @@ export class BoardWatcher extends EventEmitter {
|
|
|
63
66
|
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isVaildPoint).call(this, point)) {
|
|
64
67
|
return;
|
|
65
68
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
Math.abs(preClickPoint.y - point.y) <= 5) {
|
|
73
|
-
this.trigger('doubleClick', { point });
|
|
69
|
+
this.trigger('click', { point, nativeEvent });
|
|
70
|
+
});
|
|
71
|
+
_BoardWatcher_doubleClick.set(this, (e) => {
|
|
72
|
+
const nativeEvent = e;
|
|
73
|
+
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isInTarget).call(this, e)) {
|
|
74
|
+
return;
|
|
74
75
|
}
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
e.preventDefault();
|
|
77
|
+
const point = __classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_getPoint).call(this, e);
|
|
78
|
+
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isVaildPoint).call(this, point)) {
|
|
79
|
+
return;
|
|
77
80
|
}
|
|
81
|
+
this.trigger('doubleClick', { point, nativeEvent });
|
|
78
82
|
});
|
|
79
83
|
_BoardWatcher_onPointLeave.set(this, (e) => {
|
|
84
|
+
const nativeEvent = e;
|
|
80
85
|
__classPrivateFieldGet(this, _BoardWatcher_store, "f").set('hasPointDown', false);
|
|
81
86
|
e.preventDefault();
|
|
82
87
|
const point = __classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_getPoint).call(this, e);
|
|
83
|
-
this.trigger('pointLeave', { point });
|
|
88
|
+
this.trigger('pointLeave', { point, nativeEvent });
|
|
84
89
|
});
|
|
85
90
|
_BoardWatcher_onPointEnd.set(this, (e) => {
|
|
91
|
+
const nativeEvent = e;
|
|
86
92
|
__classPrivateFieldGet(this, _BoardWatcher_store, "f").set('hasPointDown', false);
|
|
87
93
|
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isInTarget).call(this, e)) {
|
|
88
94
|
return;
|
|
89
95
|
}
|
|
90
96
|
e.preventDefault();
|
|
91
97
|
const point = __classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_getPoint).call(this, e);
|
|
92
|
-
this.trigger('pointEnd', { point });
|
|
98
|
+
this.trigger('pointEnd', { point, nativeEvent });
|
|
93
99
|
});
|
|
94
100
|
_BoardWatcher_onPointMove.set(this, (e) => {
|
|
101
|
+
const nativeEvent = e;
|
|
95
102
|
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isInTarget).call(this, e)) {
|
|
96
103
|
return;
|
|
97
104
|
}
|
|
@@ -100,7 +107,7 @@ export class BoardWatcher extends EventEmitter {
|
|
|
100
107
|
const point = __classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_getPoint).call(this, e);
|
|
101
108
|
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isVaildPoint).call(this, point)) {
|
|
102
109
|
if (__classPrivateFieldGet(this, _BoardWatcher_store, "f").get('hasPointDown')) {
|
|
103
|
-
this.trigger('pointLeave', { point });
|
|
110
|
+
this.trigger('pointLeave', { point, nativeEvent });
|
|
104
111
|
__classPrivateFieldGet(this, _BoardWatcher_store, "f").set('hasPointDown', false);
|
|
105
112
|
}
|
|
106
113
|
return;
|
|
@@ -108,9 +115,10 @@ export class BoardWatcher extends EventEmitter {
|
|
|
108
115
|
if (__classPrivateFieldGet(this, _BoardWatcher_store, "f").get('hasPointDown') !== true) {
|
|
109
116
|
return;
|
|
110
117
|
}
|
|
111
|
-
this.trigger('pointMove', { point });
|
|
118
|
+
this.trigger('pointMove', { point, nativeEvent });
|
|
112
119
|
});
|
|
113
120
|
_BoardWatcher_onPointStart.set(this, (e) => {
|
|
121
|
+
const nativeEvent = e;
|
|
114
122
|
if (e.button !== 0) {
|
|
115
123
|
return;
|
|
116
124
|
}
|
|
@@ -123,9 +131,10 @@ export class BoardWatcher extends EventEmitter {
|
|
|
123
131
|
return;
|
|
124
132
|
}
|
|
125
133
|
__classPrivateFieldGet(this, _BoardWatcher_store, "f").set('hasPointDown', true);
|
|
126
|
-
this.trigger('pointStart', { point });
|
|
134
|
+
this.trigger('pointStart', { point, nativeEvent });
|
|
127
135
|
});
|
|
128
136
|
_BoardWatcher_onHover.set(this, (e) => {
|
|
137
|
+
const nativeEvent = e;
|
|
129
138
|
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isInTarget).call(this, e)) {
|
|
130
139
|
if (__classPrivateFieldGet(this, _BoardWatcher_store, "f").get('inCanvas') === true) {
|
|
131
140
|
__classPrivateFieldGet(this, _BoardWatcher_store, "f").set('inCanvas', false);
|
|
@@ -139,46 +148,49 @@ export class BoardWatcher extends EventEmitter {
|
|
|
139
148
|
if (!__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_isVaildPoint).call(this, point)) {
|
|
140
149
|
return;
|
|
141
150
|
}
|
|
142
|
-
this.trigger('hover', { point });
|
|
151
|
+
this.trigger('hover', { point, nativeEvent });
|
|
143
152
|
});
|
|
144
153
|
const store = new Store({
|
|
145
|
-
defaultStorage: { hasPointDown: false,
|
|
154
|
+
defaultStorage: { hasPointDown: false, inCanvas: true },
|
|
146
155
|
});
|
|
147
156
|
__classPrivateFieldSet(this, _BoardWatcher_store, store, "f");
|
|
148
157
|
__classPrivateFieldSet(this, _BoardWatcher_opts, opts, "f");
|
|
149
158
|
__classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_init).call(this);
|
|
150
159
|
}
|
|
151
160
|
onEvents() {
|
|
161
|
+
var _a;
|
|
152
162
|
if (__classPrivateFieldGet(this, _BoardWatcher_opts, "f").disabled === true) {
|
|
153
163
|
return;
|
|
154
164
|
}
|
|
155
165
|
if (__classPrivateFieldGet(this, _BoardWatcher_hasDestroyed, "f")) {
|
|
156
166
|
return;
|
|
157
167
|
}
|
|
158
|
-
const canvas = __classPrivateFieldGet(this, _BoardWatcher_opts, "f").boardContent.boardContext.canvas;
|
|
159
168
|
const container = window;
|
|
160
|
-
|
|
161
|
-
container.addEventListener('mousedown', __classPrivateFieldGet(this, _BoardWatcher_onPointStart, "f"));
|
|
169
|
+
const innerContainer = ((_a = __classPrivateFieldGet(this, _BoardWatcher_opts, "f")) === null || _a === void 0 ? void 0 : _a.container) || __classPrivateFieldGet(this, _BoardWatcher_opts, "f").boardContent.boardContext.canvas;
|
|
162
170
|
container.addEventListener('mousemove', __classPrivateFieldGet(this, _BoardWatcher_onPointMove, "f"));
|
|
163
171
|
container.addEventListener('mouseup', __classPrivateFieldGet(this, _BoardWatcher_onPointEnd, "f"));
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
172
|
+
innerContainer.addEventListener('mousemove', __classPrivateFieldGet(this, _BoardWatcher_onHover, "f"));
|
|
173
|
+
innerContainer.addEventListener('mousedown', __classPrivateFieldGet(this, _BoardWatcher_onPointStart, "f"));
|
|
174
|
+
innerContainer.addEventListener('wheel', __classPrivateFieldGet(this, _BoardWatcher_onWheel, "f"), { passive: false });
|
|
175
|
+
innerContainer.addEventListener('click', __classPrivateFieldGet(this, _BoardWatcher_onClick, "f"));
|
|
176
|
+
innerContainer.addEventListener('contextmenu', __classPrivateFieldGet(this, _BoardWatcher_onContextMenu, "f"));
|
|
177
|
+
innerContainer.addEventListener('dblclick', __classPrivateFieldGet(this, _BoardWatcher_doubleClick, "f"));
|
|
167
178
|
}
|
|
168
179
|
offEvents() {
|
|
180
|
+
var _a;
|
|
169
181
|
if (__classPrivateFieldGet(this, _BoardWatcher_opts, "f").disabled === true) {
|
|
170
182
|
return;
|
|
171
183
|
}
|
|
172
184
|
const container = window;
|
|
173
|
-
const
|
|
174
|
-
container.removeEventListener('mousemove', __classPrivateFieldGet(this, _BoardWatcher_onHover, "f"));
|
|
175
|
-
container.removeEventListener('mousedown', __classPrivateFieldGet(this, _BoardWatcher_onPointStart, "f"));
|
|
185
|
+
const innerContainer = ((_a = __classPrivateFieldGet(this, _BoardWatcher_opts, "f")) === null || _a === void 0 ? void 0 : _a.container) || __classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_getBoardCanvas).call(this);
|
|
176
186
|
container.removeEventListener('mousemove', __classPrivateFieldGet(this, _BoardWatcher_onPointMove, "f"));
|
|
177
187
|
container.removeEventListener('mouseup', __classPrivateFieldGet(this, _BoardWatcher_onPointEnd, "f"));
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
188
|
+
innerContainer.removeEventListener('mousemove', __classPrivateFieldGet(this, _BoardWatcher_onHover, "f"));
|
|
189
|
+
innerContainer.removeEventListener('mousedown', __classPrivateFieldGet(this, _BoardWatcher_onPointStart, "f"));
|
|
190
|
+
innerContainer.removeEventListener('wheel', __classPrivateFieldGet(this, _BoardWatcher_onWheel, "f"));
|
|
191
|
+
innerContainer.removeEventListener('click', __classPrivateFieldGet(this, _BoardWatcher_onClick, "f"));
|
|
192
|
+
innerContainer.removeEventListener('contextmenu', __classPrivateFieldGet(this, _BoardWatcher_onContextMenu, "f"));
|
|
193
|
+
innerContainer.removeEventListener('dblclick', __classPrivateFieldGet(this, _BoardWatcher_doubleClick, "f"));
|
|
182
194
|
}
|
|
183
195
|
destroy() {
|
|
184
196
|
this.offEvents();
|
|
@@ -186,17 +198,30 @@ export class BoardWatcher extends EventEmitter {
|
|
|
186
198
|
__classPrivateFieldSet(this, _BoardWatcher_hasDestroyed, true, "f");
|
|
187
199
|
}
|
|
188
200
|
}
|
|
189
|
-
_BoardWatcher_opts = new WeakMap(), _BoardWatcher_store = new WeakMap(), _BoardWatcher_hasDestroyed = new WeakMap(), _BoardWatcher_onWheel = new WeakMap(), _BoardWatcher_onContextMenu = new WeakMap(), _BoardWatcher_onClick = new WeakMap(), _BoardWatcher_onPointLeave = new WeakMap(), _BoardWatcher_onPointEnd = new WeakMap(), _BoardWatcher_onPointMove = new WeakMap(), _BoardWatcher_onPointStart = new WeakMap(), _BoardWatcher_onHover = new WeakMap(), _BoardWatcher_instances = new WeakSet(), _BoardWatcher_init = function _BoardWatcher_init() {
|
|
201
|
+
_BoardWatcher_opts = new WeakMap(), _BoardWatcher_store = new WeakMap(), _BoardWatcher_hasDestroyed = new WeakMap(), _BoardWatcher_onWheel = new WeakMap(), _BoardWatcher_onContextMenu = new WeakMap(), _BoardWatcher_onClick = new WeakMap(), _BoardWatcher_doubleClick = new WeakMap(), _BoardWatcher_onPointLeave = new WeakMap(), _BoardWatcher_onPointEnd = new WeakMap(), _BoardWatcher_onPointMove = new WeakMap(), _BoardWatcher_onPointStart = new WeakMap(), _BoardWatcher_onHover = new WeakMap(), _BoardWatcher_instances = new WeakSet(), _BoardWatcher_init = function _BoardWatcher_init() {
|
|
190
202
|
this.onEvents();
|
|
203
|
+
}, _BoardWatcher_getBoardCanvas = function _BoardWatcher_getBoardCanvas() {
|
|
204
|
+
return __classPrivateFieldGet(this, _BoardWatcher_opts, "f").boardContent.boardContext.canvas;
|
|
191
205
|
}, _BoardWatcher_isInTarget = function _BoardWatcher_isInTarget(e) {
|
|
192
|
-
|
|
206
|
+
const $target = e.target;
|
|
207
|
+
if ($target.getAttribute(ATTR_VALID_WATCH) === 'true') {
|
|
208
|
+
return true;
|
|
209
|
+
}
|
|
210
|
+
if ($target !== __classPrivateFieldGet(this, _BoardWatcher_instances, "m", _BoardWatcher_getBoardCanvas).call(this)) {
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
const rect = getHTMLElementRectInPage(__classPrivateFieldGet(this, _BoardWatcher_opts, "f").boardContent.boardContext.canvas);
|
|
214
|
+
return (e.pageX >= rect.pageX &&
|
|
215
|
+
e.pageX <= rect.pageX + rect.width &&
|
|
216
|
+
e.pageY >= rect.pageY &&
|
|
217
|
+
e.pageY <= rect.pageY + rect.height);
|
|
193
218
|
}, _BoardWatcher_getPoint = function _BoardWatcher_getPoint(e) {
|
|
194
219
|
const boardCanvas = __classPrivateFieldGet(this, _BoardWatcher_opts, "f").boardContent.boardContext.canvas;
|
|
195
220
|
const rect = boardCanvas.getBoundingClientRect();
|
|
196
221
|
const p = {
|
|
197
222
|
x: e.clientX - rect.left,
|
|
198
223
|
y: e.clientY - rect.top,
|
|
199
|
-
t: Date.now()
|
|
224
|
+
t: Date.now(),
|
|
200
225
|
};
|
|
201
226
|
return p;
|
|
202
227
|
}, _BoardWatcher_isVaildPoint = function _BoardWatcher_isVaildPoint(p) {
|
|
@@ -210,13 +235,13 @@ _BoardWatcher_opts = new WeakMap(), _BoardWatcher_store = new WeakMap(), _BoardW
|
|
|
210
235
|
export function getPointResult(p, data) {
|
|
211
236
|
const result = {
|
|
212
237
|
index: -1,
|
|
213
|
-
|
|
238
|
+
material: null,
|
|
214
239
|
};
|
|
215
|
-
for (let i = 0; i < data.
|
|
216
|
-
const
|
|
217
|
-
if (p.x >=
|
|
240
|
+
for (let i = 0; i < data.materials.length; i++) {
|
|
241
|
+
const mtrl = data.materials[i];
|
|
242
|
+
if (p.x >= mtrl.x && p.x <= mtrl.x + mtrl.width && p.y >= mtrl.y && p.y <= mtrl.y + mtrl.height) {
|
|
218
243
|
result.index = i;
|
|
219
|
-
result.
|
|
244
|
+
result.material = mtrl;
|
|
220
245
|
break;
|
|
221
246
|
}
|
|
222
247
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Data, Point, CoreOptions, Middleware, ViewSizeInfo, CoreEventMap, ViewScaleInfo, LoadItemMap, MaterialType, RecursivePartial, Material, StrictMaterial, ModifyRecord, MaterialPosition, DataLayout, DataGlobal } from '@idraw/types';
|
|
2
|
+
export declare class Core<E extends CoreEventMap = CoreEventMap> {
|
|
3
|
+
#private;
|
|
4
|
+
constructor(container: HTMLDivElement, opts: CoreOptions);
|
|
5
|
+
isDestroyed(): boolean;
|
|
6
|
+
destroy(): void;
|
|
7
|
+
use<C extends any = any>(middleware: Middleware<any, any, any>, config?: C): void;
|
|
8
|
+
disuse(middleware: Middleware<any, any, any>): void;
|
|
9
|
+
resetMiddlewareConfig<C extends any = any>(middleware: Middleware<any, any, any>, config?: Partial<C>): void;
|
|
10
|
+
setData(data: Data): void;
|
|
11
|
+
getData(): Data | null;
|
|
12
|
+
scale(opts: {
|
|
13
|
+
scale: number;
|
|
14
|
+
point: Point;
|
|
15
|
+
}): void;
|
|
16
|
+
resize(newViewSize: Partial<ViewSizeInfo>): void;
|
|
17
|
+
clear(): void;
|
|
18
|
+
on<T extends keyof E>(name: T, callback: (e: E[T]) => void): void;
|
|
19
|
+
off<T extends keyof E>(name: T, callback: (e: E[T]) => void): void;
|
|
20
|
+
trigger<T extends keyof E>(name: T, e: E[T]): void;
|
|
21
|
+
getViewInfo(): {
|
|
22
|
+
viewSizeInfo: ViewSizeInfo;
|
|
23
|
+
viewScaleInfo: ViewScaleInfo;
|
|
24
|
+
};
|
|
25
|
+
refresh(): void;
|
|
26
|
+
forceRender(): void;
|
|
27
|
+
setViewScale(opts: {
|
|
28
|
+
scale: number;
|
|
29
|
+
offsetX: number;
|
|
30
|
+
offsetY: number;
|
|
31
|
+
}): void;
|
|
32
|
+
getLoadItemMap(): LoadItemMap;
|
|
33
|
+
onBoardWatcherEvents(): void;
|
|
34
|
+
offBoardWatcherEvents(): void;
|
|
35
|
+
createMaterial<T extends MaterialType = MaterialType>(type: T, material: RecursivePartial<StrictMaterial<T>>, opts?: {
|
|
36
|
+
viewCenter?: boolean;
|
|
37
|
+
}): StrictMaterial<T>;
|
|
38
|
+
updateMaterial(material: Material): ModifyRecord<'updateMaterial'> | null;
|
|
39
|
+
modifyMaterial(material: RecursivePartial<Omit<Material, 'id'>> & Pick<Material, 'id'>): ModifyRecord<'modifyMaterial'> | null;
|
|
40
|
+
modifyMaterials(materials: Array<RecursivePartial<Omit<Material, 'id'>> & Pick<Material, 'id'>>): ModifyRecord<'modifyMaterials'> | null;
|
|
41
|
+
addMaterial(material: Material, opts?: {
|
|
42
|
+
position: MaterialPosition;
|
|
43
|
+
}): ModifyRecord<'addMaterial'>;
|
|
44
|
+
deleteMaterial(id: string): ModifyRecord<'deleteMaterial'>;
|
|
45
|
+
moveMaterial(id: string, to: MaterialPosition): ModifyRecord<'moveMaterial'>;
|
|
46
|
+
modifyLayout(layout: RecursivePartial<DataLayout> | null): ModifyRecord<'modifyLayout'>;
|
|
47
|
+
modifyGlobal(global: RecursivePartial<DataGlobal> | null): {
|
|
48
|
+
type: "modifyGlobal";
|
|
49
|
+
time: number;
|
|
50
|
+
content: import("@idraw/types").ModifyContentMap["modifyGlobal"];
|
|
51
|
+
};
|
|
52
|
+
}
|