|
|
@ -20,8 +20,8 @@ export class UserView implements Observer { |
|
|
|
private readonly _userSearchButton: HTMLElement; |
|
|
|
private readonly _userSearchCancelButton: HTMLElement; |
|
|
|
private readonly _searchService: SearchService<ActiveUserViewModel>; |
|
|
|
// private userBoxes: any[] = [];
|
|
|
|
|
|
|
|
private readonly _userContactOnlineTemplate: Handlebars.TemplateDelegate<ActiveUserViewModel> = TemplateFactory.getTemplate('user-contact-online-template'); |
|
|
|
private readonly _userContactOfflineTemplate: Handlebars.TemplateDelegate<ActiveUserViewModel> = TemplateFactory.getTemplate('user-contact-offline-template'); |
|
|
|
|
|
|
|
constructor(model: UserModel, chatModel: ChatModel, usersListElement: HTMLElement, |
|
|
|
userSearchInputElement: HTMLInputElement, userSearchButton: HTMLElement, userSearchCancelButton: HTMLElement) { |
|
|
@ -36,15 +36,11 @@ export class UserView implements Observer { |
|
|
|
this.addSearchEventListeners(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
update(data: ActiveUserViewModel[]): void { |
|
|
|
let template = TemplateFactory.getTemplate('user-contact-online-template'); |
|
|
|
let html: string = ""; |
|
|
|
data.forEach((element: ActiveUserViewModel) => { |
|
|
|
html += template(element); |
|
|
|
element.online ? html+=this._userContactOnlineTemplate(element) : html+=this._userContactOfflineTemplate(element); |
|
|
|
}); |
|
|
|
// this._element.innerHTML = html;
|
|
|
|
$(this._usersListElement).html(DOMPurify.sanitize(html)); |
|
|
|
this.addUserCallBacks(); |
|
|
|
console.log(this._usersListElement.innerHTML); |
|
|
|