@netless/forge-imagery-doc 0.1.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.
- package/build.mjs +34 -0
- package/dist/Cont.d.ts +1 -0
- package/dist/Cont.d.ts.map +1 -0
- package/dist/Container.d.ts +16 -0
- package/dist/Container.d.ts.map +1 -0
- package/dist/ContinuousContainer.d.ts +31 -0
- package/dist/ContinuousContainer.d.ts.map +1 -0
- package/dist/FooterView.d.ts +18 -0
- package/dist/FooterView.d.ts.map +1 -0
- package/dist/ImageryDoc.d.ts +57 -0
- package/dist/ImageryDoc.d.ts.map +1 -0
- package/dist/ImageryDocApplication.d.ts +38 -0
- package/dist/ImageryDocApplication.d.ts.map +1 -0
- package/dist/ImageryDocPermissions.d.ts +80 -0
- package/dist/ImageryDocPermissions.d.ts.map +1 -0
- package/dist/InfinityScroll.d.ts +15 -0
- package/dist/InfinityScroll.d.ts.map +1 -0
- package/dist/LazyImage.d.ts +11 -0
- package/dist/LazyImage.d.ts.map +1 -0
- package/dist/SideBarView.d.ts +4 -0
- package/dist/SideBarView.d.ts.map +1 -0
- package/dist/SingleContainer.d.ts +36 -0
- package/dist/SingleContainer.d.ts.map +1 -0
- package/dist/icons.d.ts +6 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/imagery-doc.esm.js +1031 -0
- package/dist/imagery-doc.esm.js.map +7 -0
- package/dist/imagery-doc.js +1064 -0
- package/dist/imagery-doc.js.map +7 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/infinityScrollor.d.ts +5 -0
- package/dist/infinityScrollor.d.ts.map +1 -0
- package/package.json +23 -0
- package/src/Container.ts +17 -0
- package/src/ContinuousContainer.ts +157 -0
- package/src/FooterView.ts +139 -0
- package/src/ImageryDoc.ts +64 -0
- package/src/ImageryDocApplication.ts +225 -0
- package/src/ImageryDocPermissions.ts +159 -0
- package/src/InfinityScroll.ts +55 -0
- package/src/LazyImage.ts +66 -0
- package/src/SingleContainer.ts +248 -0
- package/src/icons.ts +9 -0
- package/src/index.ts +5 -0
- package/tsconfig.json +7 -0
package/build.mjs
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {babelPlugin} from "../../dev/babel-plugin/main.mjs";
|
|
2
|
+
import esbuild from 'esbuild';
|
|
3
|
+
import dtsPlugin from "esbuild-plugin-d.ts";
|
|
4
|
+
|
|
5
|
+
const settings = {
|
|
6
|
+
entryPoints: ['src/index.ts'],
|
|
7
|
+
bundle: true,
|
|
8
|
+
sourcemap: true,
|
|
9
|
+
plugins: [
|
|
10
|
+
// dtsPlugin()
|
|
11
|
+
babelPlugin
|
|
12
|
+
],
|
|
13
|
+
external: [
|
|
14
|
+
"@netless/forge-room",
|
|
15
|
+
"@netless/forge-whiteboard",
|
|
16
|
+
"yjs",
|
|
17
|
+
"eventemitter3",
|
|
18
|
+
"uuid"
|
|
19
|
+
]
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
esbuild.build({
|
|
23
|
+
...settings,
|
|
24
|
+
outfile: 'dist/imagery-doc.js',
|
|
25
|
+
platform: 'browser',
|
|
26
|
+
format: "cjs"
|
|
27
|
+
}).then(console.log).catch(console.log);
|
|
28
|
+
|
|
29
|
+
esbuild.build({
|
|
30
|
+
...settings,
|
|
31
|
+
outfile: 'dist/imagery-doc.esm.js',
|
|
32
|
+
platform: 'browser',
|
|
33
|
+
format: "esm"
|
|
34
|
+
}).then(console.log).catch(console.log);
|
package/dist/Cont.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=Cont.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cont.d.ts","sourceRoot":"","sources":["../src/Cont.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { LazyImage } from "./LazyImage";
|
|
2
|
+
export interface Container {
|
|
3
|
+
readonly view: HTMLDivElement;
|
|
4
|
+
readonly pageIndex: number;
|
|
5
|
+
append(image: LazyImage): void;
|
|
6
|
+
goto(index: number): void;
|
|
7
|
+
init(): void;
|
|
8
|
+
dispose(): void;
|
|
9
|
+
}
|
|
10
|
+
export declare const ContainerKeys: {
|
|
11
|
+
scale: string;
|
|
12
|
+
translateX: string;
|
|
13
|
+
translateY: string;
|
|
14
|
+
pageIndex: string;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=Container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../src/Container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,eAAO,MAAM,aAAa;;;;;CAKzB,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LazyImage } from "./LazyImage";
|
|
2
|
+
import * as Y from "yjs";
|
|
3
|
+
import { WhiteboardApplication } from "@netless/forge-whiteboard";
|
|
4
|
+
import type { ImageryDoc } from "./ImageryDoc";
|
|
5
|
+
import { Container } from "./Container";
|
|
6
|
+
export declare class ContinuousContainer implements Container {
|
|
7
|
+
readonly view: HTMLDivElement;
|
|
8
|
+
private parentView;
|
|
9
|
+
private resizeObserver;
|
|
10
|
+
private images;
|
|
11
|
+
private scroll;
|
|
12
|
+
private map;
|
|
13
|
+
private whiteboardApp;
|
|
14
|
+
private imageDoc;
|
|
15
|
+
private totalHeight;
|
|
16
|
+
private localScale;
|
|
17
|
+
private get translateY();
|
|
18
|
+
private set translateY(value);
|
|
19
|
+
get pageIndex(): number;
|
|
20
|
+
constructor(map: Y.Map<any>, whiteboardApp: WhiteboardApplication, parentView: HTMLDivElement, imageDoc: ImageryDoc);
|
|
21
|
+
init(): void;
|
|
22
|
+
private handleTranslate;
|
|
23
|
+
private handleMapChange;
|
|
24
|
+
goto(index: number): void;
|
|
25
|
+
append(image: LazyImage): void;
|
|
26
|
+
private handleGoto;
|
|
27
|
+
private handleResize;
|
|
28
|
+
private updateSyncedTransform;
|
|
29
|
+
dispose(): void;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ContinuousContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContinuousContainer.d.ts","sourceRoot":"","sources":["../src/ContinuousContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAgB,MAAM,aAAa,CAAC;AAErD,qBAAa,mBAAoB,YAAW,SAAS;IACjD,SAAgB,IAAI,EAAE,cAAc,CAAC;IACrC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,KAAK,UAAU,GAErB;IACD,OAAO,KAAK,UAAU,QAErB;IAED,IAAW,SAAS,IAAI,MAAM,CAQ7B;gBAGG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EACf,aAAa,EAAE,qBAAqB,EACpC,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,UAAU;IAmCjB,IAAI;IAKX,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,eAAe,CAKrB;IAEK,IAAI,CAAC,KAAK,EAAE,MAAM;IAMlB,MAAM,CAAC,KAAK,EAAE,SAAS;YAKhB,UAAU;IAkBxB,OAAO,CAAC,YAAY,CAYnB;IAED,OAAO,CAAC,qBAAqB,CAY5B;IAEM,OAAO;CAIjB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ImageryDoc } from "./ImageryDoc";
|
|
2
|
+
export declare class FooterView {
|
|
3
|
+
readonly root: HTMLDivElement;
|
|
4
|
+
private prevPage;
|
|
5
|
+
private nextPage;
|
|
6
|
+
private sideBarToggle;
|
|
7
|
+
private sideBarContainer;
|
|
8
|
+
private isSlideBarVisible;
|
|
9
|
+
private imageryDoc;
|
|
10
|
+
constructor(imageryDoc: ImageryDoc);
|
|
11
|
+
prevPageState(enable: boolean): void;
|
|
12
|
+
nextPageState(enable: boolean): void;
|
|
13
|
+
private createSpacer;
|
|
14
|
+
private createIcon;
|
|
15
|
+
private createSideBar;
|
|
16
|
+
private handleSideBarClick;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=FooterView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FooterView.d.ts","sourceRoot":"","sources":["../src/FooterView.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAIxC,qBAAa,UAAU;IAEnB,SAAgB,IAAI,EAAE,cAAc,CAAC;IAErC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,gBAAgB,CAAiD;IAEzE,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,UAAU,CAAa;gBAEZ,UAAU,EAAE,UAAU;IAgClC,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAUpC,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAU3C,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,kBAAkB,CAMxB;CACL"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import EventEmitter from "eventemitter3";
|
|
2
|
+
import { ApplicationInstanceType } from "@netless/forge-room";
|
|
3
|
+
import { ImageryDocPermissionFlag, ImageryDocPermissions } from "./ImageryDocPermissions";
|
|
4
|
+
export interface ImageryDocEvents {
|
|
5
|
+
/**
|
|
6
|
+
* 当用户权限变更时触发
|
|
7
|
+
* @param { string } userId 对应 userId
|
|
8
|
+
* @param { ImageryDocPermissionFlag[] } flags 当前权限列表
|
|
9
|
+
* @param { number } value 权限值
|
|
10
|
+
*/
|
|
11
|
+
permissionChange: (userId: string, flags: ImageryDocPermissionFlag[], value: number) => void;
|
|
12
|
+
/**
|
|
13
|
+
* 开始渲染页面时触发
|
|
14
|
+
* @param {number} pageIndex 页面索引
|
|
15
|
+
*/
|
|
16
|
+
renderStart: (pageIndex: number) => void;
|
|
17
|
+
/**
|
|
18
|
+
* 页面渲染完成时触发
|
|
19
|
+
* @param {number} pageIndex 页面索引
|
|
20
|
+
*/
|
|
21
|
+
renderEnd: (pageIndex: number) => void;
|
|
22
|
+
}
|
|
23
|
+
export declare class ImageryDoc extends EventEmitter<ImageryDocEvents> implements ApplicationInstanceType {
|
|
24
|
+
readonly view: HTMLDivElement;
|
|
25
|
+
/**
|
|
26
|
+
* 底部操作栏
|
|
27
|
+
*/
|
|
28
|
+
readonly footView: HTMLDivElement;
|
|
29
|
+
readonly permissions: ImageryDocPermissions;
|
|
30
|
+
/**
|
|
31
|
+
* 当前页面索引, 从 0 开始
|
|
32
|
+
*/
|
|
33
|
+
readonly pageIndex: number;
|
|
34
|
+
/**
|
|
35
|
+
* 总页数
|
|
36
|
+
*/
|
|
37
|
+
readonly pageCount: number;
|
|
38
|
+
/**
|
|
39
|
+
* 切换到参数指定页面, index 从 0 开始
|
|
40
|
+
* @param {number} index 页面索引
|
|
41
|
+
*/
|
|
42
|
+
goto: (index: number) => void;
|
|
43
|
+
/**
|
|
44
|
+
* 获取图片内容, base64 编码
|
|
45
|
+
* @param {number} index 页面索引
|
|
46
|
+
*/
|
|
47
|
+
imgContent: (index: number) => Promise<string>;
|
|
48
|
+
/**
|
|
49
|
+
* 获取图片尺寸
|
|
50
|
+
* @param {number} index 页面索引
|
|
51
|
+
*/
|
|
52
|
+
imgSize: (index: number) => {
|
|
53
|
+
width: number;
|
|
54
|
+
height: number;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=ImageryDoc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageryDoc.d.ts","sourceRoot":"","sources":["../src/ImageryDoc.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAExF,MAAM,WAAW,gBAAgB;IAC7B;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE7F;;;OAGG;IACH,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC;;;OAGG;IACH,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAGD,qBAAa,UAAW,SAAQ,YAAY,CAAC,gBAAgB,CAAE,YAAW,uBAAuB;IAE7F,SAAgB,IAAI,EAAG,cAAc,CAAC;IACtC;;OAEG;IACH,SAAgB,QAAQ,EAAG,cAAc,CAAC;IAC1C,SAAgB,WAAW,EAAG,qBAAqB,CAAC;IAEpD;;OAEG;IACH,SAAgB,SAAS,EAAG,MAAM,CAAC;IACnC;;OAEG;IACH,SAAgB,SAAS,EAAG,MAAM,CAAC;IAEnC;;;OAGG;IACI,IAAI,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC;;;OAGG;IACI,UAAU,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD;;;OAGG;IACI,OAAO,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC;CACvE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { AbstractApplication } from "@netless/forge-room";
|
|
2
|
+
import { ImageryDoc } from "./ImageryDoc";
|
|
3
|
+
export interface ImageryDocOption {
|
|
4
|
+
images: {
|
|
5
|
+
src: string;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}[];
|
|
9
|
+
/**
|
|
10
|
+
* 从指定的白板 id 继承白板权限以及工具栏配置
|
|
11
|
+
*/
|
|
12
|
+
inheritWhiteboardId?: string;
|
|
13
|
+
displayMode: "continuous" | "single";
|
|
14
|
+
}
|
|
15
|
+
export declare const IMAGERY_DOC_APP_NAME = "imagery_doc";
|
|
16
|
+
/**
|
|
17
|
+
* 需用户自行保证 ImageryDocApplication.view 的高宽比一致
|
|
18
|
+
*/
|
|
19
|
+
export declare class ImageryDocApplication extends AbstractApplication<ImageryDocOption, ImageryDoc> {
|
|
20
|
+
static applicationName: string;
|
|
21
|
+
readonly name: string;
|
|
22
|
+
emitter: ImageryDoc;
|
|
23
|
+
private whiteboardApp;
|
|
24
|
+
private whiteboard;
|
|
25
|
+
private container;
|
|
26
|
+
private rootView;
|
|
27
|
+
private contentContainer;
|
|
28
|
+
private whiteboardContainer;
|
|
29
|
+
private footerContainer;
|
|
30
|
+
private permissions;
|
|
31
|
+
private footer;
|
|
32
|
+
private images;
|
|
33
|
+
constructor();
|
|
34
|
+
initialize(option: ImageryDocOption): Promise<void>;
|
|
35
|
+
private userMap;
|
|
36
|
+
dispose(): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=ImageryDocApplication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageryDocApplication.d.ts","sourceRoot":"","sources":["../src/ImageryDocApplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAIxD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAQxC,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;IACJ;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,YAAY,GAAG,QAAQ,CAAC;CACxC;AAED,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAExF,MAAM,CAAC,eAAe,SAAwB;IAE9C,SAAgB,IAAI,EAAE,MAAM,CAAwB;IAE7C,OAAO,EAAE,UAAU,CAAoB;IAE9C,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,gBAAgB,CAAiD;IACzE,OAAO,CAAC,mBAAmB,CAAiD;IAC5E,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAmB;;IA2EpB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4FhE,OAAO,CAAC,OAAO;IAIF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAMxC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { type UserManager } from "@netless/forge-room";
|
|
2
|
+
import EventEmitter from "eventemitter3";
|
|
3
|
+
import * as Y from "yjs";
|
|
4
|
+
export declare enum ImageryDocPermissionFlag {
|
|
5
|
+
/**
|
|
6
|
+
* 没有任何权限, 只能同步他人的操作
|
|
7
|
+
*/
|
|
8
|
+
none = 0,
|
|
9
|
+
/**
|
|
10
|
+
* 可以切换页面
|
|
11
|
+
*/
|
|
12
|
+
switchPage = 1,
|
|
13
|
+
/**
|
|
14
|
+
* 可以操作相机, 包括缩放, 平移
|
|
15
|
+
*/
|
|
16
|
+
camera = 2,
|
|
17
|
+
/**
|
|
18
|
+
* 可以操作侧边栏
|
|
19
|
+
*/
|
|
20
|
+
sideBar = 4,
|
|
21
|
+
/**
|
|
22
|
+
* 拥有所有权限
|
|
23
|
+
*/
|
|
24
|
+
all = 7
|
|
25
|
+
}
|
|
26
|
+
export interface ImageryDocPermissionEvents {
|
|
27
|
+
/**
|
|
28
|
+
* 当用户权限变更时触发
|
|
29
|
+
* @param { string } userId 对应 userId
|
|
30
|
+
* @param { ImageryDocPermissionFlag[] } flags 当前权限列表
|
|
31
|
+
* @param { number } value 权限值
|
|
32
|
+
*/
|
|
33
|
+
change: (userId: string, flags: ImageryDocPermissionFlag[], value: number) => void;
|
|
34
|
+
}
|
|
35
|
+
export declare class ImageryDocPermissions extends EventEmitter<ImageryDocPermissionEvents> {
|
|
36
|
+
private requestUserMap;
|
|
37
|
+
private userManager;
|
|
38
|
+
private observers;
|
|
39
|
+
constructor(userManager: UserManager, requestUserMap: (userId: string) => Y.Map<any>);
|
|
40
|
+
private handleUserLeave;
|
|
41
|
+
private handleUserJoin;
|
|
42
|
+
private addObserve;
|
|
43
|
+
private createModel;
|
|
44
|
+
private handleUserPermissionChange;
|
|
45
|
+
/**
|
|
46
|
+
* 解析权限列表组合
|
|
47
|
+
* @param {number} value - 权限数字值
|
|
48
|
+
* @return {WhiteboardPermissionFlag[]} - 权限列表
|
|
49
|
+
*/
|
|
50
|
+
resolveFlags(value: number): ImageryDocPermissionFlag[];
|
|
51
|
+
/**
|
|
52
|
+
* 获取权限列表组合对应的数值
|
|
53
|
+
* @param { string } userId 不传表示获取自己
|
|
54
|
+
*/
|
|
55
|
+
getPermissionValue(userId?: string): number;
|
|
56
|
+
/**
|
|
57
|
+
* 获取权限列表
|
|
58
|
+
* @param {string=} userId 可选, 不传表示获取自己
|
|
59
|
+
*/
|
|
60
|
+
getPermissionFlags(userId?: string): ImageryDocPermissionFlag[];
|
|
61
|
+
/**
|
|
62
|
+
* 返回对应 userId 是否有相应权限
|
|
63
|
+
* @param {string=} userId 可选, 不传表示返回自己是否有相应权限
|
|
64
|
+
* @param {WhiteboardPermissionFlag} flag
|
|
65
|
+
*/
|
|
66
|
+
hasPermission(flag: ImageryDocPermissionFlag, userId?: string): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* 添加权限
|
|
69
|
+
* @param {WhiteboardPermissionFlag} flag 权限标记
|
|
70
|
+
* @param {string=} userId 可选, 为 userId 添加权限, 不传表示为自己添加权限
|
|
71
|
+
*/
|
|
72
|
+
addPermission(flag: ImageryDocPermissionFlag, userId?: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* 移除权限
|
|
75
|
+
* @param {WhiteboardPermissionFlag} flag 权限标记
|
|
76
|
+
* @param {string=} userId 可选, 为 userId 移除权限, 不传表示为自己移除权限
|
|
77
|
+
*/
|
|
78
|
+
removePermission(flag: ImageryDocPermissionFlag, userId?: string): void;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=ImageryDocPermissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageryDocPermissions.d.ts","sourceRoot":"","sources":["../src/ImageryDocPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,oBAAY,wBAAwB;IAChC;;OAEG;IACH,IAAI,IAAqB;IACzB;;OAEG;IACH,UAAU,IAAqB;IAC/B;;OAEG;IACH,MAAM,IAAqB;IAC3B;;OAEG;IACH,OAAO,IAAqB;IAC5B;;OAEG;IACH,GAAG,IAEiC;CACvC;AAED,MAAM,WAAW,0BAA0B;IACvC;;;;;OAKG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtF;AAED,qBAAa,qBAAsB,SAAQ,YAAY,CAAC,0BAA0B,CAAC;IAE/E,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAA+B;gBAG5C,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAclD,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,0BAA0B;IAWlC;;;;OAIG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAQ9D;;;OAGG;IACI,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAIlD;;;OAGG;IACI,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAKtE;;;;OAIG;IACI,aAAa,CAAC,IAAI,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAI9E;;;;OAIG;IACI,aAAa,CAAC,IAAI,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,MAAM;IAMpE;;;;OAIG;IACI,gBAAgB,CAAC,IAAI,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,MAAM;CAK1E"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import EventEmitter from "eventemitter3";
|
|
2
|
+
interface InfinityScrollEvents {
|
|
3
|
+
scale: (value: number) => void;
|
|
4
|
+
translate: (x: number, y: number) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare class InfinityScroll extends EventEmitter<InfinityScrollEvents> {
|
|
7
|
+
readonly view: HTMLDivElement;
|
|
8
|
+
private lastDelta;
|
|
9
|
+
private lastTriggerTime;
|
|
10
|
+
constructor(view: HTMLDivElement);
|
|
11
|
+
private handleWheel;
|
|
12
|
+
dispose(): void;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=InfinityScroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InfinityScroll.d.ts","sourceRoot":"","sources":["../src/InfinityScroll.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,UAAU,oBAAoB;IAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,oBAAoB,CAAC;IAElE,SAAgB,IAAI,EAAE,cAAc,CAAC;IACrC,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,eAAe,CAAa;gBAEjB,IAAI,EAAE,cAAc;IAMvC,OAAO,CAAC,WAAW,CA8BjB;IAEK,OAAO;CAGjB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class LazyImage {
|
|
2
|
+
readonly view: HTMLDivElement;
|
|
3
|
+
readonly width: number;
|
|
4
|
+
readonly height: number;
|
|
5
|
+
private src;
|
|
6
|
+
constructor(src: string, width: number, height: number);
|
|
7
|
+
scale(scale: number): void;
|
|
8
|
+
getImgContent(): Promise<string>;
|
|
9
|
+
prepare(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=LazyImage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LazyImage.d.ts","sourceRoot":"","sources":["../src/LazyImage.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS;IAElB,SAAgB,IAAI,EAAE,cAAc,CAAC;IACrC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAS;gBAED,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAWtD,KAAK,CAAC,KAAK,EAAE,MAAM;IAOb,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IA0BhC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAYxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SideBarView.d.ts","sourceRoot":"","sources":["../src/SideBarView.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;;CAMvB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { LazyImage } from "./LazyImage";
|
|
2
|
+
import * as Y from "yjs";
|
|
3
|
+
import { WhiteboardApplication } from "@netless/forge-whiteboard";
|
|
4
|
+
import type { ImageryDoc } from "./ImageryDoc";
|
|
5
|
+
import { Container } from "./Container";
|
|
6
|
+
export declare const delay: (value: number) => Promise<unknown>;
|
|
7
|
+
export declare class SingleContainer implements Container {
|
|
8
|
+
readonly view: HTMLDivElement;
|
|
9
|
+
private parentView;
|
|
10
|
+
private resizeObserver;
|
|
11
|
+
private images;
|
|
12
|
+
private currentImage;
|
|
13
|
+
private scroll;
|
|
14
|
+
private map;
|
|
15
|
+
private whiteboardApp;
|
|
16
|
+
private timeoutId;
|
|
17
|
+
private imageDoc;
|
|
18
|
+
private get scale();
|
|
19
|
+
private set scale(value);
|
|
20
|
+
private get translateX();
|
|
21
|
+
private set translateX(value);
|
|
22
|
+
private get translateY();
|
|
23
|
+
private set translateY(value);
|
|
24
|
+
get pageIndex(): number;
|
|
25
|
+
constructor(map: Y.Map<any>, whiteboardApp: WhiteboardApplication, parentView: HTMLDivElement, imageDoc: ImageryDoc);
|
|
26
|
+
init(): void;
|
|
27
|
+
private handleTranslate;
|
|
28
|
+
private handleMapChange;
|
|
29
|
+
goto(index: number): void;
|
|
30
|
+
append(image: LazyImage): void;
|
|
31
|
+
private handleGoto;
|
|
32
|
+
private handleResize;
|
|
33
|
+
private updateSyncedTransform;
|
|
34
|
+
dispose(): void;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=SingleContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleContainer.d.ts","sourceRoot":"","sources":["../src/SingleContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAgB,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,KAAK,UAAW,MAAM,qBAAuD,CAAC;AAU3F,qBAAa,eAAgB,YAAW,SAAS;IAC7C,SAAgB,IAAI,EAAE,cAAc,CAAC;IACrC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAa;IAE7B,OAAO,KAAK,KAAK,GAEhB;IACD,OAAO,KAAK,KAAK,QAEhB;IACD,OAAO,KAAK,UAAU,GAErB;IACD,OAAO,KAAK,UAAU,QAErB;IACD,OAAO,KAAK,UAAU,GAErB;IACD,OAAO,KAAK,UAAU,QAErB;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;gBAGG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EACf,aAAa,EAAE,qBAAqB,EACpC,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,UAAU;IA8CjB,IAAI;IAQX,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,eAAe,CAerB;IAEK,IAAI,CAAC,KAAK,EAAE,MAAM;IAMlB,MAAM,CAAC,KAAK,EAAE,SAAS;YAIhB,UAAU;IAgCxB,OAAO,CAAC,YAAY,CAYnB;IAED,OAAO,CAAC,qBAAqB,CAwB5B;IAEM,OAAO;CAKjB"}
|
package/dist/icons.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,KAAK;yBAJU,MAAM;0BACL,MAAM;qBACX,MAAM;CAM7B,CAAC"}
|