@hmcts/media-viewer
Version:
66 lines • 7.93 kB
JavaScript
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