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, private wss: WebsocketService ){ 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; } } }