issue-15 #21
							
								
								
									
										14
									
								
								app/DeleteModel.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								app/DeleteModel.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					"use strict";
 | 
				
			||||||
 | 
					Object.defineProperty(exports, "__esModule", { value: true });
 | 
				
			||||||
 | 
					exports.DeleteTransaction = void 0;
 | 
				
			||||||
 | 
					const path = require("node:path");
 | 
				
			||||||
 | 
					const fs = require("fs");
 | 
				
			||||||
 | 
					class DeleteTransaction {
 | 
				
			||||||
 | 
					    static deleteScriptAccount(projectDir, componentName) {
 | 
				
			||||||
 | 
					        const filename = path.join(projectDir, "script-accounts", componentName + ".json");
 | 
				
			||||||
 | 
					        fs.unlinkSync(filename);
 | 
				
			||||||
 | 
					        console.log("Delete ", filename);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					exports.DeleteTransaction = DeleteTransaction;
 | 
				
			||||||
 | 
					//# sourceMappingURL=DeleteModel.js.map
 | 
				
			||||||
							
								
								
									
										10
									
								
								app/DeleteModel.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/DeleteModel.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					import * as path from "node:path";
 | 
				
			||||||
 | 
					import * as fs from "fs";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export class DeleteTransaction {
 | 
				
			||||||
 | 
					  static deleteScriptAccount(projectDir: string, componentName: string) {
 | 
				
			||||||
 | 
					    const filename = path.join(projectDir, "script-accounts", componentName + ".json")
 | 
				
			||||||
 | 
					    fs.unlinkSync(filename)
 | 
				
			||||||
 | 
					    console.log("Delete ", filename)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										18
									
								
								app/main.ts
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								app/main.ts
									
									
									
									
									
								
							@ -1,9 +1,11 @@
 | 
				
			|||||||
import {app, BrowserWindow, screen, Menu, ipcMain, dialog, globalShortcut} from 'electron';
 | 
					import {app, BrowserWindow, dialog, globalShortcut, ipcMain, Menu, screen} from 'electron';
 | 
				
			||||||
import * as path from 'path';
 | 
					import * as path from 'path';
 | 
				
			||||||
import * as fs from 'fs';
 | 
					import * as fs from 'fs';
 | 
				
			||||||
import {json} from "node:stream/consumers";
 | 
					 | 
				
			||||||
import {StorageModel} from "../src/app/game-model/fs/StorageModel";
 | 
					import {StorageModel} from "../src/app/game-model/fs/StorageModel";
 | 
				
			||||||
import {SaveProject} from "./SaveProject";
 | 
					import {SaveProject} from "./SaveProject";
 | 
				
			||||||
 | 
					import {DeleteModel} from "../src/app/game-model/fs/DeleteModel";
 | 
				
			||||||
 | 
					import {ModelComponentType} from "../src/app/game-model/ModelComponentType";
 | 
				
			||||||
 | 
					import {DeleteTransaction} from "./DeleteModel";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
let win: BrowserWindow | null = null;
 | 
					let win: BrowserWindow | null = null;
 | 
				
			||||||
const args = process.argv.slice(1),
 | 
					const args = process.argv.slice(1),
 | 
				
			||||||
@ -99,6 +101,11 @@ function createWindow(): BrowserWindow {
 | 
				
			|||||||
    SaveProject.saveProject(projectDirectory, storageModels);
 | 
					    SaveProject.saveProject(projectDirectory, storageModels);
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ipcMain.on('delete-component', (event, deletedComponent: DeleteModel) => {
 | 
				
			||||||
 | 
					    console.log("Delete Model: ", deletedComponent)
 | 
				
			||||||
 | 
					      deleteComponent(deletedComponent);
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const menuTemplate = [
 | 
					  const menuTemplate = [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      label: 'File',
 | 
					      label: 'File',
 | 
				
			||||||
@ -207,3 +214,10 @@ function openProjectFromFile(openProjectDir: string) {
 | 
				
			|||||||
function saveProject() {
 | 
					function saveProject() {
 | 
				
			||||||
  win!.webContents.send('get-project-data')
 | 
					  win!.webContents.send('get-project-data')
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function deleteComponent(component: DeleteModel) {
 | 
				
			||||||
 | 
					  console.log("Delete Component")
 | 
				
			||||||
 | 
					  if(component.modeltype == ModelComponentType.SCRIPTACCOUNT) {
 | 
				
			||||||
 | 
					    DeleteTransaction.deleteScriptAccount(projectDirectory, component.componentName);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -18,6 +18,7 @@ import {LoadedProject} from "../../app/LoadedProject";
 | 
				
			|||||||
import {ProcessLoadedProject} from "./game-model/fs/ProcessLoadedProject";
 | 
					import {ProcessLoadedProject} from "./game-model/fs/ProcessLoadedProject";
 | 
				
			||||||
import {StoreProject} from "./game-model/fs/store/StoreProject";
 | 
					import {StoreProject} from "./game-model/fs/store/StoreProject";
 | 
				
			||||||
import {Gamesystem} from "./game-model/gamesystems/Gamesystem";
 | 
					import {Gamesystem} from "./game-model/gamesystems/Gamesystem";
 | 
				
			||||||
 | 
					import {DeleteModel} from "./game-model/fs/DeleteModel";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Component({
 | 
					@Component({
 | 
				
			||||||
  selector: 'app-root',
 | 
					  selector: 'app-root',
 | 
				
			||||||
@ -115,6 +116,7 @@ export class AppComponent implements OnInit{
 | 
				
			|||||||
      if(res != undefined && res) {
 | 
					      if(res != undefined && res) {
 | 
				
			||||||
        if(affectedModelComponent instanceof ScriptAccount) {
 | 
					        if(affectedModelComponent instanceof ScriptAccount) {
 | 
				
			||||||
          this.gameModel!.removeScriptAccount(affectedModelComponent);
 | 
					          this.gameModel!.removeScriptAccount(affectedModelComponent);
 | 
				
			||||||
 | 
					          this.electronService.ipcRenderer.send('delete-component', new DeleteModel(affectedModelComponent.componentName, ModelComponentType.SCRIPTACCOUNT))
 | 
				
			||||||
        } else if(affectedModelComponent instanceof Gamesystem) {
 | 
					        } else if(affectedModelComponent instanceof Gamesystem) {
 | 
				
			||||||
          this.gameModel!.removeGamesystem(affectedModelComponent);
 | 
					          this.gameModel!.removeGamesystem(affectedModelComponent);
 | 
				
			||||||
          this.gamesystemOverview!.refresh()
 | 
					          this.gamesystemOverview!.refresh()
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										12
									
								
								src/app/game-model/fs/DeleteModel.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								src/app/game-model/fs/DeleteModel.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					import {ModelComponentType} from "../ModelComponentType";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export class DeleteModel {
 | 
				
			||||||
 | 
					  componentName: string
 | 
				
			||||||
 | 
					  modeltype: ModelComponentType
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  constructor(componentName: string, modeltype: ModelComponentType) {
 | 
				
			||||||
 | 
					    this.componentName = componentName;
 | 
				
			||||||
 | 
					    this.modeltype = modeltype;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,6 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
    "componentName": "Temperature",
 | 
					 | 
				
			||||||
    "componentDescription": "",
 | 
					 | 
				
			||||||
    "minValue": -50,
 | 
					 | 
				
			||||||
    "maxValue": 70
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user