Browse Source

cleanup of frontend

master
nova 4 years ago
parent
commit
826dad2ad0
  1. 1
      chatto/src/main/javascript/ts/src/main.ts
  2. 18
      chatto/src/main/javascript/ts/src/model/ChatModelHelper.ts
  3. 7
      chatto/src/main/javascript/ts/src/model/UserModel.ts
  4. 6
      chatto/src/main/javascript/ts/src/service/SJCLEncryptionService.ts
  5. 24
      chatto/src/main/javascript/ts/src/view/ChatView.ts
  6. 2
      chatto/src/main/resources/templates/chat.html

1
chatto/src/main/javascript/ts/src/main.ts

@ -130,3 +130,4 @@ ns.success("Welcome");
const ss = FuseSearchService.getInstance<ActiveUserViewModel>([""]);
const test = Builder<UserViewDeps>().build();

18
chatto/src/main/javascript/ts/src/model/ChatModelHelper.ts

@ -1,17 +1,13 @@
import { ChatMessageDTO } from "../dto/ChatMessageDTO";
import * as log from "loglevel";
import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel";
import { JsonAPI } from "../singleton/JsonAPI";
import { fetchErrorHandler } from "./FetchErrorHandler";
import { ChatMessageDTO } from "../dto/ChatMessageDTO";
import { EncryptionService } from "../service/EncryptionService";
import { SJCLEncryptionService } from "../service/SJCLEncryptionService";
import { ChatModel } from "./ChatModel"
import { JsonAPI } from "../singleton/JsonAPI";
import { Sprintf } from "../singleton/Sprintf";
import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel";
import { ChatModel } from "./ChatModel";
import { fetchErrorHandler } from "./FetchErrorHandler";
export class ChatModelHelper {
private static readonly _encryptionService: EncryptionService = new SJCLEncryptionService();
@ -26,8 +22,6 @@ export class ChatModelHelper {
return data.map(vm => this.toChatMessageVM(vm, passphrase));
}
}
// return null;
}
private static toChatMessageVM(chatMessageDTO: ChatMessageDTO, passphrase: string): ChatMessageViewModel {

7
chatto/src/main/javascript/ts/src/model/UserModel.ts

@ -67,7 +67,7 @@ export class UserModel implements Subject {
*/
public getActiveUsers(): void {
if(JsonAPI.authToken!= null){
this.getActiveUsersAjax(JsonAPI.authToken, JsonAPI.ACTIVE_USERS_GET)
this.getActiveUsersAjax(JsonAPI.authToken)
.then(data => {
// // activeUsers = data;
// sessionStorage.setItem('activeUsers', JSON.stringify(data));
@ -82,10 +82,9 @@ export class UserModel implements Subject {
}
}
async getActiveUsersAjax(authToken2: string, URL: string): Promise<any> {
async getActiveUsersAjax(authToken: string): Promise<any> {
let headers = new Headers();
// headers.append('Authorization', basicAuthToken);
headers.append('X-AUTH-TOKEN', authToken2);
headers.append('X-AUTH-TOKEN', authToken);
let response = await fetch(JsonAPI.ACTIVE_USERS_GET, {
method: 'GET',
headers: headers

6
chatto/src/main/javascript/ts/src/service/SJCLEncryptionService.ts

@ -3,12 +3,12 @@ import * as sjcl from "sjcl";
import { MessageCipherDTO } from "../dto/MessageCipherDTO";
export class SJCLEncryptionService implements EncryptionService {
private readonly params = { mode: "gcm", ts: 128, adata: "", iter: 10000}
private readonly params = { mode: "gcm", ts: 128, adata: "", iter: 10000 }
public encrypt(passphrase: string, plainText: string): MessageCipherDTO {
// @ts-ignore
return JSON.parse(sjcl.encrypt(passphrase, plainText, this.params) as string) as MessageCipherDTO;
}
}
public decrypt(passphrase: string, cipher: MessageCipherDTO): string {
return sjcl.decrypt(passphrase, JSON.stringify(cipher), undefined, undefined);
}

24
chatto/src/main/javascript/ts/src/view/ChatView.ts

@ -1,27 +1,19 @@
import { Observer } from "../observe/Observer";
import { TemplateFactory } from "../template/TemplateFactory";
import { ChatModel } from "../model/ChatModel";
import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel";
import * as log from 'loglevel';
import * as DOMPurify from 'dompurify';
import { MarkDownService } from "../service/MarkDownService";
import { MarkDownItMarkDownService } from "../service/MarkDownItMarkDownService";
import { JsonAPI } from "../singleton/JsonAPI";
import * as log from 'loglevel';
import { ChatMessageDTO } from "../dto/ChatMessageDTO";
import { MessageCipherDTO } from "../dto/MessageCipherDTO";
import { SJCLEncryptionService } from "../service/SJCLEncryptionService";
import { ChatModel } from "../model/ChatModel";
import { Observer } from "../observe/Observer";
import { EncryptionService } from "../service/EncryptionService";
import { ChatMessageDTO } from "../dto/ChatMessageDTO";
import { fetchHandler } from "./FetchHandler";
import { MarkDownService } from "../service/MarkDownService";
import { JsonAPI } from "../singleton/JsonAPI";
import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel";
import { ChatViewDeps } from "./ChatViewDeps";
import { fetchHandler } from "./FetchHandler";
export class ChatView implements Observer {
private readonly _chatModel: ChatModel;
private readonly _messageContainer: HTMLElement;
// private readonly _messageSendTemplate = TemplateFactory.getTemplate('msg_container_send_template');
// private readonly _messageReceiveTemplate = TemplateFactory.getTemplate('msg_container_template');
// private readonly _markdownService: MarkDownService = new MarkDownItMarkDownService();
// private readonly _encryptionService: EncryptionService = new SJCLEncryptionService();
private readonly _messageSendTemplate: Handlebars.TemplateDelegate<ChatMessageViewModel>;
private readonly _messageReceiveTemplate: Handlebars.TemplateDelegate<ChatMessageViewModel>;
private readonly _markdownService: MarkDownService;

2
chatto/src/main/resources/templates/chat.html

@ -128,7 +128,7 @@
<div class="d-flex bd-highlight">
<div class="img_cont">
<img src="https://static.turbosquid.com/Preview/001292/481/WV/_D.jpg" class="rounded-circle user_img">
<span class="online_icon"></span>
<!-- <span class="online_icon"></span> -->
</div>
<div class="user_info">
<span id="user-name-span">Chat with Khalid</span>

Loading…
Cancel
Save