@netless/forge-slide 1.1.0-beta.1 → 1.1.0-beta.3
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/Slide.d.ts +10 -0
- package/dist/Slide.d.ts.map +1 -1
- package/dist/SlideApplication.d.ts +2 -1
- package/dist/SlideApplication.d.ts.map +1 -1
- package/dist/slide.esm.js +145 -18
- package/dist/slide.esm.js.map +4 -4
- package/dist/slide.js +145 -18
- package/dist/slide.js.map +4 -4
- package/package.json +3 -3
- package/src/Slide.ts +11 -0
- package/src/SlideApplication.ts +31 -23
package/dist/Slide.d.ts
CHANGED
|
@@ -87,5 +87,15 @@ export declare class SlideForge extends EventEmitter<SlideEvents> implements App
|
|
|
87
87
|
width: number;
|
|
88
88
|
height: number;
|
|
89
89
|
}>;
|
|
90
|
+
/**
|
|
91
|
+
* 冻结当前幻灯片, 释放资源
|
|
92
|
+
* @param {() => void} [callback] 冻结完成回调
|
|
93
|
+
*/
|
|
94
|
+
frozen: (callback?: () => void) => void;
|
|
95
|
+
/**
|
|
96
|
+
* 解冻冻结的幻灯片, 重新获取资源
|
|
97
|
+
* @param {() => void} [callback] 解冻完成回调
|
|
98
|
+
*/
|
|
99
|
+
release: (callback?: () => void) => void;
|
|
90
100
|
}
|
|
91
101
|
//# sourceMappingURL=Slide.d.ts.map
|
package/dist/Slide.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slide.d.ts","sourceRoot":"","sources":["../src/Slide.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,MAAM,WAAW,WAAW;IACxB;;;;;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;IAEvC;;;OAGG;IACH,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C;;;OAGG;IACH,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAGD,qBAAa,UAAW,SAAQ,YAAY,CAAC,WAAW,CAAE,YAAW,uBAAuB;IAE1F,SAAgB,IAAI,EAAG,cAAc,CAAC;IACtC,SAAgB,WAAW,EAAG,qBAAqB,CAAC;IACpD,SAAgB,QAAQ,EAAG,cAAc,CAAC;IAC1C,SAAgB,WAAW,EAAG,cAAc,CAAC;IAC7C,SAAgB,MAAM,EAAE,WAAW,GAAG,SAAS,CAAa;IAC5D;;SAEK;IACL,SAAgB,SAAS,EAAG,MAAM,CAAC;IACnC;;SAEK;IACL,SAAgB,SAAS,EAAG,MAAM,CAAC;IACnC;;;SAGK;IACE,IAAI,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;SAEK;IACE,QAAQ,EAAG,MAAM,IAAI,CAAC;IAC7B;;SAEK;IACE,QAAQ,EAAG,MAAM,IAAI,CAAC;IAC7B;;SAEK;IACE,QAAQ,EAAG,MAAM,IAAI,CAAC;IAC7B;;SAEK;IACE,QAAQ,EAAG,MAAM,IAAI,CAAC;IAC7B;;SAEK;IACE,aAAa,EAAG,MAAM,IAAI,CAAC;IAElC;;;SAGK;IACE,UAAU,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD;;;SAGK;IACE,MAAM,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD;;;SAGK;IACE,OAAO,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Slide.d.ts","sourceRoot":"","sources":["../src/Slide.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,MAAM,WAAW,WAAW;IACxB;;;;;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;IAEvC;;;OAGG;IACH,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C;;;OAGG;IACH,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAGD,qBAAa,UAAW,SAAQ,YAAY,CAAC,WAAW,CAAE,YAAW,uBAAuB;IAE1F,SAAgB,IAAI,EAAG,cAAc,CAAC;IACtC,SAAgB,WAAW,EAAG,qBAAqB,CAAC;IACpD,SAAgB,QAAQ,EAAG,cAAc,CAAC;IAC1C,SAAgB,WAAW,EAAG,cAAc,CAAC;IAC7C,SAAgB,MAAM,EAAE,WAAW,GAAG,SAAS,CAAa;IAC5D;;SAEK;IACL,SAAgB,SAAS,EAAG,MAAM,CAAC;IACnC;;SAEK;IACL,SAAgB,SAAS,EAAG,MAAM,CAAC;IACnC;;;SAGK;IACE,IAAI,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;SAEK;IACE,QAAQ,EAAG,MAAM,IAAI,CAAC;IAC7B;;SAEK;IACE,QAAQ,EAAG,MAAM,IAAI,CAAC;IAC7B;;SAEK;IACE,QAAQ,EAAG,MAAM,IAAI,CAAC;IAC7B;;SAEK;IACE,QAAQ,EAAG,MAAM,IAAI,CAAC;IAC7B;;SAEK;IACE,aAAa,EAAG,MAAM,IAAI,CAAC;IAElC;;;SAGK;IACE,UAAU,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD;;;SAGK;IACE,MAAM,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD;;;SAGK;IACE,OAAO,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAE7E;;;SAGK;IACE,MAAM,EAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAChD;;;SAGK;IACE,OAAO,EAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAClD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ISlideConfig } from '@netless/slide';
|
|
2
2
|
import { AbstractApplication } from '@netless/forge-room';
|
|
3
3
|
import { SlideForge } from './Slide';
|
|
4
|
+
import { SlidePool } from './SlidePool';
|
|
4
5
|
export interface SlideApplicationOption {
|
|
5
6
|
prefix: string;
|
|
6
7
|
taskId: string;
|
|
@@ -13,6 +14,7 @@ export interface SlideApplicationOption {
|
|
|
13
14
|
export declare const Slide_APP_NAME = "forge_slide";
|
|
14
15
|
export declare class SlideApplication extends AbstractApplication<SlideApplicationOption, SlideForge> {
|
|
15
16
|
static applicationName: string;
|
|
17
|
+
static slidePool: SlidePool;
|
|
16
18
|
readonly name: string;
|
|
17
19
|
readonly emitter: SlideForge;
|
|
18
20
|
private whiteboardApp;
|
|
@@ -37,7 +39,6 @@ export declare class SlideApplication extends AbstractApplication<SlideApplicati
|
|
|
37
39
|
private getImageUrl;
|
|
38
40
|
private getImageSize;
|
|
39
41
|
private getImageContent;
|
|
40
|
-
private nextTick;
|
|
41
42
|
private applySlideState;
|
|
42
43
|
private onSlideEventHandler;
|
|
43
44
|
private keyBoardEvents;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideApplication.d.ts","sourceRoot":"","sources":["../src/SlideApplication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAW,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"SlideApplication.d.ts","sourceRoot":"","sources":["../src/SlideApplication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAW,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AASD,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAE5C,qBAAa,gBAAiB,SAAQ,mBAAmB,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAE3F,MAAM,CAAC,eAAe,SAAkB;IACxC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAmB;IAE9C,SAAgB,IAAI,EAAE,MAAM,CAAkB;IAC9C,SAAgB,OAAO,EAAE,UAAU,CAAoB;IAEvD,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,gBAAgB,CAAiD;IACzE,OAAO,CAAC,mBAAmB,CAAiD;IAC5E,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,OAAO,CAAC,SAAS,CAAkB;;IAkMnC,OAAO,CAAC,kBAAkB;YAOZ,WAAW;YAIX,YAAY;YAiBZ,eAAe;IAiB7B,OAAO,CAAC,eAAe,CA8BrB;IAEF,OAAO,CAAC,mBAAmB,CAiBzB;IAEF,OAAO,CAAC,cAAc,CAUpB;IAEF,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,mBAAmB;YAIb,eAAe;IAK7B,OAAO,CAAC,iBAAiB;IAKZ,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgMtE,OAAO,CAAC,OAAO;IAIF,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAc3D"}
|
package/dist/slide.esm.js
CHANGED
|
@@ -59376,7 +59376,7 @@ var require_lodash = __commonJS2({
|
|
|
59376
59376
|
var defer = baseRest(function(func, args) {
|
|
59377
59377
|
return baseDelay(func, 1, args);
|
|
59378
59378
|
});
|
|
59379
|
-
var
|
|
59379
|
+
var delay22 = baseRest(function(func, wait, args) {
|
|
59380
59380
|
return baseDelay(func, toNumber(wait) || 0, args);
|
|
59381
59381
|
});
|
|
59382
59382
|
function flip(func) {
|
|
@@ -60490,7 +60490,7 @@ var require_lodash = __commonJS2({
|
|
|
60490
60490
|
lodash.defaults = defaults;
|
|
60491
60491
|
lodash.defaultsDeep = defaultsDeep;
|
|
60492
60492
|
lodash.defer = defer;
|
|
60493
|
-
lodash.delay =
|
|
60493
|
+
lodash.delay = delay22;
|
|
60494
60494
|
lodash.difference = difference;
|
|
60495
60495
|
lodash.differenceBy = differenceBy;
|
|
60496
60496
|
lodash.differenceWith = differenceWith;
|
|
@@ -65179,6 +65179,8 @@ var Camera = class extends EventEmitter7 {
|
|
|
65179
65179
|
this.emit("userViewModeChange", userId, this.requestUserMap(userId).get(WhiteboardKeys.cameraMode), value.oldValue);
|
|
65180
65180
|
}
|
|
65181
65181
|
}
|
|
65182
|
+
} else if (value.action === "delete") {
|
|
65183
|
+
debugger;
|
|
65182
65184
|
}
|
|
65183
65185
|
}
|
|
65184
65186
|
});
|
|
@@ -67514,6 +67516,7 @@ var WhiteboardApplication = class _WhiteboardApplication extends AbstractApplica
|
|
|
67514
67516
|
_WhiteboardApplication.instanceCount.set(this.appId, (_WhiteboardApplication.instanceCount.get(this.appId) ?? 0) + 1);
|
|
67515
67517
|
log4(`whiteboard ${this.appId} initialize. instance count: ${_WhiteboardApplication.instanceCount.get(this.appId) ?? 0}`, {}, "info");
|
|
67516
67518
|
this.appDoc.transact(() => {
|
|
67519
|
+
console.warn("initialize whiteboard application");
|
|
67517
67520
|
this.permissions = new WhiteboardPermissions(this.writableManager, this.userManager, (userId) => {
|
|
67518
67521
|
return this.userMap(userId);
|
|
67519
67522
|
});
|
|
@@ -67642,6 +67645,7 @@ var WhiteboardApplication = class _WhiteboardApplication extends AbstractApplica
|
|
|
67642
67645
|
this.shadowScope.settings.insertItems = false;
|
|
67643
67646
|
this.snapshotCanvasElement.setAttribute("id", `${this.appId}-snapshot`);
|
|
67644
67647
|
this.snapshotScope.setup(this.snapshotCanvasElement);
|
|
67648
|
+
this.snapshotScope.settings.insertItems = false;
|
|
67645
67649
|
this.resizeObserver = new ResizeObserver(() => {
|
|
67646
67650
|
if (this.internalResizeObserver) {
|
|
67647
67651
|
const rootBounds = this.rootElement.getBoundingClientRect();
|
|
@@ -67711,6 +67715,8 @@ var WhiteboardApplication = class _WhiteboardApplication extends AbstractApplica
|
|
|
67711
67715
|
this.rootElement.appendChild(this.liveCursor.container);
|
|
67712
67716
|
this.getMap("attrs").observe(this.handleViewportUpdate);
|
|
67713
67717
|
this.writableManager().on("writableChanged", this.handleWritableChanged);
|
|
67718
|
+
console.warn("initialize whiteboard application end");
|
|
67719
|
+
console.log(this.appDoc.toJSON());
|
|
67714
67720
|
}, "whiteboard-initialize");
|
|
67715
67721
|
}
|
|
67716
67722
|
clearElements() {
|
|
@@ -67971,6 +67977,16 @@ var SlideForge = class extends EventEmitter13 {
|
|
|
67971
67977
|
* @param {number} index 页面索引
|
|
67972
67978
|
*/
|
|
67973
67979
|
imgSize;
|
|
67980
|
+
/**
|
|
67981
|
+
* 冻结当前幻灯片, 释放资源
|
|
67982
|
+
* @param {() => void} [callback] 冻结完成回调
|
|
67983
|
+
*/
|
|
67984
|
+
frozen;
|
|
67985
|
+
/**
|
|
67986
|
+
* 解冻冻结的幻灯片, 重新获取资源
|
|
67987
|
+
* @param {() => void} [callback] 解冻完成回调
|
|
67988
|
+
*/
|
|
67989
|
+
release;
|
|
67974
67990
|
};
|
|
67975
67991
|
|
|
67976
67992
|
// src/ForgeSlidePermession.ts
|
|
@@ -68356,11 +68372,109 @@ function arrayEqual(arr1, arr2) {
|
|
|
68356
68372
|
}
|
|
68357
68373
|
return true;
|
|
68358
68374
|
}
|
|
68375
|
+
async function delay2(time) {
|
|
68376
|
+
return new Promise((resolve) => setTimeout(resolve, time));
|
|
68377
|
+
}
|
|
68378
|
+
|
|
68379
|
+
// src/SlidePool.ts
|
|
68380
|
+
var SlidePool = class {
|
|
68381
|
+
pool = [];
|
|
68382
|
+
maxActiveSize = 2;
|
|
68383
|
+
renderingQueue = [];
|
|
68384
|
+
renderingQueueCallback;
|
|
68385
|
+
constructor(maxActiveSize) {
|
|
68386
|
+
if (maxActiveSize) {
|
|
68387
|
+
this.setMaxActiveSize(maxActiveSize);
|
|
68388
|
+
}
|
|
68389
|
+
}
|
|
68390
|
+
async freeze(poolItem) {
|
|
68391
|
+
return new Promise((resolve, _reject) => {
|
|
68392
|
+
if (!poolItem.slide.view) {
|
|
68393
|
+
resolve(false);
|
|
68394
|
+
} else {
|
|
68395
|
+
poolItem.slide.frozen(() => {
|
|
68396
|
+
resolve(true);
|
|
68397
|
+
});
|
|
68398
|
+
}
|
|
68399
|
+
});
|
|
68400
|
+
}
|
|
68401
|
+
async unfreeze(poolItem) {
|
|
68402
|
+
return new Promise((resolve, _reject) => {
|
|
68403
|
+
if (poolItem.slide.view) {
|
|
68404
|
+
resolve(false);
|
|
68405
|
+
} else {
|
|
68406
|
+
poolItem.slide.release(() => {
|
|
68407
|
+
resolve(true);
|
|
68408
|
+
});
|
|
68409
|
+
}
|
|
68410
|
+
});
|
|
68411
|
+
}
|
|
68412
|
+
async checkPool() {
|
|
68413
|
+
for (let i = 0; i < this.pool.length; i++) {
|
|
68414
|
+
const poolItem = this.pool[i];
|
|
68415
|
+
if (i < this.maxActiveSize) {
|
|
68416
|
+
await this.unfreeze(poolItem);
|
|
68417
|
+
} else {
|
|
68418
|
+
await this.freeze(poolItem);
|
|
68419
|
+
}
|
|
68420
|
+
}
|
|
68421
|
+
}
|
|
68422
|
+
onRenderEnd(appId, isFocus) {
|
|
68423
|
+
const index = this.renderingQueue.findIndex((item) => item === appId);
|
|
68424
|
+
if (index > -1) {
|
|
68425
|
+
this.renderingQueue.splice(index, 1);
|
|
68426
|
+
}
|
|
68427
|
+
if (isFocus) {
|
|
68428
|
+
this.renderingQueueCallback = () => {
|
|
68429
|
+
const poolItem = this.pool.find((item) => item.key === appId);
|
|
68430
|
+
if (poolItem) {
|
|
68431
|
+
this.active(appId, poolItem.slide);
|
|
68432
|
+
}
|
|
68433
|
+
};
|
|
68434
|
+
}
|
|
68435
|
+
if (this.renderingQueue.length === 0 && this.renderingQueueCallback) {
|
|
68436
|
+
this.renderingQueueCallback();
|
|
68437
|
+
}
|
|
68438
|
+
}
|
|
68439
|
+
setMaxActiveSize(maxActiveSize) {
|
|
68440
|
+
this.maxActiveSize = maxActiveSize > 8 ? 8 : maxActiveSize;
|
|
68441
|
+
if (maxActiveSize > 8) {
|
|
68442
|
+
console.warn("maxActiveSize should not be greater than 8");
|
|
68443
|
+
}
|
|
68444
|
+
}
|
|
68445
|
+
async waitUntilReady(appId) {
|
|
68446
|
+
if (this.renderingQueue.length < this.maxActiveSize) {
|
|
68447
|
+
this.renderingQueue.push(appId);
|
|
68448
|
+
return;
|
|
68449
|
+
} else {
|
|
68450
|
+
await delay2(200);
|
|
68451
|
+
await this.waitUntilReady(appId);
|
|
68452
|
+
}
|
|
68453
|
+
}
|
|
68454
|
+
async active(key, slide) {
|
|
68455
|
+
const index = this.pool.findIndex((item) => item.key === key);
|
|
68456
|
+
if (index < 0) {
|
|
68457
|
+
this.pool.unshift({ key, slide });
|
|
68458
|
+
} else {
|
|
68459
|
+
this.pool.splice(index, 1);
|
|
68460
|
+
this.pool.unshift({ key, slide });
|
|
68461
|
+
}
|
|
68462
|
+
await this.checkPool();
|
|
68463
|
+
}
|
|
68464
|
+
remove(key) {
|
|
68465
|
+
const index = this.pool.findIndex((item) => item.key === key);
|
|
68466
|
+
if (index >= 0) {
|
|
68467
|
+
this.pool.splice(index, 1);
|
|
68468
|
+
}
|
|
68469
|
+
}
|
|
68470
|
+
};
|
|
68471
|
+
var slidePool = new SlidePool();
|
|
68359
68472
|
|
|
68360
68473
|
// src/SlideApplication.ts
|
|
68361
68474
|
var Slide_APP_NAME = "forge_slide";
|
|
68362
|
-
var SlideApplication = class extends AbstractApplication2 {
|
|
68475
|
+
var SlideApplication = class _SlideApplication extends AbstractApplication2 {
|
|
68363
68476
|
static applicationName = Slide_APP_NAME;
|
|
68477
|
+
static slidePool = new SlidePool();
|
|
68364
68478
|
name = Slide_APP_NAME;
|
|
68365
68479
|
emitter = new SlideForge();
|
|
68366
68480
|
whiteboardApp;
|
|
@@ -68549,7 +68663,20 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68549
68663
|
return this.getImageSize(pageIndex);
|
|
68550
68664
|
}
|
|
68551
68665
|
});
|
|
68552
|
-
this.
|
|
68666
|
+
Object.defineProperty(this.emitter, "frozen", {
|
|
68667
|
+
writable: false,
|
|
68668
|
+
enumerable: false,
|
|
68669
|
+
value: (callback) => {
|
|
68670
|
+
return this.slide.frozen(callback);
|
|
68671
|
+
}
|
|
68672
|
+
});
|
|
68673
|
+
Object.defineProperty(this.emitter, "release", {
|
|
68674
|
+
writable: false,
|
|
68675
|
+
enumerable: false,
|
|
68676
|
+
value: (callback) => {
|
|
68677
|
+
return this.slide.release(callback);
|
|
68678
|
+
}
|
|
68679
|
+
});
|
|
68553
68680
|
}
|
|
68554
68681
|
getPreviewImageUrl(pageIndex) {
|
|
68555
68682
|
if (pageIndex < 1 || pageIndex > this.slideCount) {
|
|
@@ -68592,24 +68719,17 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68592
68719
|
await kvStore2.setItem(imageUrl, JSON.stringify(preview));
|
|
68593
68720
|
return preview.src;
|
|
68594
68721
|
}
|
|
68595
|
-
nextTick = () => {
|
|
68596
|
-
this.isSyncing = false;
|
|
68597
|
-
requestAnimationFrame(() => {
|
|
68598
|
-
this.applySlideState().catch((error) => {
|
|
68599
|
-
console.error("Error in applySlideState:", error);
|
|
68600
|
-
});
|
|
68601
|
-
});
|
|
68602
|
-
};
|
|
68603
68722
|
applySlideState = async () => {
|
|
68604
68723
|
if (this.isSyncing) {
|
|
68724
|
+
requestAnimationFrame(this.applySlideState);
|
|
68605
68725
|
return;
|
|
68606
68726
|
}
|
|
68607
68727
|
const lastSyncMessage = this.syncMessageQueue.pop();
|
|
68608
68728
|
if (!lastSyncMessage) {
|
|
68609
|
-
return
|
|
68729
|
+
return;
|
|
68610
68730
|
}
|
|
68611
|
-
this.syncMessageQueue = [];
|
|
68612
68731
|
this.isSyncing = true;
|
|
68732
|
+
this.syncMessageQueue = [];
|
|
68613
68733
|
const { state, dispatch } = lastSyncMessage;
|
|
68614
68734
|
let ignoreKeys = void 0;
|
|
68615
68735
|
if (dispatch.type === "mediaPlay" || dispatch.type === "mediaPause" || dispatch.type === "mediaFullscreen") {
|
|
@@ -68617,14 +68737,13 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68617
68737
|
}
|
|
68618
68738
|
if (this.slide.slideState.currentSlideIndex < 0 || state.currentSlideIndex < 0) {
|
|
68619
68739
|
await this.slide.receiveSyncHandler(dispatch);
|
|
68620
|
-
return this.nextTick();
|
|
68621
68740
|
} else if (!deepEqual(this.slide.slideState, state, ignoreKeys)) {
|
|
68622
68741
|
await this.slide.setSlideState(state);
|
|
68623
68742
|
await this.slide.receiveSyncHandler(dispatch);
|
|
68624
68743
|
} else {
|
|
68625
68744
|
this.slide.emit(import_slide.SLIDE_EVENTS.syncReceive, dispatch);
|
|
68626
68745
|
}
|
|
68627
|
-
|
|
68746
|
+
this.isSyncing = false;
|
|
68628
68747
|
};
|
|
68629
68748
|
onSlideEventHandler = async (event) => {
|
|
68630
68749
|
for (const [key, value] of event.changes.keys.entries()) {
|
|
@@ -68663,6 +68782,7 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68663
68782
|
}
|
|
68664
68783
|
async onFocusInstance() {
|
|
68665
68784
|
this.bindKeyBoardEvent();
|
|
68785
|
+
await _SlideApplication.slidePool.active(this.appId, this.slide);
|
|
68666
68786
|
}
|
|
68667
68787
|
onRefocusInstance() {
|
|
68668
68788
|
this.unbindKeyBoardEvent();
|
|
@@ -68712,7 +68832,12 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68712
68832
|
whiteboardApp.linkToWhiteboard(option.inheritWhiteboardId);
|
|
68713
68833
|
}
|
|
68714
68834
|
this.whiteboard.setViewModeToMain();
|
|
68835
|
+
for (let i = 0; i < json.slideCount; i++) {
|
|
68836
|
+
this.whiteboardApp.addPage(String(i), true);
|
|
68837
|
+
}
|
|
68838
|
+
this.whiteboard.setViewModeToFree();
|
|
68715
68839
|
this.slideContainer.setAttribute("builder", "slide-builder");
|
|
68840
|
+
await _SlideApplication.slidePool.waitUntilReady(this.appId);
|
|
68716
68841
|
this.slide = new import_slide.Slide({
|
|
68717
68842
|
...option.options,
|
|
68718
68843
|
interactive: true,
|
|
@@ -68755,8 +68880,7 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68755
68880
|
if (slideIndex >= 0) {
|
|
68756
68881
|
this.sideBar.pauseGetPreviewImageSchedule();
|
|
68757
68882
|
this.whiteboardApp.emitter.view.style.opacity = "0";
|
|
68758
|
-
this.whiteboardApp.emitter.
|
|
68759
|
-
this.whiteboardApp.emitter.gotoPage(`${slideIndex}`);
|
|
68883
|
+
this.whiteboardApp.emitter.gotoPage(String(slideIndex));
|
|
68760
68884
|
this.sideBar.hidden();
|
|
68761
68885
|
this.footer.changeIconToPause();
|
|
68762
68886
|
this.emitter.emit("renderStart", slideIndex);
|
|
@@ -68768,6 +68892,8 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68768
68892
|
this.currentSlideIndex = slideIndex;
|
|
68769
68893
|
this.whiteboardApp.emitter.view.style.opacity = "1";
|
|
68770
68894
|
this.footer.setCurrentPageIndex(slideIndex);
|
|
68895
|
+
_SlideApplication.slidePool.active(this.appId, this.slide);
|
|
68896
|
+
_SlideApplication.slidePool.onRenderEnd(this.appId, this.window?.focused ?? false);
|
|
68771
68897
|
this.footer.changeIconToNextStep();
|
|
68772
68898
|
this.emitter.emit("renderEnd", slideIndex);
|
|
68773
68899
|
}
|
|
@@ -68843,6 +68969,7 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68843
68969
|
this.getMap(this.name).unobserve(this.onSlideEventHandler);
|
|
68844
68970
|
this.permissions.dispose();
|
|
68845
68971
|
this.footer.dispose();
|
|
68972
|
+
_SlideApplication.slidePool.remove(this.appId);
|
|
68846
68973
|
}
|
|
68847
68974
|
};
|
|
68848
68975
|
export {
|