Open ScriptAccount from ContextMenu for adding
All checks were successful
E2E Testing / test (push) Successful in 1m22s
All checks were successful
E2E Testing / test (push) Successful in 1m22s
This commit is contained in:
parent
288b6ed220
commit
388fcb044c
@ -70,7 +70,10 @@ function createWindow(): BrowserWindow {
|
|||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Edit...'
|
label: 'Edit...',
|
||||||
|
click: () => {
|
||||||
|
win!.webContents.send('context-menu', "edit");
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Delete...'
|
label: 'Delete...'
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
<button mat-menu-item (click)="openScriptAccountsOverview()">{{ModelComponentTypeUtillities.toString(ModelComponentType.SCRIPTACCOUNT)}}</button>
|
<button mat-menu-item (click)="openScriptAccountsOverview()">{{ModelComponentTypeUtillities.toString(ModelComponentType.SCRIPTACCOUNT)}}</button>
|
||||||
</mat-menu>
|
</mat-menu>
|
||||||
</div>
|
</div>
|
||||||
<app-script-account-overview [gameModel]="gameModel" (onOpenScriptAccount)="openModelComponent($event)"></app-script-account-overview>
|
<app-script-account-overview #scriptAccountOverview [gameModel]="gameModel" (onOpenScriptAccount)="openModelComponent($event)"></app-script-account-overview>
|
||||||
</mat-drawer>
|
</mat-drawer>
|
||||||
|
|
||||||
<div class="example-sidenav-content">
|
<div class="example-sidenav-content">
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
import {Component, OnInit, ViewChild} from '@angular/core';
|
import {Component, NgZone, OnInit, ViewChild} from '@angular/core';
|
||||||
import {ElectronService} from './core/services';
|
import {ElectronService} from './core/services';
|
||||||
import {APP_CONFIG} from '../environments/environment';
|
import {APP_CONFIG} from '../environments/environment';
|
||||||
import {ModelComponentType} from "./game-model/ModelComponentType";
|
import {ModelComponentType} from "./game-model/ModelComponentType";
|
||||||
import {MatDrawerContainer} from "@angular/material/sidenav";
|
import {MatDrawerContainer} from "@angular/material/sidenav";
|
||||||
import {ModelComponentTypeUtillities} from "./game-model/ModelComponentTypeUtillities";
|
import {ModelComponentTypeUtillities} from "./game-model/ModelComponentTypeUtillities";
|
||||||
import {GameModel} from "./game-model/GameModel";
|
import {GameModel} from "./game-model/GameModel";
|
||||||
import {ScriptAccount} from "./game-model/scriptAccounts/ScriptAccount";
|
|
||||||
import {EditorComponent} from "./editor/editor.component";
|
import {EditorComponent} from "./editor/editor.component";
|
||||||
import {ModelComponent} from "./game-model/ModelComponent";
|
import {ModelComponent} from "./game-model/ModelComponent";
|
||||||
|
import {
|
||||||
|
ScriptAccountOverviewComponent
|
||||||
|
} from "./side-overviews/script-account-overview/script-account-overview.component";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
@ -19,11 +21,12 @@ export class AppComponent implements OnInit{
|
|||||||
openContent : ModelComponentType | undefined = undefined;
|
openContent : ModelComponentType | undefined = undefined;
|
||||||
@ViewChild('drawer') drawer: MatDrawerContainer|undefined
|
@ViewChild('drawer') drawer: MatDrawerContainer|undefined
|
||||||
@ViewChild('editor') editor: EditorComponent|undefined
|
@ViewChild('editor') editor: EditorComponent|undefined
|
||||||
|
@ViewChild('scriptAccountOverview') scriptAccountOverview: ScriptAccountOverviewComponent | undefined
|
||||||
|
|
||||||
gameModel: GameModel | undefined
|
gameModel: GameModel | undefined
|
||||||
|
|
||||||
constructor(
|
constructor(private electronService: ElectronService,
|
||||||
private electronService: ElectronService,
|
private zone: NgZone
|
||||||
) {
|
) {
|
||||||
console.log('APP_CONFIG', APP_CONFIG);
|
console.log('APP_CONFIG', APP_CONFIG);
|
||||||
|
|
||||||
@ -32,6 +35,17 @@ export class AppComponent implements OnInit{
|
|||||||
console.log('Run in electron');
|
console.log('Run in electron');
|
||||||
console.log('Electron ipcRenderer', this.electronService.ipcRenderer);
|
console.log('Electron ipcRenderer', this.electronService.ipcRenderer);
|
||||||
console.log('NodeJS childProcess', this.electronService.childProcess);
|
console.log('NodeJS childProcess', this.electronService.childProcess);
|
||||||
|
|
||||||
|
electronService.ipcRenderer.on('context-menu', (event: any, message: string) => {
|
||||||
|
this.zone.run(() => {
|
||||||
|
if(message == "edit") {
|
||||||
|
console.log("Edit!")
|
||||||
|
if(this.openContent == ModelComponentType.SCRIPTACCOUNT && this.scriptAccountOverview != undefined && this.scriptAccountOverview.selectedScriptAccount != undefined) {
|
||||||
|
this.editor!.openGameModelComponent(this.scriptAccountOverview.selectedScriptAccount!);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
console.log('Run in browser');
|
console.log('Run in browser');
|
||||||
}
|
}
|
||||||
|
@ -8,3 +8,7 @@
|
|||||||
color: #ccffff;
|
color: #ccffff;
|
||||||
align-content: baseline;
|
align-content: baseline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.selected-item {
|
||||||
|
background-color: #8696b6;
|
||||||
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
<mat-action-list>
|
<mat-action-list>
|
||||||
<mat-list-item class="scriptAccount-item" *ngFor="let scriptAccount of gameModel!.scriptAccounts"
|
<mat-list-item class="scriptAccount-item" *ngFor="let scriptAccount of gameModel!.scriptAccounts"
|
||||||
(dblclick)="onOpenScriptAccount(scriptAccount)">
|
(dblclick)="onOpenScriptAccount(scriptAccount)" (click)="selectScriptAccount(scriptAccount)"
|
||||||
|
[ngClass]="selectedScriptAccount === scriptAccount ?'selected-item':''"
|
||||||
|
(contextmenu)="selectScriptAccount(scriptAccount)">
|
||||||
<mat-icon class="scriptAccount-icon">inventory_2</mat-icon>{{scriptAccount.componentName}}
|
<mat-icon class="scriptAccount-icon">inventory_2</mat-icon>{{scriptAccount.componentName}}
|
||||||
</mat-list-item>
|
</mat-list-item>
|
||||||
</mat-action-list>
|
</mat-action-list>
|
||||||
|
@ -40,8 +40,6 @@ describe('ScriptAccountOverview', () => {
|
|||||||
component.onCreateNewScriptAccount();
|
component.onCreateNewScriptAccount();
|
||||||
fixture.detectChanges()
|
fixture.detectChanges()
|
||||||
expect(component.openScriptAccountEmitter.emit).toBeCalledTimes(1);
|
expect(component.openScriptAccountEmitter.emit).toBeCalledTimes(1);
|
||||||
|
|
||||||
|
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
|
||||||
|
@ -12,6 +12,8 @@ export class ScriptAccountOverviewComponent {
|
|||||||
@Input("gameModel") gameModel: GameModel | undefined
|
@Input("gameModel") gameModel: GameModel | undefined
|
||||||
@Output("onOpenScriptAccount") openScriptAccountEmitter: EventEmitter<ScriptAccount> = new EventEmitter<ScriptAccount>();
|
@Output("onOpenScriptAccount") openScriptAccountEmitter: EventEmitter<ScriptAccount> = new EventEmitter<ScriptAccount>();
|
||||||
|
|
||||||
|
selectedScriptAccount: ScriptAccount | undefined
|
||||||
|
|
||||||
constructor(private electronService: ElectronService,
|
constructor(private electronService: ElectronService,
|
||||||
private zone: NgZone) {
|
private zone: NgZone) {
|
||||||
if(electronService.isElectron) {
|
if(electronService.isElectron) {
|
||||||
@ -36,4 +38,9 @@ export class ScriptAccountOverviewComponent {
|
|||||||
this.openScriptAccountEmitter.emit(scriptAccount);
|
this.openScriptAccountEmitter.emit(scriptAccount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
selectScriptAccount(scriptAccount: ScriptAccount) {
|
||||||
|
this.selectedScriptAccount = scriptAccount;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user