@hmcts/media-viewer 4.1.4 → 4.1.5-srt-rc1
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/assets/sass/settings.scss +0 -4
- package/esm2022/lib/icp/icp-update.service.mjs +5 -2
- package/esm2022/lib/icp/socket.service.mjs +7 -3
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +34 -17
- package/fesm2022/hmcts-media-viewer.mjs +43 -19
- package/fesm2022/hmcts-media-viewer.mjs.map +1 -1
- package/lib/icp/icp-update.service.d.ts.map +1 -1
- package/lib/icp/socket.service.d.ts +2 -1
- package/lib/icp/socket.service.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +5 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,10 @@ export class IcpUpdateService {
|
|
|
8
8
|
}
|
|
9
9
|
joinSession(username, session, token) {
|
|
10
10
|
this.session = session;
|
|
11
|
-
|
|
11
|
+
console.log('Joining Session');
|
|
12
|
+
console.log(this.session);
|
|
13
|
+
console.log('Joining session');
|
|
14
|
+
this.socket.connect(`${session.connectionUrl}?access_token=${token}`, session);
|
|
12
15
|
this.socket.connected().subscribe(isConnected => {
|
|
13
16
|
if (isConnected) {
|
|
14
17
|
this.socket.join({ ...this.session, username });
|
|
@@ -63,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
63
66
|
type: Injectable,
|
|
64
67
|
args: [{ providedIn: 'root' }]
|
|
65
68
|
}], ctorParameters: () => [{ type: i1.SocketService }] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLXVwZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvaWNwL2ljcC11cGRhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQUd6QyxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQW9CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7SUFBSSxDQUFDO0lBRTlDLFdBQVcsQ0FBQyxRQUFnQixFQUFFLE9BQW1CLEVBQUUsS0FBYTtRQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsaUJBQWlCLEtBQUssRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzlDLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsYUFBYTtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUU7WUFDN0MsYUFBYSxFQUFFLGFBQWE7WUFDNUIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQXlCO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRTtZQUMzQyxHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2YsV0FBVyxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3pCLGFBQWEsRUFBRSxTQUFTLENBQUMsUUFBUTtTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQXVCO1FBQ2xDLE1BQU0sTUFBTSxHQUFHO1lBQ2IsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxDQUFDO2tJQW5FVSxnQkFBZ0I7c0lBQWhCLGdCQUFnQixjQURILE1BQU07OzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU29ja2V0U2VydmljZSB9IGZyb20gJy4vc29ja2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNwUGFydGljaXBhbnQsIEljcFNjcmVlblVwZGF0ZSwgSWNwU2Vzc2lvbiB9IGZyb20gJy4vaWNwLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgSWNwRXZlbnRzIH0gZnJvbSAnLi9pY3AuZXZlbnRzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJY3BVcGRhdGVTZXJ2aWNlIHtcblxuICBzZXNzaW9uOiBJY3BTZXNzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc29ja2V0OiBTb2NrZXRTZXJ2aWNlKSB7IH1cblxuICBqb2luU2Vzc2lvbih1c2VybmFtZTogc3RyaW5nLCBzZXNzaW9uOiBJY3BTZXNzaW9uLCB0b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXNzaW9uID0gc2Vzc2lvbjtcbiAgICBjb25zb2xlLmxvZygnSm9pbmluZyBTZXNzaW9uJyk7XG4gICAgY29uc29sZS5sb2codGhpcy5zZXNzaW9uKVxuICAgIGNvbnNvbGUubG9nKCdKb2luaW5nIHNlc3Npb24nKTtcbiAgICB0aGlzLnNvY2tldC5jb25uZWN0KGAke3Nlc3Npb24uY29ubmVjdGlvblVybH0/YWNjZXNzX3Rva2VuPSR7dG9rZW59YCwgc2Vzc2lvbik7XG4gICAgdGhpcy5zb2NrZXQuY29ubmVjdGVkKCkuc3Vic2NyaWJlKGlzQ29ubmVjdGVkID0+IHtcbiAgICAgIGlmIChpc0Nvbm5lY3RlZCkge1xuICAgICAgICB0aGlzLnNvY2tldC5qb2luKHsgLi4udGhpcy5zZXNzaW9uLCB1c2VybmFtZSB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5zb2NrZXQubGlzdGVuKEljcEV2ZW50cy5TRVNTSU9OX0pPSU5FRCk7XG4gIH1cblxuICBsZWF2ZVNlc3Npb24oKSB7XG4gICAgdGhpcy5zb2NrZXQubGVhdmUodGhpcy5zZXNzaW9uKTtcbiAgfVxuXG4gIG5ld1BhcnRpY2lwYW50Sm9pbmVkKCkge1xuICAgIHJldHVybiB0aGlzLnNvY2tldC5saXN0ZW4oSWNwRXZlbnRzLk5FV19QQVJUSUNJUEFOVF9KT0lORUQpO1xuICB9XG5cbiAgY2xpZW50RGlzY29ubmVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLnNvY2tldC5saXN0ZW4oSWNwRXZlbnRzLkNMSUVOVF9ESVNDT05ORUNURUQpO1xuICB9XG5cbiAgcmVtb3ZlUGFydGljaXBhbnQocGFydGljaXBhbnRJZCkge1xuICAgIHRoaXMuc29ja2V0LmVtaXQoSWNwRXZlbnRzLlJFTU9WRV9QQVJUSUNJUEFOVCwge1xuICAgICAgcGFydGljaXBhbnRJZDogcGFydGljaXBhbnRJZCxcbiAgICAgIGNhc2VJZDogdGhpcy5zZXNzaW9uLmNhc2VJZCxcbiAgICAgIGRvY3VtZW50SWQ6IHRoaXMuc2Vzc2lvbi5kb2N1bWVudElkXG4gICAgfSk7XG4gIH1cblxuICBwYXJ0aWNpcGFudExpc3RVcGRhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLnNvY2tldC5saXN0ZW4oSWNwRXZlbnRzLlBBUlRJQ0lQQU5UU19VUERBVEVEKTtcbiAgfVxuXG4gIHVwZGF0ZVByZXNlbnRlcihwcmVzZW50ZXI6IEljcFBhcnRpY2lwYW50KSB7XG4gICAgdGhpcy5zb2NrZXQuZW1pdChJY3BFdmVudHMuVVBEQVRFX1BSRVNFTlRFUiwge1xuICAgICAgLi4udGhpcy5zZXNzaW9uLFxuICAgICAgcHJlc2VudGVySWQ6IHByZXNlbnRlci5pZCxcbiAgICAgIHByZXNlbnRlck5hbWU6IHByZXNlbnRlci51c2VybmFtZVxuICAgIH0pO1xuICB9XG5cbiAgcHJlc2VudGVyVXBkYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zb2NrZXQubGlzdGVuKEljcEV2ZW50cy5QUkVTRU5URVJfVVBEQVRFRCk7XG4gIH1cblxuICB1cGRhdGVTY3JlZW4oc2NyZWVuOiBJY3BTY3JlZW5VcGRhdGUpIHtcbiAgICBjb25zdCB1cGRhdGUgPSB7XG4gICAgICBib2R5OiBzY3JlZW4sXG4gICAgICBjYXNlSWQ6IHRoaXMuc2Vzc2lvbi5jYXNlSWQsXG4gICAgICBkb2N1bWVudElkOiB0aGlzLnNlc3Npb24uZG9jdW1lbnRJZFxuICAgIH07XG4gICAgdGhpcy5zb2NrZXQuZW1pdChJY3BFdmVudHMuVVBEQVRFX1NDUkVFTiwgdXBkYXRlKTtcbiAgfVxuXG4gIHNjcmVlblVwZGF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc29ja2V0Lmxpc3RlbihJY3BFdmVudHMuU0NSRUVOX1VQREFURUQpO1xuICB9XG59XG4iXX0=
|
|
@@ -15,8 +15,12 @@ export class SocketService {
|
|
|
15
15
|
ngOnDestroy() {
|
|
16
16
|
this.subscription.unsubscribe();
|
|
17
17
|
}
|
|
18
|
-
connect(url) {
|
|
19
|
-
|
|
18
|
+
connect(url, session) {
|
|
19
|
+
const socketUrl = new URL(url);
|
|
20
|
+
socketUrl.searchParams.append('sessionId', `${session.sessionId}`);
|
|
21
|
+
socketUrl.searchParams.append('caseId', `${session.caseId}`);
|
|
22
|
+
socketUrl.searchParams.append('documentId', `${session.documentId}`);
|
|
23
|
+
return this.getSocketClient(socketUrl.toString()).subscribe((socket) => {
|
|
20
24
|
socket.onopen = (event) => {
|
|
21
25
|
this.connected$.next(true);
|
|
22
26
|
};
|
|
@@ -116,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
116
120
|
type: Injectable,
|
|
117
121
|
args: [{ providedIn: 'root' }]
|
|
118
122
|
}], ctorParameters: () => [] });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9pY3Avc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFvQixFQUFFLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUl6QyxNQUFNLE9BQU8sYUFBYTtJQVl4QjtRQVJBLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqRCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDckMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN4Qyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzFDLHdCQUFtQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDMUMsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM1QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFckIsQ0FBQztJQUVqQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQWlCLEVBQUUsRUFBRTtZQUUvRCxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQztZQUVGLE1BQU0sQ0FB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QUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSWNwRXZlbnRzIH0gZnJvbSAnLi9pY3AuZXZlbnRzJztcbmltcG9ydCB7IEljcFBhcnRpY2lwYW50IH0gZnJvbSAnLi9pY3AuaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU29ja2V0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzb2NrZXQ6IFdlYlNvY2tldDtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNvbm5lY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgc2Vzc2lvbkpvaW5lZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcmVzZW50ZXJVcGRhdGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGNsaWVudERpc2Nvbm5lY3RlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwYXJ0aWNpcGFudFVwZGF0ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgbmV3UGFydGljaXBhbnRKb2luZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgc2NyZWVuVXBkYXRlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNvbm5lY3QodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTb2NrZXRDbGllbnQodXJsKS5zdWJzY3JpYmUoKHNvY2tldDogV2ViU29ja2V0KSA9PiB7XG5cbiAgICAgIHNvY2tldC5vbm9wZW4gPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkJC5uZXh0KHRydWUpO1xuICAgICAgfTtcblxuICAgICAgc29ja2V0Lm9ubWVzc2FnZSA9IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdvbm1lc3NhZ2UnKTtcbiAgICAgICAgY29uc3QgZXZlbnREYXRhID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTtcbiAgICAgICAgaWYgKGV2ZW50RGF0YS5kYXRhICYmIGV2ZW50RGF0YS5kYXRhLmV2ZW50TmFtZSkge1xuICAgICAgICAgIHRoaXMubWVzc2FnZUV2ZW50SGFuZGxsZXIoZXZlbnREYXRhLmRhdGEuZXZlbnROYW1lLCBldmVudERhdGEuZGF0YS5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgc29ja2V0Lm9uZXJyb3IgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdvbmVycm9yJyk7XG4gICAgICB9O1xuXG4gICAgICBzb2NrZXQub25jbG9zZSA9IChldmVudDogQ2xvc2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnb25jbG9zZScpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbm5lY3RlZCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgam9pbihzZXNzaW9uKSB7XG4gICAgdGhpcy5lbWl0KEljcEV2ZW50cy5TRVNTSU9OX0pPSU4sIHNlc3Npb24pO1xuICB9XG5cbiAgbGVhdmUoc2Vzc2lvbikge1xuICAgIHRoaXMuZW1pdChJY3BFdmVudHMuU0VTU0lPTl9MRUFWRSwgc2Vzc2lvbik7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGVtaXQoZXZlbnQ6IHN0cmluZywgZGF0YTogYW55KSB7XG4gICAgdGhpcy5zb2NrZXQuc2VuZChKU09OLnN0cmluZ2lmeSh7XG4gICAgICB0eXBlOiAnZXZlbnQnLFxuICAgICAgZXZlbnQsXG4gICAgICBkYXRhXG4gICAgfSkpO1xuICB9XG5cbiAgbGlzdGVuKGV2ZW50OiBJY3BFdmVudHMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgIGNhc2UgSWNwRXZlbnRzLlNFU1NJT05fSk9JTkVEOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb25Kb2luZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuUFJFU0VOVEVSX1VQREFURUQ6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlc2VudGVyVXBkYXRlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5DTElFTlRfRElTQ09OTkVDVEVEOiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNsaWVudERpc2Nvbm5lY3RlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5QQVJUSUNJUEFOVFNfVVBEQVRFRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJ0aWNpcGFudFVwZGF0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuTkVXX1BBUlRJQ0lQQU5UX0pPSU5FRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXdQYXJ0aWNpcGFudEpvaW5lZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5TQ1JFRU5fVVBEQVRFRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JlZW5VcGRhdGVkJC5hc09ic2VydmFibGUoKTtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbWVzc2FnZUV2ZW50SGFuZGxsZXIoZXZlbnROYW1lOiBzdHJpbmcsIGRhdGE6IGFueSkge1xuICAgIHN3aXRjaCAoZXZlbnROYW1lKSB7XG4gICAgICBjYXNlIEljcEV2ZW50cy5TRVNTSU9OX0pPSU5FRDoge1xuICAgICAgICB0aGlzLnNlc3Npb25Kb2luZWQkLm5leHQoZGF0YSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuUFJFU0VOVEVSX1VQREFURUQ6IHtcbiAgICAgICAgdGhpcy5wcmVzZW50ZXJVcGRhdGVkJC5uZXh0KGRhdGEpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgSWNwRXZlbnRzLkNMSUVOVF9ESVNDT05ORUNURUQ6IHtcbiAgICAgICAgdGhpcy5jbGllbnREaXNjb25uZWN0ZWQkLm5leHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5QQVJUSUNJUEFOVFNfVVBEQVRFRDoge1xuICAgICAgICB0aGlzLnBhcnRpY2lwYW50VXBkYXRlZCQubmV4dChkYXRhKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5ORVdfUEFSVElDSVBBTlRfSk9JTkVEOiB7XG4gICAgICAgIHRoaXMubmV3UGFydGljaXBhbnRKb2luZWQkLm5leHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5TQ1JFRU5fVVBEQVRFRDoge1xuICAgICAgICB0aGlzLnNjcmVlblVwZGF0ZWQkLm5leHQoZGF0YSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFNvY2tldENsaWVudCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8V2ViU29ja2V0PiB7XG4gICAgdGhpcy5zb2NrZXQgPSBuZXcgV2ViU29ja2V0KHVybCwgJ2pzb24ud2VicHVic3ViLmF6dXJlLnYxJyk7XG4gICAgcmV0dXJuIG9mKHRoaXMuc29ja2V0KTtcbiAgfVxufVxuIl19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9pY3Avc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFvQixFQUFFLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUl6QyxNQUFNLE9BQU8sYUFBYTtJQVl4QjtRQVJBLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqRCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDckMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN4Qyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzFDLHdCQUFtQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDMUMsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM1QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFckIsQ0FBQztJQUVqQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxPQUFtQjtRQUN0QyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNuRSxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUMs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LENBQUMsQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFXO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDLENBQUM7UUFDNUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7a0lBOUhVLGFBQWE7c0lBQWIsYUFBYSxjQURBLE1BQU07OzRGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJY3BFdmVudHMgfSBmcm9tICcuL2ljcC5ldmVudHMnO1xuaW1wb3J0IHsgSWNwUGFydGljaXBhbnQsIEljcFNlc3Npb24gfSBmcm9tICcuL2ljcC5pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTb2NrZXRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHNvY2tldDogV2ViU29ja2V0O1xuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgY29ubmVjdGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBzZXNzaW9uSm9pbmVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByZXNlbnRlclVwZGF0ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgY2xpZW50RGlzY29ubmVjdGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHBhcnRpY2lwYW50VXBkYXRlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBuZXdQYXJ0aWNpcGFudEpvaW5lZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBzY3JlZW5VcGRhdGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgY29ubmVjdCh1cmw6IHN0cmluZywgc2Vzc2lvbjogSWNwU2Vzc2lvbikge1xuICAgIGNvbnN0IHNvY2tldFVybCA9IG5ldyBVUkwodXJsKTtcbiAgICBzb2NrZXRVcmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc2Vzc2lvbklkJywgYCR7c2Vzc2lvbi5zZXNzaW9uSWR9YCk7XG4gICAgc29ja2V0VXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Nhc2VJZCcsIGAke3Nlc3Npb24uY2FzZUlkfWApO1xuICAgIHNvY2tldFVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkb2N1bWVudElkJywgYCR7c2Vzc2lvbi5kb2N1bWVudElkfWApO1xuICAgIHJldHVybiB0aGlzLmdldFNvY2tldENsaWVudChzb2NrZXRVcmwudG9TdHJpbmcoKSkuc3Vic2NyaWJlKChzb2NrZXQ6IFdlYlNvY2tldCkgPT4ge1xuXG4gICAgICBzb2NrZXQub25vcGVuID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmNvbm5lY3RlZCQubmV4dCh0cnVlKTtcbiAgICAgIH07XG5cbiAgICAgIHNvY2tldC5vbm1lc3NhZ2UgPSAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnb25tZXNzYWdlJyk7XG4gICAgICAgIGNvbnN0IGV2ZW50RGF0YSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7XG4gICAgICAgIGlmIChldmVudERhdGEuZGF0YSAmJiBldmVudERhdGEuZGF0YS5ldmVudE5hbWUpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VFdmVudEhhbmRsbGVyKGV2ZW50RGF0YS5kYXRhLmV2ZW50TmFtZSwgZXZlbnREYXRhLmRhdGEuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHNvY2tldC5vbmVycm9yID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnb25lcnJvcicpO1xuICAgICAgfTtcblxuICAgICAgc29ja2V0Lm9uY2xvc2UgPSAoZXZlbnQ6IENsb3NlRXZlbnQpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ29uY2xvc2UnKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBjb25uZWN0ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGVkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGpvaW4oc2Vzc2lvbikge1xuICAgIHRoaXMuZW1pdChJY3BFdmVudHMuU0VTU0lPTl9KT0lOLCBzZXNzaW9uKTtcbiAgfVxuXG4gIGxlYXZlKHNlc3Npb24pIHtcbiAgICB0aGlzLmVtaXQoSWNwRXZlbnRzLlNFU1NJT05fTEVBVkUsIHNlc3Npb24pO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBlbWl0KGV2ZW50OiBzdHJpbmcsIGRhdGE6IGFueSkge1xuICAgIHRoaXMuc29ja2V0LnNlbmQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgdHlwZTogJ2V2ZW50JyxcbiAgICAgIGV2ZW50LFxuICAgICAgZGF0YVxuICAgIH0pKTtcbiAgfVxuXG4gIGxpc3RlbihldmVudDogSWNwRXZlbnRzKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBzd2l0Y2ggKGV2ZW50KSB7XG4gICAgICBjYXNlIEljcEV2ZW50cy5TRVNTSU9OX0pPSU5FRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uSm9pbmVkJC5hc09ic2VydmFibGUoKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgSWNwRXZlbnRzLlBSRVNFTlRFUl9VUERBVEVEOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZXNlbnRlclVwZGF0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuQ0xJRU5UX0RJU0NPTk5FQ1RFRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5jbGllbnREaXNjb25uZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuUEFSVElDSVBBTlRTX1VQREFURUQ6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFydGljaXBhbnRVcGRhdGVkJC5hc09ic2VydmFibGUoKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgSWNwRXZlbnRzLk5FV19QQVJUSUNJUEFOVF9KT0lORUQ6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmV3UGFydGljaXBhbnRKb2luZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuU0NSRUVOX1VQREFURUQ6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2NyZWVuVXBkYXRlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG1lc3NhZ2VFdmVudEhhbmRsbGVyKGV2ZW50TmFtZTogc3RyaW5nLCBkYXRhOiBhbnkpIHtcbiAgICBzd2l0Y2ggKGV2ZW50TmFtZSkge1xuICAgICAgY2FzZSBJY3BFdmVudHMuU0VTU0lPTl9KT0lORUQ6IHtcbiAgICAgICAgdGhpcy5zZXNzaW9uSm9pbmVkJC5uZXh0KGRhdGEpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgSWNwRXZlbnRzLlBSRVNFTlRFUl9VUERBVEVEOiB7XG4gICAgICAgIHRoaXMucHJlc2VudGVyVXBkYXRlZCQubmV4dChkYXRhKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5DTElFTlRfRElTQ09OTkVDVEVEOiB7XG4gICAgICAgIHRoaXMuY2xpZW50RGlzY29ubmVjdGVkJC5uZXh0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuUEFSVElDSVBBTlRTX1VQREFURUQ6IHtcbiAgICAgICAgdGhpcy5wYXJ0aWNpcGFudFVwZGF0ZWQkLm5leHQoZGF0YSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuTkVXX1BBUlRJQ0lQQU5UX0pPSU5FRDoge1xuICAgICAgICB0aGlzLm5ld1BhcnRpY2lwYW50Sm9pbmVkJC5uZXh0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuU0NSRUVOX1VQREFURUQ6IHtcbiAgICAgICAgdGhpcy5zY3JlZW5VcGRhdGVkJC5uZXh0KGRhdGEpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRTb2NrZXRDbGllbnQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFdlYlNvY2tldD4ge1xuICAgIHRoaXMuc29ja2V0ID0gbmV3IFdlYlNvY2tldCh1cmwsICdqc29uLndlYnB1YnN1Yi5henVyZS52MScpO1xuICAgIHJldHVybiBvZih0aGlzLnNvY2tldCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -41,6 +41,11 @@ export class PdfJsWrapper {
|
|
|
41
41
|
this.toolbarEvents.searchResultsCountSubject.next(result);
|
|
42
42
|
});
|
|
43
43
|
this.zoomValue = 1;
|
|
44
|
+
this.redactionPages = [];
|
|
45
|
+
// Subscribe to redactionMode changes and run a function when it changes
|
|
46
|
+
this.toolbarEvents.redactionMode.subscribe((redactionModeValue) => {
|
|
47
|
+
this.onRedactionModeChanged(redactionModeValue);
|
|
48
|
+
});
|
|
44
49
|
}
|
|
45
50
|
sendSearchDetails(event) {
|
|
46
51
|
if (event.state !== FindState.PENDING) {
|
|
@@ -58,29 +63,41 @@ export class PdfJsWrapper {
|
|
|
58
63
|
// in the event a user fast scrolls or navigates to a specific page,
|
|
59
64
|
// we need to render the missing pages so redaction box is in right place
|
|
60
65
|
drawMissingPages(e) {
|
|
66
|
+
const redactionMode = this.toolbarEvents.redactionMode.getValue();
|
|
61
67
|
const { pageNumber, previous: previousPageNumber } = e;
|
|
62
|
-
if (!previousPageNumber) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
if (pageNumber < previousPageNumber) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
const pageDelta = Math.abs(pageNumber - previousPageNumber);
|
|
69
|
-
if (pageDelta <= 1) {
|
|
68
|
+
if (!previousPageNumber || pageNumber < previousPageNumber || Math.abs(pageNumber - previousPageNumber) <= 1) {
|
|
70
69
|
return;
|
|
71
70
|
}
|
|
72
71
|
const start = previousPageNumber + 1;
|
|
73
72
|
const end = pageNumber;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
page.draw();
|
|
73
|
+
// if the redaction mode is on render the pages now
|
|
74
|
+
if (redactionMode) {
|
|
75
|
+
for (let i = start; i < end; i++) {
|
|
76
|
+
const page = this.pdfViewer._pages[i - 1];
|
|
77
|
+
if (page && !page.renderingState) {
|
|
78
|
+
page.draw();
|
|
79
|
+
}
|
|
82
80
|
}
|
|
83
81
|
}
|
|
82
|
+
else {
|
|
83
|
+
// keep track of pages as if a user skips to a page we need to render all the missing pages
|
|
84
|
+
console.log('Adding redaction pages to queue:', start, end);
|
|
85
|
+
this.redactionPages.push({ start, end });
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
onRedactionModeChanged(redactionMode) {
|
|
89
|
+
if (redactionMode && this.redactionPages.length) {
|
|
90
|
+
this.redactionPages.forEach(({ start, end }) => {
|
|
91
|
+
console.log('Drawing redaction pages from queue:', start, end);
|
|
92
|
+
for (let i = start; i < end; i++) {
|
|
93
|
+
const page = this.pdfViewer._pages[i - 1];
|
|
94
|
+
if (page && !page.renderingState) {
|
|
95
|
+
page.draw();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
this.redactionPages = [];
|
|
100
|
+
}
|
|
84
101
|
}
|
|
85
102
|
emitDocumentInfo(e) {
|
|
86
103
|
const allPages = [...this.pdfViewer._pages].map(page => {
|
|
@@ -246,4 +263,4 @@ export class PdfJsWrapper {
|
|
|
246
263
|
return this.documentTitle;
|
|
247
264
|
}
|
|
248
265
|
}
|
|
249
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWpzLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLWpzL3BkZi1qcy13cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBbUIsY0FBYyxFQUFhLE1BQU0sK0JBQStCLENBQUM7QUFDM0YsT0FBTyw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLDBCQUEwQixDQUFDO0FBS2xDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsaUNBQWlDLENBQUM7QUFFeEU7O0dBRUc7QUFDSCxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWiwyQ0FBUyxDQUFBO0lBQ1QsbURBQWEsQ0FBQTtJQUNiLCtDQUFXLENBQUE7SUFDWCwrQ0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2I7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQU12QixZQUNtQixTQUFvQixFQUNwQixlQUFnQyxFQUNoQyxhQUFrQyxFQUNuQyxnQkFBaUMsRUFDakMsb0JBQW1ELEVBQ25ELGNBQTRCLEVBQzVCLGFBQWlDLEVBQ2pDLGtCQUFrQyxFQUNsQyxZQUFrQyxFQUNsQyxlQUFtRDtRQVRsRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQStCO1FBQ25ELG1CQUFjLEdBQWQsY0FBYyxDQUFjO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWdCO1FBQ2xDLGlCQUFZLEdB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QUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxhQUFhLENBQUMsUUFBZ0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7SUFDakQsQ0FBQztJQUVNLDBCQUEwQjtRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7SUFDM0MsQ0FBQztJQUVNLGtCQUFrQixDQUFDLEtBQWE7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3V0bGluZSB9IGZyb20gJy4vLi4vc2lkZS1iYXIvb3V0bGluZS1pdGVtL291dGxpbmUubW9kZWwnO1xuaW1wb3J0IHsgUmVkYWN0aW9uU2VhcmNoIH0gZnJvbSAnLi8uLi8uLi8uLi90b29sYmFyL3JlZGFjdGlvbi1zZWFyY2gtYmFyL3JlZGFjdGlvbi1zZWFyY2gubW9kZWwnO1xuaW1wb3J0ICogYXMgcGRmanMgZnJvbSAncGRmanMtZGlzdCc7XG5pbXBvcnQgeyBEb3dubG9hZE1hbmFnZXIsIFBERkxpbmtTZXJ2aWNlLCBQREZWaWV3ZXIgfSBmcm9tICdwZGZqcy1kaXN0L3dlYi9wZGZfdmlld2VyLm1qcyc7XG5pbXBvcnQgJ3BkZmpzLWRpc3QvYnVpbGQvcGRmLndvcmtlcic7XG5pbXBvcnQgJ3BkZmpzLWRpc3QvYnVpbGQvcGRmLm1qcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWFyY2hPcGVyYXRpb24sIFNlYXJjaFJlc3VsdHNDb3VudCwgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFBkZlBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvZG9jdW1lbnQucmVkdWNlcic7XG5cbnBkZmpzLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjID0gJy9hc3NldHMvYnVpbGQvcGRmLndvcmtlci5taW4uanMnO1xuXG4vKipcbiAqIFZhbHVlcyBvZiB0aGUgc3RhdGUgZmllbGQgcmV0dXJuZWQgYnkgdGhlIGZpbmQgZXZlbnRzXG4gKi9cbmVudW0gRmluZFN0YXRlIHtcbiAgRk9VTkQgPSAwLFxuICBOT1RfRk9VTkQgPSAxLFxuICBXUkFQUEVEID0gMixcbiAgUEVORElORyA9IDMsXG59XG5cbmV4cG9ydCBjbGFzcyBQZGZKc1dyYXBwZXIge1xuXG4gIHByaXZhdGUgem9vbVZhbHVlOiBudW1iZXI7XG4gIHByaXZhdGUgZG9jdW1lbnRUaXRsZTogc3RyaW5nO1xuICBwcml2YXRlIGRvY3VtZW50T3V0bGluZTogT3V0bGluZVtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGRmVmlld2VyOiBQREZWaWV3ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb3dubG9hZE1hbmFnZXI6IERvd25sb2FkTWFuYWdlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50TG9hZEluaXQ6IFN1YmplY3Q8c3RyaW5nPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRMb2FkUHJvZ3Jlc3M6IFN1YmplY3Q8RG9jdW1lbnRMb2FkUHJvZ3Jlc3M+LFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRlZDogU3ViamVjdDxhbnk+LFxuICAgIHB1YmxpYyByZWFkb25seSBvdXRsaW5lTG9hZGVkOiBTdWJqZWN0PE91dGxpbmVbXT4sXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50TG9hZEZhaWxlZDogU3ViamVjdDxFcnJvcj4sXG4gICAgcHVibGljIHJlYWRvbmx5IHBhZ2VSZW5kZXJlZDogU3ViamVjdDxQYWdlRXZlbnRbXT4sXG4gICAgcHVibGljIHJlYWRvbmx5IHBvc2l0aW9uVXBkYXRlZDogU3ViamVjdDx7IGxvY2F0aW9uOiBQZGZQb3NpdGlvbiB9PlxuICApIHtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigndXBkYXRldmlld2FyZWEnLCBlID0+IHBvc2l0aW9uVXBkYXRlZC5uZXh0KGUpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncGFnZWNoYW5naW5nJywgZSA9PiB0aGlzLnRvb2xiYXJFdmVudHMuc2V0Q3VycmVudFBhZ2VJbnB1dFZhbHVlU3ViamVjdC5uZXh0KGUucGFnZU51bWJlcikpO1xuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCdwYWdlY2hhbmdpbmcnLCBlID0+IHRoaXMuZHJhd01pc3NpbmdQYWdlcyhlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VzaW5pdCcsICgpID0+IHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlID0gJzEnKTtcblxuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCdwYWdlcmVuZGVyZWQnLCBlID0+IHsgfSk7IC8vIG5vdCB1c2VkIGxlZnQgZm9yIGZ1dHVyZSBjb252ZW5pZW5jZVxuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCdwYWdlc2xvYWRlZCcsIChlKSA9PiB0aGlzLmVtaXREb2N1bWVudEluZm8oZSkpO1xuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCdzY2FsZWNoYW5naW5nJywgKGUpID0+IHRoaXMuZW1pdERvY3VtZW50SW5mbyhlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3JvdGF0aW9uY2hhbmdpbmcnLCAoZSkgPT4gdGhpcy5lbWl0RG9jdW1lbnRJbmZvKGUpKTtcblxuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCd1cGRhdGVmaW5kY29udHJvbHN0YXRlJywgZXZlbnQgPT4ge1xuICAgICAgdGhpcy5zZW5kU2VhcmNoRGV0YWlscyhldmVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3VwZGF0ZWZpbmRtYXRjaGVzY291bnQnLCBldmVudCA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSB7IC4uLmV2ZW50Lm1hdGNoZXNDb3VudCwgaXNQcmV2aW91czogZXZlbnQ/LnNvdXJjZT8uc3RhdGU/LmZpbmRQcmV2aW91cyB9IGFzIFNlYXJjaFJlc3VsdHNDb3VudFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaFJlc3VsdHNDb3VudFN1YmplY3QubmV4dChyZXN1bHQpO1xuICAgIH0pO1xuICAgIHRoaXMuem9vbVZhbHVlID0gMTtcbiAgfVxuXG4gIHNlbmRTZWFyY2hEZXRhaWxzKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQuc3RhdGUgIT09IEZpbmRTdGF0ZS5QRU5ESU5HKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB7IC4uLmV2ZW50Lm1hdGNoZXNDb3VudCwgaXNQcmV2aW91czogZXZlbnQ/LnNvdXJjZT8uc3RhdGU/LmZpbmRQcmV2aW91cyB9IGFzIFNlYXJjaFJlc3VsdHNDb3VudFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaFJlc3VsdHNDb3VudFN1YmplY3QubmV4dChyZXN1bHQpO1xuICAgICAgaWYgKGV2ZW50Py5zb3VyY2U/LnNlbGVjdGVkPy5wYWdlSWR4ICE9PSAtMSAmJiBldmVudC5tYXRjaGVzQ291bnQudG90YWwgPiAwKSB7XG4gICAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3Rpb25TZXJhY2hTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIHBhZ2U6IGV2ZW50Py5zb3VyY2U/LnNlbGVjdGVkPy5wYWdlSWR4LFxuICAgICAgICAgIG1hdGNoZWRJbmRleDogZXZlbnQ/LnNvdXJjZT8uc2VsZWN0ZWQ/Lm1hdGNoSWR4LFxuICAgICAgICAgIG1hdGNoZXNDb3VudDogZXZlbnQubWF0Y2hlc0NvdW50LnRvdGFsXG4gICAgICAgIH0gYXMgUmVkYWN0aW9uU2VhcmNoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gaW4gdGhlIGV2ZW50IGEgdXNlciBmYXN0IHNjcm9sbHMgb3IgbmF2aWdhdGVzIHRvIGEgc3BlY2lmaWMgcGFnZSwgXG4gIC8vIHdlIG5lZWQgdG8gcmVuZGVyIHRoZSBtaXNzaW5nIHBhZ2VzIHNvIHJlZGFjdGlvbiBib3ggaXMgaW4gcmlnaHQgcGxhY2VcbiAgZHJhd01pc3NpbmdQYWdlcyhlKSB7XG4gICAgY29uc3QgeyBwYWdlTnVtYmVyLCBwcmV2aW91czogcHJldmlvdXNQYWdlTnVtYmVyIH0gPSBlO1xuICAgIGlmICghcHJldmlvdXNQYWdlTnVtYmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChwYWdlTnVtYmVyIDwgcHJldmlvdXNQYWdlTnVtYmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBhZ2VEZWx0YSA9IE1hdGguYWJzKHBhZ2VOdW1iZXIgLSBwcmV2aW91c1BhZ2VOdW1iZXIpO1xuICAgIGlmIChwYWdlRGVsdGEgPD0gMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdGFydCA9IHByZXZpb3VzUGFnZU51bWJlciArIDE7XG4gICAgY29uc3QgZW5kID0gcGFnZU51bWJlcjtcbiAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkrKykge1xuICAgICAgY29uc3QgcGFnZUluZGV4ID0gaSAtIDE7XG4gICAgICBjb25zdCBwYWdlID0gdGhpcy5wZGZWaWV3ZXIuX3BhZ2VzW3BhZ2VJbmRleF07XG4gICAgICBpZiAoIXBhZ2UpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoIXBhZ2UucmVuZGVyaW5nU3RhdGUpIHtcbiAgICAgICAgcGFnZS5kcmF3KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RG9jdW1lbnRJbmZvKGUpIHtcbiAgICBjb25zdCBhbGxQYWdlczogUGFnZUV2ZW50W10gPSBbLi4udGhpcy5wZGZWaWV3ZXIuX3BhZ2VzXS5tYXAocGFnZSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkaXY6IHBhZ2UuZGl2LFxuICAgICAgICBzY2FsZTogcGFnZS5zY2FsZSxcbiAgICAgICAgcm90YXRpb246IHBhZ2Uucm90YXRpb24sXG4gICAgICAgIGlkOiBwYWdlLmlkLFxuICAgICAgICB2aWV3cG9ydFNjYWxlOiBwYWdlLnZpZXdwb3J0LnNjYWxlXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMucGFnZVJlbmRlcmVkLm5leHQoYWxsUGFnZXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWREb2N1bWVudChkb2N1bWVudFVybDogc3RyaW5nKSB7XG4gICAgY29uc3QgbG9hZGluZ1Rhc2sgPSB0aGlzLmNyZWF0ZUxvYWRpbmdUYXNrKGRvY3VtZW50VXJsKTtcblxuICAgIGxvYWRpbmdUYXNrLm9uUHJvZ3Jlc3MgPSAoeyBsb2FkZWQsIHRvdGFsIH0pID0+IHtcbiAgICAgIHRoaXMuZG9jdW1lbnRMb2FkUHJvZ3Jlc3MubmV4dCh7IGxvYWRlZCwgdG90YWwgfSk7XG4gICAgfTtcblxuICAgIHRoaXMuZG9jdW1lbnRMb2FkSW5pdC5uZXh0KGRvY3VtZW50VXJsKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwZGZEb2N1bWVudCA9IGF3YWl0IGxvYWRpbmdUYXNrLnByb21pc2U7XG4gICAgICB0aGlzLmRvY3VtZW50TG9hZGVkLm5leHQocGRmRG9jdW1lbnQpO1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnBhZ2VDb3VudFN1YmplY3QubmV4dChwZGZEb2N1bWVudC5udW1QYWdlcyk7XG5cbiAgICAgIHRoaXMucGRmVmlld2VyLnNldERvY3VtZW50KHBkZkRvY3VtZW50KTtcbiAgICAgIGlmICh0aGlzLnBkZlZpZXdlci5saW5rU2VydmljZSBpbnN0YW5jZW9mIFBERkxpbmtTZXJ2aWNlKSB7XG4gICAgICAgIGNvbnN0IGxpbmtzZXJ2aWNlOiBQREZMaW5rU2VydmljZSA9IHRoaXMucGRmVmlld2VyLmxpbmtTZXJ2aWNlO1xuICAgICAgICBsaW5rc2VydmljZS5zZXREb2N1bWVudChwZGZEb2N1bWVudCwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG91dGxpbmVOb2RlID0gYXdhaXQgcGRmRG9jdW1lbnQuZ2V0T3V0bGluZSgpO1xuICAgICAgY29uc3Qgb3V0bGluZSA9IG91dGxpbmVOb2RlID8gb3V0bGluZU5vZGUubWFwKHggPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJvbGQ6IHguYm9sZCxcbiAgICAgICAgICBjb2xvcjogeC5jb2xvcixcbiAgICAgICAgICBjb3VudDogeC5jb3VudCxcbiAgICAgICAgICBkZXN0OiB4LmRlc3QsXG4gICAgICAgICAgaXRhbGljOiB4Lml0YWxpYyxcbiAgICAgICAgICBpdGVtczogeC5pdGVtcyxcbiAgICAgICAgICBuZXdXaW5kb3c6IHgubmV3V2luZG93LFxuICAgICAgICAgIHRpdGxlOiB4LnRpdGxlLFxuICAgICAgICAgIHVuc2FmZVVybDogeC51bnNhZmVVcmwsXG4gICAgICAgICAgdXJsOiB4LnVybFxuICAgICAgICB9IGFzIE91dGxpbmVcbiAgICAgIH0pIDogbnVsbDtcblxuXG5cbiAgICAgIGlmIChvdXRsaW5lKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2V0T3V0bGluZVBhZ2VOdW1iZXJzKHBkZkRvY3VtZW50LCBvdXRsaW5lKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kb2N1bWVudE91dGxpbmUgPSBvdXRsaW5lO1xuICAgICAgdGhpcy5vdXRsaW5lTG9hZGVkLm5leHQodGhpcy5kb2N1bWVudE91dGxpbmUpO1xuICAgICAgY29uc3QgcGRmTWV0YURhdGEgPSBhd2FpdCBwZGZEb2N1bWVudC5nZXRNZXRhZGF0YSgpO1xuICAgICAgdGhpcy5zZXRDdXJyZW50UERGVGl0bGUoKHBkZk1ldGFEYXRhLmluZm8gYXMgYW55KT8uVGl0bGUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRMb2FkRmFpbGVkLm5leHQoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMb2FkaW5nVGFzayhkb2N1bWVudFVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHBkZmpzLmdldERvY3VtZW50KHtcbiAgICAgIHVybDogZG9jdW1lbnRVcmwsXG4gICAgICBjTWFwVXJsOiAnYXNzZXRzL21pbmlmaWVkL2NtYXBzJyxcbiAgICAgIGNNYXBQYWNrZWQ6IHRydWUsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICBpc0V2YWxTdXBwb3J0ZWQ6IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldE91dGxpbmVQYWdlTnVtYmVycyhwZGZEb2N1bWVudCwgb3V0bGluZUFycmF5OiBPdXRsaW5lW10pIHtcbiAgICBvdXRsaW5lQXJyYXkuZm9yRWFjaChhc3luYyAob3V0bGluZTogT3V0bGluZSkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5zZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmU6IE91dGxpbmUpIHtcbiAgICBvdXRsaW5lLnBhZ2VOdW1iZXIgPSBhd2FpdCB0aGlzLmdldE91dGxpbmVQYWdlTnVtYmVyKHBkZkRvY3VtZW50LCBvdXRsaW5lKTtcbiAgICBvdXRsaW5lLml0ZW1zLmZvckVhY2goYXN5bmMgKG91dGxpbmVJdGVtOiBPdXRsaW5lKSA9PiB7XG4gICAgICBvdXRsaW5lSXRlbS5wYWdlTnVtYmVyID0gYXdhaXQgdGhpcy5nZXRPdXRsaW5lUGFnZU51bWJlcihwZGZEb2N1bWVudCwgb3V0bGluZUl0ZW0pO1xuICAgICAgdGhpcy5zZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmVJdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0T3V0bGluZVBhZ2VOdW1iZXIocGRmRG9jdW1lbnQsIG91dGxpbmU6IE91dGxpbmUpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IGRlc3QgPSBvdXRsaW5lLmRlc3Q7XG4gICAgY29uc3QgcGFnZUluZGV4ID0gYXdhaXQgcGRmRG9jdW1lbnQuZ2V0UGFnZUluZGV4KGRlc3RbMF0pO1xuICAgIHJldHVybiBOdW1iZXIocGFnZUluZGV4KSArIDE7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRGaWxlKHVybDogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kb3dubG9hZE1hbmFnZXIuZG93bmxvYWQobnVsbCwgdXJsLCBmaWxlbmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5jdXJyZW50UGFnZU51bWJlciA9IHBhZ2VOdW1iZXI7XG4gIH1cbiAgcHVibGljIGdldFBhZ2VOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFBhZ2VOdW1iZXI7XG4gIH1cbiAgcHVibGljIGNoYW5nZVBhZ2VOdW1iZXIobnVtUGFnZXM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyICs9IG51bVBhZ2VzO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaChvcGVyYXRpb246IFNlYXJjaE9wZXJhdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGNvbW1hbmQgPSBvcGVyYXRpb24ucmVzZXQgPyAnJyA6ICdhZ2Fpbic7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIHNvdXJjZTogdGhpcy5wZGZWaWV3ZXIsXG4gICAgICB0eXBlOiBjb21tYW5kLFxuICAgICAgcXVlcnk6IG9wZXJhdGlvbi5zZWFyY2hUZXJtLFxuICAgICAgcGhyYXNlU2VhcmNoOiB0cnVlLFxuICAgICAgY2FzZVNlbnNpdGl2ZTogb3BlcmF0aW9uLm1hdGNoQ2FzZSxcbiAgICAgIGVudGlyZVdvcmQ6IG9wZXJhdGlvbi53aG9sZVdvcmQsXG4gICAgICBoaWdobGlnaHRBbGw6IG9wZXJhdGlvbi5oaWdobGlnaHRBbGwsXG4gICAgICBmaW5kUHJldmlvdXM6IG9wZXJhdGlvbi5wcmV2aW91cyxcbiAgICB9O1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMuZGlzcGF0Y2goJ2ZpbmQnLCBkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5kaXNwYXRjaCgnZmluZGJhcmNsb3NlJywge30pO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG8oZGVzdGluYXRpb246IHN0cmluZyB8IGFueVtdKSB7XG4gICAgaWYgKGRlc3RpbmF0aW9uIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICBpZiAoIWRlc3RpbmF0aW9uWzFdLm5hbWUuaW5jbHVkZXMoJ1hZWicpKSB7XG4gICAgICAgIGRlc3RpbmF0aW9uWzFdID0geyBuYW1lOiAnWFlaJyB9O1xuICAgICAgICBkZXN0aW5hdGlvblsyXSA9IGRlc3RpbmF0aW9uWzJdIHx8IG51bGw7XG4gICAgICAgIGRlc3RpbmF0aW9uWzNdID0gZGVzdGluYXRpb25bM10gfHwgbnVsbDtcbiAgICAgIH1cbiAgICAgIGRlc3RpbmF0aW9uWzRdID0gdGhpcy56b29tVmFsdWU7XG4gICAgfVxuICAgIHRoaXMubmF0aXZlTmF2aWdhdGUoZGVzdGluYXRpb24pO1xuICB9XG5cbiAgcHVibGljIG5hdGl2ZU5hdmlnYXRlKGRlc3RpbmF0aW9uOiBzdHJpbmcgfCBhbnlbXSkge1xuICAgIHRoaXMucGRmVmlld2VyLmxpbmtTZXJ2aWNlLmdvVG9EZXN0aW5hdGlvbihkZXN0aW5hdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2V0Wm9vbSh6b29tVmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlID0gdGhpcy5nZXRab29tVmFsdWUoem9vbVZhbHVlKS50b1N0cmluZygpO1xuICAgIHRoaXMuem9vbVZhbHVlID0gK3RoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlO1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy56b29tVmFsdWVTdWJqZWN0Lm5leHQodGhpcy56b29tVmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHN0ZXBab29tKHpvb21WYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSB0aGlzLmdldFpvb21WYWx1ZSgoK3RoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlKSArIHpvb21WYWx1ZSkudG9TdHJpbmcoKTtcbiAgICB0aGlzLnpvb21WYWx1ZSA9ICt0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuem9vbVZhbHVlU3ViamVjdC5uZXh0KHRoaXMuem9vbVZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Wm9vbVZhbHVlKHpvb21WYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoaXNOYU4oem9vbVZhbHVlKSkgeyByZXR1cm4gdGhpcy56b29tVmFsdWU7IH1cbiAgICBpZiAoem9vbVZhbHVlID4gNSkgeyByZXR1cm4gNTsgfVxuICAgIGlmICh6b29tVmFsdWUgPCAwLjEpIHsgcmV0dXJuIDAuMTsgfVxuXG4gICAgcmV0dXJuICt6b29tVmFsdWUudG9GaXhlZCgyKTtcbiAgfVxuXG4gIHB1YmxpYyByb3RhdGUocm90YXRpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmVmlld2VyLnBhZ2VzUm90YXRpb24gPSAodGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbiArIHJvdGF0aW9uKSAlIDM2MDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFJvdGF0aW9uKHJvdGF0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBkZlZpZXdlci5wYWdlc1JvdGF0aW9uID0gcm90YXRpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9ybWFsaXNlZFBhZ2VzUm90YXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50UERGWm9vbVZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDdXJyZW50UERGVGl0bGUodGl0bGU6IHN0cmluZykge1xuICAgIHRoaXMuZG9jdW1lbnRUaXRsZSA9IHRpdGxlO1xuICB9XG5cbiAgcHVibGljIGdldEN1cnJlbnRQREZUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50VGl0bGU7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudExvYWRQcm9ncmVzcyB7XG4gIGxvYWRlZDogbnVtYmVyO1xuICB0b3RhbDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VFdmVudCB7XG4gIGRpdjogb2JqZWN0O1xuICBzY2FsZTogbnVtYmVyO1xuICByb3RhdGlvbjogbnVtYmVyO1xuICBpZDogc3RyaW5nO1xuICB2aWV3cG9ydFNjYWxlOiBudW1iZXI7XG59XG4iXX0=
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWpzLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLWpzL3BkZi1qcy13cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBbUIsY0FBYyxFQUFhLE1BQU0sK0JBQStCLENBQUM7QUFDM0YsT0FBTyw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLDBCQUEwQixDQUFDO0FBS2xDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsaUNBQWlDLENBQUM7QUFFeEU7O0dBRUc7QUFDSCxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWiwyQ0FBUyxDQUFBO0lBQ1QsbURBQWEsQ0FBQTtJQUNiLCtDQUFXLENBQUE7SUFDWCwrQ0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2I7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQU92QixZQUNtQixTQUFvQixFQUNwQixlQUFnQyxFQUNoQyxhQUFrQyxFQUNuQyxnQkFBaUMsRUFDakMsb0JBQW1ELEVBQ25ELGNBQTRCLEVBQzVCLGFBQWlDLEVBQ2pDLGtCQUFrQyxFQUNsQyxZQUFrQyxFQUNsQyxlQUFtRDtRQVRsRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQStCO1FBQ25ELG1CQUFjLEdBQWQsY0FBYyxDQUFjO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWdCO1FBQ2xDLGlCQUFZLEdB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Q0FBQztJQUN4RixDQUFDO0lBRU0sYUFBYSxDQUFDLFFBQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO0lBQ2pELENBQUM7SUFFTSwwQkFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQzNDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE91dGxpbmUgfSBmcm9tICcuLy4uL3NpZGUtYmFyL291dGxpbmUtaXRlbS9vdXRsaW5lLm1vZGVsJztcbmltcG9ydCB7IFJlZGFjdGlvblNlYXJjaCB9IGZyb20gJy4vLi4vLi4vLi4vdG9vbGJhci9yZWRhY3Rpb24tc2VhcmNoLWJhci9yZWRhY3Rpb24tc2VhcmNoLm1vZGVsJztcbmltcG9ydCAqIGFzIHBkZmpzIGZyb20gJ3BkZmpzLWRpc3QnO1xuaW1wb3J0IHsgRG93bmxvYWRNYW5hZ2VyLCBQREZMaW5rU2VydmljZSwgUERGVmlld2VyIH0gZnJvbSAncGRmanMtZGlzdC93ZWIvcGRmX3ZpZXdlci5tanMnO1xuaW1wb3J0ICdwZGZqcy1kaXN0L2J1aWxkL3BkZi53b3JrZXInO1xuaW1wb3J0ICdwZGZqcy1kaXN0L2J1aWxkL3BkZi5tanMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VhcmNoT3BlcmF0aW9uLCBTZWFyY2hSZXN1bHRzQ291bnQsIFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQZGZQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL2RvY3VtZW50LnJlZHVjZXInO1xuXG5wZGZqcy5HbG9iYWxXb3JrZXJPcHRpb25zLndvcmtlclNyYyA9ICcvYXNzZXRzL2J1aWxkL3BkZi53b3JrZXIubWluLmpzJztcblxuLyoqXG4gKiBWYWx1ZXMgb2YgdGhlIHN0YXRlIGZpZWxkIHJldHVybmVkIGJ5IHRoZSBmaW5kIGV2ZW50c1xuICovXG5lbnVtIEZpbmRTdGF0ZSB7XG4gIEZPVU5EID0gMCxcbiAgTk9UX0ZPVU5EID0gMSxcbiAgV1JBUFBFRCA9IDIsXG4gIFBFTkRJTkcgPSAzLFxufVxuXG5leHBvcnQgY2xhc3MgUGRmSnNXcmFwcGVyIHtcblxuICBwcml2YXRlIHpvb21WYWx1ZTogbnVtYmVyO1xuICBwcml2YXRlIGRvY3VtZW50VGl0bGU6IHN0cmluZztcbiAgcHJpdmF0ZSBkb2N1bWVudE91dGxpbmU6IE91dGxpbmVbXTtcbiAgcHVibGljIHJlZGFjdGlvblBhZ2VzOiB7IHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyIH1bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBkZlZpZXdlcjogUERGVmlld2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG93bmxvYWRNYW5hZ2VyOiBEb3dubG9hZE1hbmFnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRJbml0OiBTdWJqZWN0PHN0cmluZz4sXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50TG9hZFByb2dyZXNzOiBTdWJqZWN0PERvY3VtZW50TG9hZFByb2dyZXNzPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRMb2FkZWQ6IFN1YmplY3Q8YW55PixcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3V0bGluZUxvYWRlZDogU3ViamVjdDxPdXRsaW5lW10+LFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRGYWlsZWQ6IFN1YmplY3Q8RXJyb3I+LFxuICAgIHB1YmxpYyByZWFkb25seSBwYWdlUmVuZGVyZWQ6IFN1YmplY3Q8UGFnZUV2ZW50W10+LFxuICAgIHB1YmxpYyByZWFkb25seSBwb3NpdGlvblVwZGF0ZWQ6IFN1YmplY3Q8eyBsb2NhdGlvbjogUGRmUG9zaXRpb24gfT5cbiAgKSB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3VwZGF0ZXZpZXdhcmVhJywgZSA9PiBwb3NpdGlvblVwZGF0ZWQubmV4dChlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VjaGFuZ2luZycsIGUgPT4gdGhpcy50b29sYmFyRXZlbnRzLnNldEN1cnJlbnRQYWdlSW5wdXRWYWx1ZVN1YmplY3QubmV4dChlLnBhZ2VOdW1iZXIpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncGFnZWNoYW5naW5nJywgZSA9PiB0aGlzLmRyYXdNaXNzaW5nUGFnZXMoZSkpO1xuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCdwYWdlc2luaXQnLCAoKSA9PiB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSA9ICcxJyk7XG5cbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncGFnZXJlbmRlcmVkJywgZSA9PiB7IH0pOyAvLyBub3QgdXNlZCBsZWZ0IGZvciBmdXR1cmUgY29udmVuaWVuY2VcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncGFnZXNsb2FkZWQnLCAoZSkgPT4gdGhpcy5lbWl0RG9jdW1lbnRJbmZvKGUpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbignc2NhbGVjaGFuZ2luZycsIChlKSA9PiB0aGlzLmVtaXREb2N1bWVudEluZm8oZSkpO1xuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCdyb3RhdGlvbmNoYW5naW5nJywgKGUpID0+IHRoaXMuZW1pdERvY3VtZW50SW5mbyhlKSk7XG5cbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigndXBkYXRlZmluZGNvbnRyb2xzdGF0ZScsIGV2ZW50ID0+IHtcbiAgICAgIHRoaXMuc2VuZFNlYXJjaERldGFpbHMoZXZlbnQpO1xuICAgIH0pO1xuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCd1cGRhdGVmaW5kbWF0Y2hlc2NvdW50JywgZXZlbnQgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0geyAuLi5ldmVudC5tYXRjaGVzQ291bnQsIGlzUHJldmlvdXM6IGV2ZW50Py5zb3VyY2U/LnN0YXRlPy5maW5kUHJldmlvdXMgfSBhcyBTZWFyY2hSZXN1bHRzQ291bnRcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hSZXN1bHRzQ291bnRTdWJqZWN0Lm5leHQocmVzdWx0KTtcbiAgICB9KTtcbiAgICB0aGlzLnpvb21WYWx1ZSA9IDE7XG4gICAgdGhpcy5yZWRhY3Rpb25QYWdlcyA9IFtdXG4gICAgLy8gU3Vic2NyaWJlIHRvIHJlZGFjdGlvbk1vZGUgY2hhbmdlcyBhbmQgcnVuIGEgZnVuY3Rpb24gd2hlbiBpdCBjaGFuZ2VzXG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdGlvbk1vZGUuc3Vic2NyaWJlKChyZWRhY3Rpb25Nb2RlVmFsdWUpID0+IHtcbiAgICAgIHRoaXMub25SZWRhY3Rpb25Nb2RlQ2hhbmdlZChyZWRhY3Rpb25Nb2RlVmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgc2VuZFNlYXJjaERldGFpbHMoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC5zdGF0ZSAhPT0gRmluZFN0YXRlLlBFTkRJTkcpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHsgLi4uZXZlbnQubWF0Y2hlc0NvdW50LCBpc1ByZXZpb3VzOiBldmVudD8uc291cmNlPy5zdGF0ZT8uZmluZFByZXZpb3VzIH0gYXMgU2VhcmNoUmVzdWx0c0NvdW50XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoUmVzdWx0c0NvdW50U3ViamVjdC5uZXh0KHJlc3VsdCk7XG4gICAgICBpZiAoZXZlbnQ/LnNvdXJjZT8uc2VsZWN0ZWQ/LnBhZ2VJZHggIT09IC0xICYmIGV2ZW50Lm1hdGNoZXNDb3VudC50b3RhbCA+IDApIHtcbiAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdGlvblNlcmFjaFN1YmplY3QubmV4dCh7XG4gICAgICAgICAgcGFnZTogZXZlbnQ/LnNvdXJjZT8uc2VsZWN0ZWQ/LnBhZ2VJZHgsXG4gICAgICAgICAgbWF0Y2hlZEluZGV4OiBldmVudD8uc291cmNlPy5zZWxlY3RlZD8ubWF0Y2hJZHgsXG4gICAgICAgICAgbWF0Y2hlc0NvdW50OiBldmVudC5tYXRjaGVzQ291bnQudG90YWxcbiAgICAgICAgfSBhcyBSZWRhY3Rpb25TZWFyY2hcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBpbiB0aGUgZXZlbnQgYSB1c2VyIGZhc3Qgc2Nyb2xscyBvciBuYXZpZ2F0ZXMgdG8gYSBzcGVjaWZpYyBwYWdlLCBcbiAgLy8gd2UgbmVlZCB0byByZW5kZXIgdGhlIG1pc3NpbmcgcGFnZXMgc28gcmVkYWN0aW9uIGJveCBpcyBpbiByaWdodCBwbGFjZVxuICBkcmF3TWlzc2luZ1BhZ2VzKGUpIHtcbiAgICBjb25zdCByZWRhY3Rpb25Nb2RlID0gdGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdGlvbk1vZGUuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCB7IHBhZ2VOdW1iZXIsIHByZXZpb3VzOiBwcmV2aW91c1BhZ2VOdW1iZXIgfSA9IGU7XG4gICAgaWYgKCFwcmV2aW91c1BhZ2VOdW1iZXIgfHwgcGFnZU51bWJlciA8IHByZXZpb3VzUGFnZU51bWJlciB8fCBNYXRoLmFicyhwYWdlTnVtYmVyIC0gcHJldmlvdXNQYWdlTnVtYmVyKSA8PSAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0YXJ0ID0gcHJldmlvdXNQYWdlTnVtYmVyICsgMTtcbiAgICBjb25zdCBlbmQgPSBwYWdlTnVtYmVyO1xuICAgIC8vIGlmIHRoZSByZWRhY3Rpb24gbW9kZSBpcyBvbiByZW5kZXIgdGhlIHBhZ2VzIG5vd1xuICAgIGlmIChyZWRhY3Rpb25Nb2RlKSB7XG4gICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkrKykge1xuICAgICAgICBjb25zdCBwYWdlID0gdGhpcy5wZGZWaWV3ZXIuX3BhZ2VzW2kgLSAxXTtcbiAgICAgICAgaWYgKHBhZ2UgJiYgIXBhZ2UucmVuZGVyaW5nU3RhdGUpIHtcbiAgICAgICAgICBwYWdlLmRyYXcoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBrZWVwIHRyYWNrIG9mIHBhZ2VzIGFzIGlmIGEgdXNlciBza2lwcyB0byBhIHBhZ2Ugd2UgbmVlZCB0byByZW5kZXIgYWxsIHRoZSBtaXNzaW5nIHBhZ2VzXG4gICAgICBjb25zb2xlLmxvZygnQWRkaW5nIHJlZGFjdGlvbiBwYWdlcyB0byBxdWV1ZTonLCBzdGFydCwgZW5kKTtcbiAgICAgIHRoaXMucmVkYWN0aW9uUGFnZXMucHVzaCh7IHN0YXJ0LCBlbmQgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uUmVkYWN0aW9uTW9kZUNoYW5nZWQocmVkYWN0aW9uTW9kZTogYm9vbGVhbikge1xuICAgIGlmIChyZWRhY3Rpb25Nb2RlICYmIHRoaXMucmVkYWN0aW9uUGFnZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlZGFjdGlvblBhZ2VzLmZvckVhY2goKHsgc3RhcnQsIGVuZCB9KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdEcmF3aW5nIHJlZGFjdGlvbiBwYWdlcyBmcm9tIHF1ZXVlOicsIHN0YXJ0LCBlbmQpO1xuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkrKykge1xuICAgICAgICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnBkZlZpZXdlci5fcGFnZXNbaSAtIDFdO1xuICAgICAgICAgIGlmIChwYWdlICYmICFwYWdlLnJlbmRlcmluZ1N0YXRlKSB7XG4gICAgICAgICAgICBwYWdlLmRyYXcoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5yZWRhY3Rpb25QYWdlcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdERvY3VtZW50SW5mbyhlKSB7XG4gICAgY29uc3QgYWxsUGFnZXM6IFBhZ2VFdmVudFtdID0gWy4uLnRoaXMucGRmVmlld2VyLl9wYWdlc10ubWFwKHBhZ2UgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiBwYWdlLmRpdixcbiAgICAgICAgc2NhbGU6IHBhZ2Uuc2NhbGUsXG4gICAgICAgIHJvdGF0aW9uOiBwYWdlLnJvdGF0aW9uLFxuICAgICAgICBpZDogcGFnZS5pZCxcbiAgICAgICAgdmlld3BvcnRTY2FsZTogcGFnZS52aWV3cG9ydC5zY2FsZVxuICAgICAgfTtcbiAgICB9KTtcbiAgICB0aGlzLnBhZ2VSZW5kZXJlZC5uZXh0KGFsbFBhZ2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkRG9jdW1lbnQoZG9jdW1lbnRVcmw6IHN0cmluZykge1xuICAgIGNvbnN0IGxvYWRpbmdUYXNrID0gdGhpcy5jcmVhdGVMb2FkaW5nVGFzayhkb2N1bWVudFVybCk7XG5cbiAgICBsb2FkaW5nVGFzay5vblByb2dyZXNzID0gKHsgbG9hZGVkLCB0b3RhbCB9KSA9PiB7XG4gICAgICB0aGlzLmRvY3VtZW50TG9hZFByb2dyZXNzLm5leHQoeyBsb2FkZWQsIHRvdGFsIH0pO1xuICAgIH07XG5cbiAgICB0aGlzLmRvY3VtZW50TG9hZEluaXQubmV4dChkb2N1bWVudFVybCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGRmRG9jdW1lbnQgPSBhd2FpdCBsb2FkaW5nVGFzay5wcm9taXNlO1xuICAgICAgdGhpcy5kb2N1bWVudExvYWRlZC5uZXh0KHBkZkRvY3VtZW50KTtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5wYWdlQ291bnRTdWJqZWN0Lm5leHQocGRmRG9jdW1lbnQubnVtUGFnZXMpO1xuXG4gICAgICB0aGlzLnBkZlZpZXdlci5zZXREb2N1bWVudChwZGZEb2N1bWVudCk7XG4gICAgICBpZiAodGhpcy5wZGZWaWV3ZXIubGlua1NlcnZpY2UgaW5zdGFuY2VvZiBQREZMaW5rU2VydmljZSkge1xuICAgICAgICBjb25zdCBsaW5rc2VydmljZTogUERGTGlua1NlcnZpY2UgPSB0aGlzLnBkZlZpZXdlci5saW5rU2VydmljZTtcbiAgICAgICAgbGlua3NlcnZpY2Uuc2V0RG9jdW1lbnQocGRmRG9jdW1lbnQsIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvdXRsaW5lTm9kZSA9IGF3YWl0IHBkZkRvY3VtZW50LmdldE91dGxpbmUoKTtcbiAgICAgIGNvbnN0IG91dGxpbmUgPSBvdXRsaW5lTm9kZSA/IG91dGxpbmVOb2RlLm1hcCh4ID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBib2xkOiB4LmJvbGQsXG4gICAgICAgICAgY29sb3I6IHguY29sb3IsXG4gICAgICAgICAgY291bnQ6IHguY291bnQsXG4gICAgICAgICAgZGVzdDogeC5kZXN0LFxuICAgICAgICAgIGl0YWxpYzogeC5pdGFsaWMsXG4gICAgICAgICAgaXRlbXM6IHguaXRlbXMsXG4gICAgICAgICAgbmV3V2luZG93OiB4Lm5ld1dpbmRvdyxcbiAgICAgICAgICB0aXRsZTogeC50aXRsZSxcbiAgICAgICAgICB1bnNhZmVVcmw6IHgudW5zYWZlVXJsLFxuICAgICAgICAgIHVybDogeC51cmxcbiAgICAgICAgfSBhcyBPdXRsaW5lXG4gICAgICB9KSA6IG51bGw7XG5cblxuXG4gICAgICBpZiAob3V0bGluZSkge1xuICAgICAgICBhd2FpdCB0aGlzLnNldE91dGxpbmVQYWdlTnVtYmVycyhwZGZEb2N1bWVudCwgb3V0bGluZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZG9jdW1lbnRPdXRsaW5lID0gb3V0bGluZTtcbiAgICAgIHRoaXMub3V0bGluZUxvYWRlZC5uZXh0KHRoaXMuZG9jdW1lbnRPdXRsaW5lKTtcbiAgICAgIGNvbnN0IHBkZk1ldGFEYXRhID0gYXdhaXQgcGRmRG9jdW1lbnQuZ2V0TWV0YWRhdGEoKTtcbiAgICAgIHRoaXMuc2V0Q3VycmVudFBERlRpdGxlKChwZGZNZXRhRGF0YS5pbmZvIGFzIGFueSk/LlRpdGxlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmRvY3VtZW50TG9hZEZhaWxlZC5uZXh0KGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTG9hZGluZ1Rhc2soZG9jdW1lbnRVcmw6IHN0cmluZykge1xuICAgIHJldHVybiBwZGZqcy5nZXREb2N1bWVudCh7XG4gICAgICB1cmw6IGRvY3VtZW50VXJsLFxuICAgICAgY01hcFVybDogJ2Fzc2V0cy9taW5pZmllZC9jbWFwcycsXG4gICAgICBjTWFwUGFja2VkOiB0cnVlLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgaXNFdmFsU3VwcG9ydGVkOiBmYWxzZVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmVBcnJheTogT3V0bGluZVtdKSB7XG4gICAgb3V0bGluZUFycmF5LmZvckVhY2goYXN5bmMgKG91dGxpbmU6IE91dGxpbmUpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMuc2V0TmVzdGVkT3V0bGluZVBhZ2VOdW1iZXJzKHBkZkRvY3VtZW50LCBvdXRsaW5lKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2V0TmVzdGVkT3V0bGluZVBhZ2VOdW1iZXJzKHBkZkRvY3VtZW50LCBvdXRsaW5lOiBPdXRsaW5lKSB7XG4gICAgb3V0bGluZS5wYWdlTnVtYmVyID0gYXdhaXQgdGhpcy5nZXRPdXRsaW5lUGFnZU51bWJlcihwZGZEb2N1bWVudCwgb3V0bGluZSk7XG4gICAgb3V0bGluZS5pdGVtcy5mb3JFYWNoKGFzeW5jIChvdXRsaW5lSXRlbTogT3V0bGluZSkgPT4ge1xuICAgICAgb3V0bGluZUl0ZW0ucGFnZU51bWJlciA9IGF3YWl0IHRoaXMuZ2V0T3V0bGluZVBhZ2VOdW1iZXIocGRmRG9jdW1lbnQsIG91dGxpbmVJdGVtKTtcbiAgICAgIHRoaXMuc2V0TmVzdGVkT3V0bGluZVBhZ2VOdW1iZXJzKHBkZkRvY3VtZW50LCBvdXRsaW5lSXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldE91dGxpbmVQYWdlTnVtYmVyKHBkZkRvY3VtZW50LCBvdXRsaW5lOiBPdXRsaW5lKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBkZXN0ID0gb3V0bGluZS5kZXN0O1xuICAgIGNvbnN0IHBhZ2VJbmRleCA9IGF3YWl0IHBkZkRvY3VtZW50LmdldFBhZ2VJbmRleChkZXN0WzBdKTtcbiAgICByZXR1cm4gTnVtYmVyKHBhZ2VJbmRleCkgKyAxO1xuICB9XG5cbiAgcHVibGljIGRvd25sb2FkRmlsZSh1cmw6IHN0cmluZywgZmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZG93bmxvYWRNYW5hZ2VyLmRvd25sb2FkKG51bGwsIHVybCwgZmlsZW5hbWUpO1xuICB9XG5cbiAgcHVibGljIHNldFBhZ2VOdW1iZXIocGFnZU51bWJlcjogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyO1xuICB9XG4gIHB1YmxpYyBnZXRQYWdlTnVtYmVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyO1xuICB9XG4gIHB1YmxpYyBjaGFuZ2VQYWdlTnVtYmVyKG51bVBhZ2VzOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5jdXJyZW50UGFnZU51bWJlciArPSBudW1QYWdlcztcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2gob3BlcmF0aW9uOiBTZWFyY2hPcGVyYXRpb24pOiB2b2lkIHtcbiAgICBjb25zdCBjb21tYW5kID0gb3BlcmF0aW9uLnJlc2V0ID8gJycgOiAnYWdhaW4nO1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBzb3VyY2U6IHRoaXMucGRmVmlld2VyLFxuICAgICAgdHlwZTogY29tbWFuZCxcbiAgICAgIHF1ZXJ5OiBvcGVyYXRpb24uc2VhcmNoVGVybSxcbiAgICAgIHBocmFzZVNlYXJjaDogdHJ1ZSxcbiAgICAgIGNhc2VTZW5zaXRpdmU6IG9wZXJhdGlvbi5tYXRjaENhc2UsXG4gICAgICBlbnRpcmVXb3JkOiBvcGVyYXRpb24ud2hvbGVXb3JkLFxuICAgICAgaGlnaGxpZ2h0QWxsOiBvcGVyYXRpb24uaGlnaGxpZ2h0QWxsLFxuICAgICAgZmluZFByZXZpb3VzOiBvcGVyYXRpb24ucHJldmlvdXMsXG4gICAgfTtcblxuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLmRpc3BhdGNoKCdmaW5kJywgZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMuZGlzcGF0Y2goJ2ZpbmRiYXJjbG9zZScsIHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvKGRlc3RpbmF0aW9uOiBzdHJpbmcgfCBhbnlbXSkge1xuICAgIGlmIChkZXN0aW5hdGlvbiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgaWYgKCFkZXN0aW5hdGlvblsxXS5uYW1lLmluY2x1ZGVzKCdYWVonKSkge1xuICAgICAgICBkZXN0aW5hdGlvblsxXSA9IHsgbmFtZTogJ1hZWicgfTtcbiAgICAgICAgZGVzdGluYXRpb25bMl0gPSBkZXN0aW5hdGlvblsyXSB8fCBudWxsO1xuICAgICAgICBkZXN0aW5hdGlvblszXSA9IGRlc3RpbmF0aW9uWzNdIHx8IG51bGw7XG4gICAgICB9XG4gICAgICBkZXN0aW5hdGlvbls0XSA9IHRoaXMuem9vbVZhbHVlO1xuICAgIH1cbiAgICB0aGlzLm5hdGl2ZU5hdmlnYXRlKGRlc3RpbmF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBuYXRpdmVOYXZpZ2F0ZShkZXN0aW5hdGlvbjogc3RyaW5nIHwgYW55W10pIHtcbiAgICB0aGlzLnBkZlZpZXdlci5saW5rU2VydmljZS5nb1RvRGVzdGluYXRpb24oZGVzdGluYXRpb24pO1xuICB9XG5cbiAgcHVibGljIHNldFpvb20oem9vbVZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSA9IHRoaXMuZ2V0Wm9vbVZhbHVlKHpvb21WYWx1ZSkudG9TdHJpbmcoKTtcbiAgICB0aGlzLnpvb21WYWx1ZSA9ICt0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuem9vbVZhbHVlU3ViamVjdC5uZXh0KHRoaXMuem9vbVZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGVwWm9vbSh6b29tVmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlID0gdGhpcy5nZXRab29tVmFsdWUoKCt0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSkgKyB6b29tVmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgdGhpcy56b29tVmFsdWUgPSArdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWU7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21WYWx1ZVN1YmplY3QubmV4dCh0aGlzLnpvb21WYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFpvb21WYWx1ZSh6b29tVmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKGlzTmFOKHpvb21WYWx1ZSkpIHsgcmV0dXJuIHRoaXMuem9vbVZhbHVlOyB9XG4gICAgaWYgKHpvb21WYWx1ZSA+IDUpIHsgcmV0dXJuIDU7IH1cbiAgICBpZiAoem9vbVZhbHVlIDwgMC4xKSB7IHJldHVybiAwLjE7IH1cblxuICAgIHJldHVybiArem9vbVZhbHVlLnRvRml4ZWQoMik7XG4gIH1cblxuICBwdWJsaWMgcm90YXRlKHJvdGF0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBkZlZpZXdlci5wYWdlc1JvdGF0aW9uID0gKHRoaXMucGRmVmlld2VyLnBhZ2VzUm90YXRpb24gKyByb3RhdGlvbikgJSAzNjA7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRSb3RhdGlvbihyb3RhdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbiA9IHJvdGF0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldE5vcm1hbGlzZWRQYWdlc1JvdGF0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmVmlld2VyLnBhZ2VzUm90YXRpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudFBERlpvb21WYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiArdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0Q3VycmVudFBERlRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRvY3VtZW50VGl0bGUgPSB0aXRsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50UERGVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudFRpdGxlO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRMb2FkUHJvZ3Jlc3Mge1xuICBsb2FkZWQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdlRXZlbnQge1xuICBkaXY6IG9iamVjdDtcbiAgc2NhbGU6IG51bWJlcjtcbiAgcm90YXRpb246IG51bWJlcjtcbiAgaWQ6IHN0cmluZztcbiAgdmlld3BvcnRTY2FsZTogbnVtYmVyO1xufVxuIl19
|
|
@@ -1565,6 +1565,11 @@ class PdfJsWrapper {
|
|
|
1565
1565
|
this.toolbarEvents.searchResultsCountSubject.next(result);
|
|
1566
1566
|
});
|
|
1567
1567
|
this.zoomValue = 1;
|
|
1568
|
+
this.redactionPages = [];
|
|
1569
|
+
// Subscribe to redactionMode changes and run a function when it changes
|
|
1570
|
+
this.toolbarEvents.redactionMode.subscribe((redactionModeValue) => {
|
|
1571
|
+
this.onRedactionModeChanged(redactionModeValue);
|
|
1572
|
+
});
|
|
1568
1573
|
}
|
|
1569
1574
|
sendSearchDetails(event) {
|
|
1570
1575
|
if (event.state !== FindState.PENDING) {
|
|
@@ -1582,29 +1587,41 @@ class PdfJsWrapper {
|
|
|
1582
1587
|
// in the event a user fast scrolls or navigates to a specific page,
|
|
1583
1588
|
// we need to render the missing pages so redaction box is in right place
|
|
1584
1589
|
drawMissingPages(e) {
|
|
1590
|
+
const redactionMode = this.toolbarEvents.redactionMode.getValue();
|
|
1585
1591
|
const { pageNumber, previous: previousPageNumber } = e;
|
|
1586
|
-
if (!previousPageNumber) {
|
|
1587
|
-
return;
|
|
1588
|
-
}
|
|
1589
|
-
if (pageNumber < previousPageNumber) {
|
|
1590
|
-
return;
|
|
1591
|
-
}
|
|
1592
|
-
const pageDelta = Math.abs(pageNumber - previousPageNumber);
|
|
1593
|
-
if (pageDelta <= 1) {
|
|
1592
|
+
if (!previousPageNumber || pageNumber < previousPageNumber || Math.abs(pageNumber - previousPageNumber) <= 1) {
|
|
1594
1593
|
return;
|
|
1595
1594
|
}
|
|
1596
1595
|
const start = previousPageNumber + 1;
|
|
1597
1596
|
const end = pageNumber;
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
page.draw();
|
|
1597
|
+
// if the redaction mode is on render the pages now
|
|
1598
|
+
if (redactionMode) {
|
|
1599
|
+
for (let i = start; i < end; i++) {
|
|
1600
|
+
const page = this.pdfViewer._pages[i - 1];
|
|
1601
|
+
if (page && !page.renderingState) {
|
|
1602
|
+
page.draw();
|
|
1603
|
+
}
|
|
1606
1604
|
}
|
|
1607
1605
|
}
|
|
1606
|
+
else {
|
|
1607
|
+
// keep track of pages as if a user skips to a page we need to render all the missing pages
|
|
1608
|
+
console.log('Adding redaction pages to queue:', start, end);
|
|
1609
|
+
this.redactionPages.push({ start, end });
|
|
1610
|
+
}
|
|
1611
|
+
}
|
|
1612
|
+
onRedactionModeChanged(redactionMode) {
|
|
1613
|
+
if (redactionMode && this.redactionPages.length) {
|
|
1614
|
+
this.redactionPages.forEach(({ start, end }) => {
|
|
1615
|
+
console.log('Drawing redaction pages from queue:', start, end);
|
|
1616
|
+
for (let i = start; i < end; i++) {
|
|
1617
|
+
const page = this.pdfViewer._pages[i - 1];
|
|
1618
|
+
if (page && !page.renderingState) {
|
|
1619
|
+
page.draw();
|
|
1620
|
+
}
|
|
1621
|
+
}
|
|
1622
|
+
});
|
|
1623
|
+
this.redactionPages = [];
|
|
1624
|
+
}
|
|
1608
1625
|
}
|
|
1609
1626
|
emitDocumentInfo(e) {
|
|
1610
1627
|
const allPages = [...this.pdfViewer._pages].map(page => {
|
|
@@ -2118,8 +2135,12 @@ class SocketService {
|
|
|
2118
2135
|
ngOnDestroy() {
|
|
2119
2136
|
this.subscription.unsubscribe();
|
|
2120
2137
|
}
|
|
2121
|
-
connect(url) {
|
|
2122
|
-
|
|
2138
|
+
connect(url, session) {
|
|
2139
|
+
const socketUrl = new URL(url);
|
|
2140
|
+
socketUrl.searchParams.append('sessionId', `${session.sessionId}`);
|
|
2141
|
+
socketUrl.searchParams.append('caseId', `${session.caseId}`);
|
|
2142
|
+
socketUrl.searchParams.append('documentId', `${session.documentId}`);
|
|
2143
|
+
return this.getSocketClient(socketUrl.toString()).subscribe((socket) => {
|
|
2123
2144
|
socket.onopen = (event) => {
|
|
2124
2145
|
this.connected$.next(true);
|
|
2125
2146
|
};
|
|
@@ -2226,7 +2247,10 @@ class IcpUpdateService {
|
|
|
2226
2247
|
}
|
|
2227
2248
|
joinSession(username, session, token) {
|
|
2228
2249
|
this.session = session;
|
|
2229
|
-
|
|
2250
|
+
console.log('Joining Session');
|
|
2251
|
+
console.log(this.session);
|
|
2252
|
+
console.log('Joining session');
|
|
2253
|
+
this.socket.connect(`${session.connectionUrl}?access_token=${token}`, session);
|
|
2230
2254
|
this.socket.connected().subscribe(isConnected => {
|
|
2231
2255
|
if (isConnected) {
|
|
2232
2256
|
this.socket.join({ ...this.session, username });
|