Permit to remove callback
This commit is contained in:
parent
850be63284
commit
f95f38b092
@ -15,7 +15,7 @@ export class DiscussionManager {
|
|||||||
|
|
||||||
private activeDiscussion: boolean = false;
|
private activeDiscussion: boolean = false;
|
||||||
|
|
||||||
private sendMessageCallBack : Set<SendMessageCallback> = new Set<SendMessageCallback>();
|
private sendMessageCallBack : Map<number|string, SendMessageCallback> = new Map<number|string, SendMessageCallback>();
|
||||||
|
|
||||||
constructor(name: string) {
|
constructor(name: string) {
|
||||||
this.mainContainer = HtmlUtils.getElementByIdOrFail<HTMLDivElement>('main-container');
|
this.mainContainer = HtmlUtils.getElementByIdOrFail<HTMLDivElement>('main-container');
|
||||||
@ -71,7 +71,7 @@ export class DiscussionManager {
|
|||||||
if (event.key === 'Enter') {
|
if (event.key === 'Enter') {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
this.addMessage(name, inputMessage.value, true);
|
this.addMessage(name, inputMessage.value, true);
|
||||||
for(const callback of this.sendMessageCallBack) {
|
for(const callback of this.sendMessageCallBack.values()) {
|
||||||
callback(inputMessage.value);
|
callback(inputMessage.value);
|
||||||
}
|
}
|
||||||
inputMessage.value = "";
|
inputMessage.value = "";
|
||||||
@ -160,10 +160,11 @@ export class DiscussionManager {
|
|||||||
if(element){
|
if(element){
|
||||||
element.remove();
|
element.remove();
|
||||||
}
|
}
|
||||||
|
this.sendMessageCallBack.delete(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public onSendMessageCallback(callback: SendMessageCallback): void {
|
public onSendMessageCallback(userId: string|number, callback: SendMessageCallback): void {
|
||||||
this.sendMessageCallBack.add(callback);
|
this.sendMessageCallBack.set(userId, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -579,8 +579,8 @@ export class MediaManager {
|
|||||||
this.discussionManager.addMessage(name, message, isMe)
|
this.discussionManager.addMessage(name, message, isMe)
|
||||||
}
|
}
|
||||||
|
|
||||||
public addSendMessageCallback(callback: SendMessageCallback){
|
public addSendMessageCallback(userId: string|number, callback: SendMessageCallback){
|
||||||
this.discussionManager.onSendMessageCallback(callback)
|
this.discussionManager.onSendMessageCallback(userId, callback)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ export class SimplePeer {
|
|||||||
const peer = new VideoPeer(user.userId, user.initiator ? user.initiator : false, this.Connection);
|
const peer = new VideoPeer(user.userId, user.initiator ? user.initiator : false, this.Connection);
|
||||||
|
|
||||||
//permit to send message
|
//permit to send message
|
||||||
mediaManager.addSendMessageCallback((message: string) => {
|
mediaManager.addSendMessageCallback(user.userId,(message: string) => {
|
||||||
peer.write(new Buffer(JSON.stringify({type: MESSAGE_TYPE_MESSAGE, name: name?.toUpperCase(), message: message})));
|
peer.write(new Buffer(JSON.stringify({type: MESSAGE_TYPE_MESSAGE, name: name?.toUpperCase(), message: message})));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user