@netless/forge-slide 1.0.10 → 1.1.0-beta.2
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 +2 -2
- 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 +140 -18
- package/dist/slide.esm.js.map +4 -4
- package/dist/slide.js +140 -18
- package/dist/slide.js.map +4 -4
- package/package.json +5 -5
- package/src/Slide.ts +11 -0
- package/src/SlideApplication.ts +34 -28
package/build.mjs
CHANGED
|
@@ -18,14 +18,14 @@ const settings = {
|
|
|
18
18
|
|
|
19
19
|
esbuild.build({
|
|
20
20
|
...settings,
|
|
21
|
-
outfile: 'dist/
|
|
21
|
+
outfile: 'dist/slide.js',
|
|
22
22
|
platform: 'browser',
|
|
23
23
|
format: 'cjs',
|
|
24
24
|
}).then(console.log).catch(console.log);
|
|
25
25
|
|
|
26
26
|
esbuild.build({
|
|
27
27
|
...settings,
|
|
28
|
-
outfile: 'dist/
|
|
28
|
+
outfile: 'dist/slide.esm.js',
|
|
29
29
|
platform: 'browser',
|
|
30
30
|
format: 'esm',
|
|
31
31
|
}).then(console.log).catch(console.log);
|
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;
|
|
@@ -67642,6 +67642,7 @@ var WhiteboardApplication = class _WhiteboardApplication extends AbstractApplica
|
|
|
67642
67642
|
this.shadowScope.settings.insertItems = false;
|
|
67643
67643
|
this.snapshotCanvasElement.setAttribute("id", `${this.appId}-snapshot`);
|
|
67644
67644
|
this.snapshotScope.setup(this.snapshotCanvasElement);
|
|
67645
|
+
this.snapshotScope.settings.insertItems = false;
|
|
67645
67646
|
this.resizeObserver = new ResizeObserver(() => {
|
|
67646
67647
|
if (this.internalResizeObserver) {
|
|
67647
67648
|
const rootBounds = this.rootElement.getBoundingClientRect();
|
|
@@ -67971,6 +67972,16 @@ var SlideForge = class extends EventEmitter13 {
|
|
|
67971
67972
|
* @param {number} index 页面索引
|
|
67972
67973
|
*/
|
|
67973
67974
|
imgSize;
|
|
67975
|
+
/**
|
|
67976
|
+
* 冻结当前幻灯片, 释放资源
|
|
67977
|
+
* @param {() => void} [callback] 冻结完成回调
|
|
67978
|
+
*/
|
|
67979
|
+
frozen;
|
|
67980
|
+
/**
|
|
67981
|
+
* 解冻冻结的幻灯片, 重新获取资源
|
|
67982
|
+
* @param {() => void} [callback] 解冻完成回调
|
|
67983
|
+
*/
|
|
67984
|
+
release;
|
|
67974
67985
|
};
|
|
67975
67986
|
|
|
67976
67987
|
// src/ForgeSlidePermession.ts
|
|
@@ -68356,11 +68367,109 @@ function arrayEqual(arr1, arr2) {
|
|
|
68356
68367
|
}
|
|
68357
68368
|
return true;
|
|
68358
68369
|
}
|
|
68370
|
+
async function delay2(time) {
|
|
68371
|
+
return new Promise((resolve) => setTimeout(resolve, time));
|
|
68372
|
+
}
|
|
68373
|
+
|
|
68374
|
+
// src/SlidePool.ts
|
|
68375
|
+
var SlidePool = class {
|
|
68376
|
+
pool = [];
|
|
68377
|
+
maxActiveSize = 2;
|
|
68378
|
+
renderingQueue = [];
|
|
68379
|
+
renderingQueueCallback;
|
|
68380
|
+
constructor(maxActiveSize) {
|
|
68381
|
+
if (maxActiveSize) {
|
|
68382
|
+
this.setMaxActiveSize(maxActiveSize);
|
|
68383
|
+
}
|
|
68384
|
+
}
|
|
68385
|
+
async freeze(poolItem) {
|
|
68386
|
+
return new Promise((resolve, _reject) => {
|
|
68387
|
+
if (!poolItem.slide.view) {
|
|
68388
|
+
resolve(false);
|
|
68389
|
+
} else {
|
|
68390
|
+
poolItem.slide.frozen(() => {
|
|
68391
|
+
resolve(true);
|
|
68392
|
+
});
|
|
68393
|
+
}
|
|
68394
|
+
});
|
|
68395
|
+
}
|
|
68396
|
+
async unfreeze(poolItem) {
|
|
68397
|
+
return new Promise((resolve, _reject) => {
|
|
68398
|
+
if (poolItem.slide.view) {
|
|
68399
|
+
resolve(false);
|
|
68400
|
+
} else {
|
|
68401
|
+
poolItem.slide.release(() => {
|
|
68402
|
+
resolve(true);
|
|
68403
|
+
});
|
|
68404
|
+
}
|
|
68405
|
+
});
|
|
68406
|
+
}
|
|
68407
|
+
async checkPool() {
|
|
68408
|
+
for (let i = 0; i < this.pool.length; i++) {
|
|
68409
|
+
const poolItem = this.pool[i];
|
|
68410
|
+
if (i < this.maxActiveSize) {
|
|
68411
|
+
await this.unfreeze(poolItem);
|
|
68412
|
+
} else {
|
|
68413
|
+
await this.freeze(poolItem);
|
|
68414
|
+
}
|
|
68415
|
+
}
|
|
68416
|
+
}
|
|
68417
|
+
onRenderEnd(appId, isFocus) {
|
|
68418
|
+
const index = this.renderingQueue.findIndex((item) => item === appId);
|
|
68419
|
+
if (index > -1) {
|
|
68420
|
+
this.renderingQueue.splice(index, 1);
|
|
68421
|
+
}
|
|
68422
|
+
if (isFocus) {
|
|
68423
|
+
this.renderingQueueCallback = () => {
|
|
68424
|
+
const poolItem = this.pool.find((item) => item.key === appId);
|
|
68425
|
+
if (poolItem) {
|
|
68426
|
+
this.active(appId, poolItem.slide);
|
|
68427
|
+
}
|
|
68428
|
+
};
|
|
68429
|
+
}
|
|
68430
|
+
if (this.renderingQueue.length === 0 && this.renderingQueueCallback) {
|
|
68431
|
+
this.renderingQueueCallback();
|
|
68432
|
+
}
|
|
68433
|
+
}
|
|
68434
|
+
setMaxActiveSize(maxActiveSize) {
|
|
68435
|
+
this.maxActiveSize = maxActiveSize > 8 ? 8 : maxActiveSize;
|
|
68436
|
+
if (maxActiveSize > 8) {
|
|
68437
|
+
console.warn("maxActiveSize should not be greater than 8");
|
|
68438
|
+
}
|
|
68439
|
+
}
|
|
68440
|
+
async waitUntilReady(appId) {
|
|
68441
|
+
if (this.renderingQueue.length < this.maxActiveSize) {
|
|
68442
|
+
this.renderingQueue.push(appId);
|
|
68443
|
+
return;
|
|
68444
|
+
} else {
|
|
68445
|
+
await delay2(200);
|
|
68446
|
+
await this.waitUntilReady(appId);
|
|
68447
|
+
}
|
|
68448
|
+
}
|
|
68449
|
+
async active(key, slide) {
|
|
68450
|
+
const index = this.pool.findIndex((item) => item.key === key);
|
|
68451
|
+
if (index < 0) {
|
|
68452
|
+
this.pool.unshift({ key, slide });
|
|
68453
|
+
} else {
|
|
68454
|
+
this.pool.splice(index, 1);
|
|
68455
|
+
this.pool.unshift({ key, slide });
|
|
68456
|
+
}
|
|
68457
|
+
await this.checkPool();
|
|
68458
|
+
}
|
|
68459
|
+
remove(key) {
|
|
68460
|
+
const index = this.pool.findIndex((item) => item.key === key);
|
|
68461
|
+
if (index >= 0) {
|
|
68462
|
+
this.pool.splice(index, 1);
|
|
68463
|
+
}
|
|
68464
|
+
}
|
|
68465
|
+
};
|
|
68466
|
+
var slidePool = new SlidePool();
|
|
68359
68467
|
|
|
68360
68468
|
// src/SlideApplication.ts
|
|
68361
68469
|
var Slide_APP_NAME = "forge_slide";
|
|
68362
|
-
var SlideApplication = class extends AbstractApplication2 {
|
|
68470
|
+
var SlideApplication = class _SlideApplication extends AbstractApplication2 {
|
|
68363
68471
|
static applicationName = Slide_APP_NAME;
|
|
68472
|
+
static slidePool = new SlidePool();
|
|
68364
68473
|
name = Slide_APP_NAME;
|
|
68365
68474
|
emitter = new SlideForge();
|
|
68366
68475
|
whiteboardApp;
|
|
@@ -68549,7 +68658,20 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68549
68658
|
return this.getImageSize(pageIndex);
|
|
68550
68659
|
}
|
|
68551
68660
|
});
|
|
68552
|
-
this.
|
|
68661
|
+
Object.defineProperty(this.emitter, "frozen", {
|
|
68662
|
+
writable: false,
|
|
68663
|
+
enumerable: false,
|
|
68664
|
+
value: (callback) => {
|
|
68665
|
+
return this.slide.frozen(callback);
|
|
68666
|
+
}
|
|
68667
|
+
});
|
|
68668
|
+
Object.defineProperty(this.emitter, "release", {
|
|
68669
|
+
writable: false,
|
|
68670
|
+
enumerable: false,
|
|
68671
|
+
value: (callback) => {
|
|
68672
|
+
return this.slide.release(callback);
|
|
68673
|
+
}
|
|
68674
|
+
});
|
|
68553
68675
|
}
|
|
68554
68676
|
getPreviewImageUrl(pageIndex) {
|
|
68555
68677
|
if (pageIndex < 1 || pageIndex > this.slideCount) {
|
|
@@ -68592,24 +68714,17 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68592
68714
|
await kvStore2.setItem(imageUrl, JSON.stringify(preview));
|
|
68593
68715
|
return preview.src;
|
|
68594
68716
|
}
|
|
68595
|
-
nextTick = () => {
|
|
68596
|
-
this.isSyncing = false;
|
|
68597
|
-
requestAnimationFrame(() => {
|
|
68598
|
-
this.applySlideState().catch((error) => {
|
|
68599
|
-
console.error("Error in applySlideState:", error);
|
|
68600
|
-
});
|
|
68601
|
-
});
|
|
68602
|
-
};
|
|
68603
68717
|
applySlideState = async () => {
|
|
68604
68718
|
if (this.isSyncing) {
|
|
68719
|
+
requestAnimationFrame(this.applySlideState);
|
|
68605
68720
|
return;
|
|
68606
68721
|
}
|
|
68607
68722
|
const lastSyncMessage = this.syncMessageQueue.pop();
|
|
68608
68723
|
if (!lastSyncMessage) {
|
|
68609
|
-
return
|
|
68724
|
+
return;
|
|
68610
68725
|
}
|
|
68611
|
-
this.syncMessageQueue = [];
|
|
68612
68726
|
this.isSyncing = true;
|
|
68727
|
+
this.syncMessageQueue = [];
|
|
68613
68728
|
const { state, dispatch } = lastSyncMessage;
|
|
68614
68729
|
let ignoreKeys = void 0;
|
|
68615
68730
|
if (dispatch.type === "mediaPlay" || dispatch.type === "mediaPause" || dispatch.type === "mediaFullscreen") {
|
|
@@ -68617,14 +68732,13 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68617
68732
|
}
|
|
68618
68733
|
if (this.slide.slideState.currentSlideIndex < 0 || state.currentSlideIndex < 0) {
|
|
68619
68734
|
await this.slide.receiveSyncHandler(dispatch);
|
|
68620
|
-
return this.nextTick();
|
|
68621
68735
|
} else if (!deepEqual(this.slide.slideState, state, ignoreKeys)) {
|
|
68622
68736
|
await this.slide.setSlideState(state);
|
|
68623
68737
|
await this.slide.receiveSyncHandler(dispatch);
|
|
68624
68738
|
} else {
|
|
68625
68739
|
this.slide.emit(import_slide.SLIDE_EVENTS.syncReceive, dispatch);
|
|
68626
68740
|
}
|
|
68627
|
-
|
|
68741
|
+
this.isSyncing = false;
|
|
68628
68742
|
};
|
|
68629
68743
|
onSlideEventHandler = async (event) => {
|
|
68630
68744
|
for (const [key, value] of event.changes.keys.entries()) {
|
|
@@ -68663,6 +68777,7 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68663
68777
|
}
|
|
68664
68778
|
async onFocusInstance() {
|
|
68665
68779
|
this.bindKeyBoardEvent();
|
|
68780
|
+
await _SlideApplication.slidePool.active(this.appId, this.slide);
|
|
68666
68781
|
}
|
|
68667
68782
|
onRefocusInstance() {
|
|
68668
68783
|
this.unbindKeyBoardEvent();
|
|
@@ -68712,7 +68827,12 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68712
68827
|
whiteboardApp.linkToWhiteboard(option.inheritWhiteboardId);
|
|
68713
68828
|
}
|
|
68714
68829
|
this.whiteboard.setViewModeToMain();
|
|
68830
|
+
for (let i = 0; i < json.slideCount; i++) {
|
|
68831
|
+
this.whiteboardApp.addPage(String(i), true);
|
|
68832
|
+
}
|
|
68833
|
+
this.whiteboard.setViewModeToFree();
|
|
68715
68834
|
this.slideContainer.setAttribute("builder", "slide-builder");
|
|
68835
|
+
await _SlideApplication.slidePool.waitUntilReady(this.appId);
|
|
68716
68836
|
this.slide = new import_slide.Slide({
|
|
68717
68837
|
...option.options,
|
|
68718
68838
|
interactive: true,
|
|
@@ -68755,8 +68875,7 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68755
68875
|
if (slideIndex >= 0) {
|
|
68756
68876
|
this.sideBar.pauseGetPreviewImageSchedule();
|
|
68757
68877
|
this.whiteboardApp.emitter.view.style.opacity = "0";
|
|
68758
|
-
this.whiteboardApp.emitter.
|
|
68759
|
-
this.whiteboardApp.emitter.gotoPage(`${slideIndex}`);
|
|
68878
|
+
this.whiteboardApp.emitter.gotoPage(String(slideIndex));
|
|
68760
68879
|
this.sideBar.hidden();
|
|
68761
68880
|
this.footer.changeIconToPause();
|
|
68762
68881
|
this.emitter.emit("renderStart", slideIndex);
|
|
@@ -68768,6 +68887,8 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68768
68887
|
this.currentSlideIndex = slideIndex;
|
|
68769
68888
|
this.whiteboardApp.emitter.view.style.opacity = "1";
|
|
68770
68889
|
this.footer.setCurrentPageIndex(slideIndex);
|
|
68890
|
+
_SlideApplication.slidePool.active(this.appId, this.slide);
|
|
68891
|
+
_SlideApplication.slidePool.onRenderEnd(this.appId, this.window?.focused ?? false);
|
|
68771
68892
|
this.footer.changeIconToNextStep();
|
|
68772
68893
|
this.emitter.emit("renderEnd", slideIndex);
|
|
68773
68894
|
}
|
|
@@ -68843,6 +68964,7 @@ var SlideApplication = class extends AbstractApplication2 {
|
|
|
68843
68964
|
this.getMap(this.name).unobserve(this.onSlideEventHandler);
|
|
68844
68965
|
this.permissions.dispose();
|
|
68845
68966
|
this.footer.dispose();
|
|
68967
|
+
_SlideApplication.slidePool.remove(this.appId);
|
|
68846
68968
|
}
|
|
68847
68969
|
};
|
|
68848
68970
|
export {
|