import { Component, OnInit } from '@angular/core'; import { MergeComponent } from '../merge/merge.component'; import { HttpClient } from '@angular/common/http'; import { environment } from 'src/environments/environment.development'; import { CommonModule } from '@angular/common'; import { FetchLogService } from 'src/app/shared/services/fetch-log.service'; import { WebsocketService } from 'src/app/shared/services/websocket.service'; @Component({ selector: 'app-changelog', standalone: true, templateUrl: './changelog.component.html', styleUrls: ['./changelog.component.css'], imports: [CommonModule, MergeComponent], }) export class ChangelogComponent { public displayableLogs: string[] = []; public displayableMergeJson: string[] = []; showLogModal: boolean = false; showMergeModal: boolean = false; constructor(private httpClient: HttpClient) { this.fetchLoglist(); // this.translateLogDirToString(); } public fetchLoglist(): string[] { // TODO: Fetch changelog.html // fetch("/changelog") let dirlist: any[] = []; // this.wss.connect(environment.wsapi + '/listFileInDir'); // this.wss.send({ // topic: 'changelog', // }); // let response = this.wss.data; // console.log(response); this.httpClient.get(environment.api+"/listFileInDir/changelog", { withCredentials: true }).subscribe({ next: (value) => { console.log(value) if(typeof value === "object" && value !== null){ if("dirs" in value){ console.log("dirs", value) // dirlist.push(...(value as {dirs: unknown[]})["dirs"]); this.displayableLogs = value.dirs as any[]; } } }, error: (err) => { console.error('Error fetch json: ',err); } }) // console.log(dirlist); this.httpClient.get(environment.api+"/listFileInDir/merge", { withCredentials: true }).subscribe({ next: (value) => { console.log(value) if(typeof value === "object" && value !== null){ if("dirs" in value){ console.log("dirs", value) // dirlist.push(...(value as {dirs: unknown[]})["dirs"]); this.displayableMergeJson = value.dirs as any[]; } } }, error: (err) => { console.error('Error fetch json: ',err); } }) return dirlist; } public translateLogDirToString() { console.log('LogDirList: ', this.displayableLogs); let dirSelector = document.getElementById('log-dir-list'); // for(let dir of this.displayableLogs){ // console.log(dir) // const p = document.createElement('p'); // p.innerText = dir; // dirSelector!.appendChild(p); // dirSelector?.replaceChild(p, dirSelector.children[]) // } } refreshLogList() { this.fetchLoglist(); this.translateLogDirToString(); } viewLog(name: string) { let cli = new FetchLogService(this.httpClient); // this.showLogModal = !this.showLogModal; cli.fetchLogsToDisplay('changelog', true, false, name); cli.fetchLogsToDisplay('changelog', false, false, name); } viewJson(name: string) { let cli = new FetchLogService(this.httpClient); this.showMergeModal = !this.showMergeModal; cli.fetchLogsToDisplay('merge', false, true, name); // cli.fetchLogsToDisplay("", false, false, name); } toggleLogModal(target: string) { if (target == 'merge') { this.showMergeModal = !this.showMergeModal; } else { this.showLogModal = !this.showLogModal; } } }