UNPKG

@hmcts/media-viewer

Version:
66 lines 7.93 kB
import { Injectable } from '@angular/core'; import { IcpEvents } from './icp.events'; import * as i0 from "@angular/core"; import * as i1 from "./socket.service"; export class IcpUpdateService { constructor(socket) { this.socket = socket; } joinSession(username, session) { this.session = session; this.socket.connect(session.connectionUrl); this.socket.connected().subscribe(isConnected => { if (isConnected) { this.socket.join({ ...this.session, username }); } }); return this.socket.listen(IcpEvents.SESSION_JOINED); } leaveSession() { this.socket.leave(this.session); } newParticipantJoined() { return this.socket.listen(IcpEvents.NEW_PARTICIPANT_JOINED); } clientDisconnected() { return this.socket.listen(IcpEvents.CLIENT_DISCONNECTED); } removeParticipant(participantId) { this.socket.emit(IcpEvents.REMOVE_PARTICIPANT, { participantId: participantId, caseId: this.session.caseId, documentId: this.session.documentId }); } participantListUpdated() { return this.socket.listen(IcpEvents.PARTICIPANTS_UPDATED); } updatePresenter(presenter) { this.socket.emit(IcpEvents.UPDATE_PRESENTER, { ...this.session, presenterId: presenter.id, presenterName: presenter.username }); } presenterUpdated() { return this.socket.listen(IcpEvents.PRESENTER_UPDATED); } updateScreen(screen) { const update = { body: screen, caseId: this.session.caseId, documentId: this.session.documentId }; this.socket.emit(IcpEvents.UPDATE_SCREEN, update); } screenUpdated() { return this.socket.listen(IcpEvents.SCREEN_UPDATED); } /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IcpUpdateService, deps: [{ token: i1.SocketService }], target: i0.ɵɵFactoryTarget.Injectable }); } /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IcpUpdateService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IcpUpdateService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.SocketService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLXVwZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvaWNwL2ljcC11cGRhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQUd6QyxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQW9CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7SUFBSSxDQUFDO0lBRTlDLFdBQVcsQ0FBQyxRQUFnQixFQUFFLE9BQW1CO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUM5QyxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGlCQUFpQixDQUFDLGFBQWE7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFO1lBQzdDLGFBQWEsRUFBRSxhQUFhO1lBQzVCLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDM0IsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUF5QjtRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUU7WUFDM0MsR0FBRyxJQUFJLENBQUMsT0FBTztZQUNmLFdBQVcsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUN6QixhQUFhLEVBQUUsU0FBUyxDQUFDLFFBQVE7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUF1QjtRQUNsQyxNQUFNLE1BQU0sR0FBRztZQUNiLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsQ0FBQztrSUFoRVUsZ0JBQWdCO3NJQUFoQixnQkFBZ0IsY0FESCxNQUFNOzs0RkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNvY2tldFNlcnZpY2UgfSBmcm9tICcuL3NvY2tldC5zZXJ2aWNlJztcbmltcG9ydCB7IEljcFBhcnRpY2lwYW50LCBJY3BTY3JlZW5VcGRhdGUsIEljcFNlc3Npb24gfSBmcm9tICcuL2ljcC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEljcEV2ZW50cyB9IGZyb20gJy4vaWNwLmV2ZW50cyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSWNwVXBkYXRlU2VydmljZSB7XG5cbiAgc2Vzc2lvbjogSWNwU2Vzc2lvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNvY2tldDogU29ja2V0U2VydmljZSkgeyB9XG5cbiAgam9pblNlc3Npb24odXNlcm5hbWU6IHN0cmluZywgc2Vzc2lvbjogSWNwU2Vzc2lvbikge1xuICAgIHRoaXMuc2Vzc2lvbiA9IHNlc3Npb247XG4gICAgdGhpcy5zb2NrZXQuY29ubmVjdChzZXNzaW9uLmNvbm5lY3Rpb25VcmwpO1xuICAgIHRoaXMuc29ja2V0LmNvbm5lY3RlZCgpLnN1YnNjcmliZShpc0Nvbm5lY3RlZCA9PiB7XG4gICAgICBpZiAoaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5zb2NrZXQuam9pbih7IC4uLnRoaXMuc2Vzc2lvbiwgdXNlcm5hbWUgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuc29ja2V0Lmxpc3RlbihJY3BFdmVudHMuU0VTU0lPTl9KT0lORUQpO1xuICB9XG5cbiAgbGVhdmVTZXNzaW9uKCkge1xuICAgIHRoaXMuc29ja2V0LmxlYXZlKHRoaXMuc2Vzc2lvbik7XG4gIH1cblxuICBuZXdQYXJ0aWNpcGFudEpvaW5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zb2NrZXQubGlzdGVuKEljcEV2ZW50cy5ORVdfUEFSVElDSVBBTlRfSk9JTkVEKTtcbiAgfVxuXG4gIGNsaWVudERpc2Nvbm5lY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zb2NrZXQubGlzdGVuKEljcEV2ZW50cy5DTElFTlRfRElTQ09OTkVDVEVEKTtcbiAgfVxuXG4gIHJlbW92ZVBhcnRpY2lwYW50KHBhcnRpY2lwYW50SWQpIHtcbiAgICB0aGlzLnNvY2tldC5lbWl0KEljcEV2ZW50cy5SRU1PVkVfUEFSVElDSVBBTlQsIHtcbiAgICAgIHBhcnRpY2lwYW50SWQ6IHBhcnRpY2lwYW50SWQsXG4gICAgICBjYXNlSWQ6IHRoaXMuc2Vzc2lvbi5jYXNlSWQsXG4gICAgICBkb2N1bWVudElkOiB0aGlzLnNlc3Npb24uZG9jdW1lbnRJZFxuICAgIH0pO1xuICB9XG5cbiAgcGFydGljaXBhbnRMaXN0VXBkYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zb2NrZXQubGlzdGVuKEljcEV2ZW50cy5QQVJUSUNJUEFOVFNfVVBEQVRFRCk7XG4gIH1cblxuICB1cGRhdGVQcmVzZW50ZXIocHJlc2VudGVyOiBJY3BQYXJ0aWNpcGFudCkge1xuICAgIHRoaXMuc29ja2V0LmVtaXQoSWNwRXZlbnRzLlVQREFURV9QUkVTRU5URVIsIHtcbiAgICAgIC4uLnRoaXMuc2Vzc2lvbixcbiAgICAgIHByZXNlbnRlcklkOiBwcmVzZW50ZXIuaWQsXG4gICAgICBwcmVzZW50ZXJOYW1lOiBwcmVzZW50ZXIudXNlcm5hbWVcbiAgICB9KTtcbiAgfVxuXG4gIHByZXNlbnRlclVwZGF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc29ja2V0Lmxpc3RlbihJY3BFdmVudHMuUFJFU0VOVEVSX1VQREFURUQpO1xuICB9XG5cbiAgdXBkYXRlU2NyZWVuKHNjcmVlbjogSWNwU2NyZWVuVXBkYXRlKSB7XG4gICAgY29uc3QgdXBkYXRlID0ge1xuICAgICAgYm9keTogc2NyZWVuLFxuICAgICAgY2FzZUlkOiB0aGlzLnNlc3Npb24uY2FzZUlkLFxuICAgICAgZG9jdW1lbnRJZDogdGhpcy5zZXNzaW9uLmRvY3VtZW50SWRcbiAgICB9O1xuICAgIHRoaXMuc29ja2V0LmVtaXQoSWNwRXZlbnRzLlVQREFURV9TQ1JFRU4sIHVwZGF0ZSk7XG4gIH1cblxuICBzY3JlZW5VcGRhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLnNvY2tldC5saXN0ZW4oSWNwRXZlbnRzLlNDUkVFTl9VUERBVEVEKTtcbiAgfVxufVxuIl19