You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mediarepo/mediarepo-ui/src/app/models/AppState.ts

28 lines
687 B
TypeScript

import {TabState} from "./TabState.rs";
import {FileService} from "../services/file/file.service";
export class AppState {
public tabs: TabState[] = [];
constructor() {
}
public static deserializeJson(stateString: string, fileService: FileService): AppState {
let state = JSON.parse(stateString);
let appState = new AppState();
for (let tab of state.tabs) {
appState.tabs.push(TabState.fromDTO(tab, fileService));
}
return appState
}
public serializeJson(): string {
const tabDTOs = this.tabs.map(tab => tab.getDTO());
return JSON.stringify({
tabs: tabDTOs
});
}
}