diff --git a/frontend/webEditor/src/serialize/saveDfdAndDdFile.ts b/frontend/webEditor/src/serialize/saveDfdAndDdFile.ts index 728b9261..822c54f7 100644 --- a/frontend/webEditor/src/serialize/saveDfdAndDdFile.ts +++ b/frontend/webEditor/src/serialize/saveDfdAndDdFile.ts @@ -35,7 +35,12 @@ export class SaveDfdAndDdFileCommand extends SaveFileCommand { async getFiles(context: CommandExecutionContext): Promise[]> { const savedDiagram = this.createSavedDiagram(context); - const response = await this.dfdWebSocket.sendMessage("Json2DFD:" + JSON.stringify(savedDiagram)); + const newName = prompt("Enter Filename (Leave empty to use current file name)"); + + const response = await this.dfdWebSocket.sendMessage( + "Json2DFD:" + JSON.stringify(savedDiagram), + newName || undefined, + ); const nameEndIndex = response.indexOf(":"); const name = response.substring(0, nameEndIndex); const endIndex = diff --git a/frontend/webEditor/src/webSocket/webSocket.ts b/frontend/webEditor/src/webSocket/webSocket.ts index 8811c528..453387c2 100644 --- a/frontend/webEditor/src/webSocket/webSocket.ts +++ b/frontend/webEditor/src/webSocket/webSocket.ts @@ -80,7 +80,7 @@ export class DfdWebSocket { }; } - public sendMessage(message: string): Promise { + public sendMessage(message: string, overwriteName?: string): Promise { const result = new Promise((resolve, reject) => { this.lastRequest.resolve = resolve; this.lastRequest.reject = reject; @@ -90,7 +90,7 @@ export class DfdWebSocket { return result; } - this.webSocket.send(this.webSocketId + ":" + this.fileName.getName() + ":" + message); + this.webSocket.send(this.webSocketId + ":" + (overwriteName ?? this.fileName.getName()) + ":" + message); return result; } }