Implement workdir change support in webide

This commit is contained in:
Kristóf Tóth 2018-03-09 09:36:39 +01:00
parent 134141b495
commit 703beec5b3

View File

@ -32,14 +32,16 @@ export class WebideComponent implements OnInit {
code: string = defaultSourceCode; code: string = defaultSourceCode;
language = 'javascript'; language = 'javascript';
theme = 'monokai'; theme = 'monokai';
directory = '';
files: string[]; files: string[];
codeState = 'SAVED'; codeState = 'SAVED';
deployButtonState = 'DEPLOYED'; deployButtonState = 'DEPLOYED';
autosave = null; autosave = null;
command_handlers = {'reload': this.reloadHandler.bind(this), command_handlers = {'reload': this.reloadHandler.bind(this),
'read': this.readHandler.bind(this), 'read': this.readHandler.bind(this),
'select': this.selectHandler.bind(this), 'select': this.selectHandler.bind(this),
'write': this.writeHandler.bind(this)}; 'write': this.writeHandler.bind(this),
'selectdir': this.selectdirHandler.bind(this)};
constructor(private webSocketService: WebSocketService, constructor(private webSocketService: WebSocketService,
private changeDetectorRef: ChangeDetectorRef, private changeDetectorRef: ChangeDetectorRef,
@ -64,6 +66,7 @@ export class WebideComponent implements OnInit {
updateFileData(data: SourceCode) { updateFileData(data: SourceCode) {
this.filename = data.filename; this.filename = data.filename;
this.directory = data.directory;
this.code = data.content; this.code = data.content;
this.language = modelist.getModeForPath(this.filename).name; this.language = modelist.getModeForPath(this.filename).name;
this.files = data.files; this.files = data.files;
@ -86,6 +89,10 @@ export class WebideComponent implements OnInit {
this.setCodeState('SAVED'); this.setCodeState('SAVED');
} }
selectdirHandler(data: SourceCode) {
this.updateFileData(data);
}
resetAutoSaveCountdown() { resetAutoSaveCountdown() {
if (this.autosave) { if (this.autosave) {
clearInterval(this.autosave); clearInterval(this.autosave);