Support for different names

This commit is contained in:
Piotr Pekala 2019-11-14 00:42:22 -08:00
parent b6d74c58cb
commit f225de7467
4 changed files with 18 additions and 9 deletions

View File

@ -407,13 +407,16 @@ export class ProjectMapComponent implements OnInit, OnDestroy {
this.subscriptions.push(onInterfaceLabelContextMenu);
this.mapChangeDetectorRef.detectChanges();
}
onNodeCreation(nodeAddedEvent: NodeAddedEvent) {
if(!nodeAddedEvent) {
return;
}
this.nodeService.createFromTemplate(this.server, this.project, nodeAddedEvent.template, nodeAddedEvent.x, nodeAddedEvent.y, 'local').subscribe(() => {
this.nodeService.createFromTemplate(this.server, this.project, nodeAddedEvent.template, nodeAddedEvent.x, nodeAddedEvent.y, 'local').subscribe((node: Node) => {
if (nodeAddedEvent.name !== nodeAddedEvent.template.name) {
node.name = nodeAddedEvent.name;
this.nodeService.updateNode(this.server, node).subscribe(()=>{});
}
this.projectService.nodes(this.server, this.project.project_id).subscribe((nodes: Node[]) => {
nodes.filter((node) => node.label.style === null).forEach((node) => {
@ -422,6 +425,12 @@ export class ProjectMapComponent implements OnInit, OnDestroy {
});
this.nodesDataSource.set(nodes);
nodeAddedEvent.numberOfNodes--;
if (nodeAddedEvent.numberOfNodes > 0) {
nodeAddedEvent.x = nodeAddedEvent.x + 50 < this.project.scene_width/2 ? nodeAddedEvent.x + 50 : nodeAddedEvent.x;
nodeAddedEvent.y = nodeAddedEvent.y + 50 < this.project.scene_height/2 ? nodeAddedEvent.y + 50 : nodeAddedEvent.y;
this.onNodeCreation(nodeAddedEvent);
}
});
});
}

View File

@ -40,10 +40,10 @@
</div>
<form [formGroup]="configurationForm">
<mat-form-field class="form-field">
<input matInput formControlName="name" placeholder="Enter name (default is taken from template)" />
<input type="text" matInput formControlName="name" placeholder="Enter name (default is taken from template)" />
</mat-form-field>
<mat-form-field class="form-field">
<input matInput formControlName="numberOfNodes" placeholder="Enter number of nodes (default value is 1)" />
<input type="number" matInput formControlName="numberOfNodes" placeholder="Enter number of nodes (default value is 1)" />
</mat-form-field>
</form>
@ -53,11 +53,11 @@
<form [formGroup]="positionForm">
Left:&nbsp;
<mat-form-field>
<input matInput formControlName="left"/>
<input matInput type="number" formControlName="left"/>
</mat-form-field>
Top:&nbsp;
<mat-form-field>
<input matInput formControlName="top"/>
<input matInput type="number" formControlName="top"/>
</mat-form-field>
</form>
</div>

View File

@ -70,7 +70,7 @@ export class TemplateListDialogComponent implements OnInit {
}
onAddClick(): void {
if (!this.selectedTemplate) {
if (!this.selectedTemplate || this.filteredTemplates.length === 0) {
this.toasterService.error('Please firstly choose template.');
} else if (!this.positionForm.valid || !this.configurationForm.valid) {
this.toasterService.error('Please fill all required fields.');

View File

@ -45,7 +45,7 @@ export class NodeService {
return this.httpServer.post(server, `/projects/${project.project_id}/nodes/reload`, {});
}
createFromTemplate(server: Server, project: Project, template: Template, x: number, y: number, compute_id: string) {
createFromTemplate(server: Server, project: Project, template: Template, x: number, y: number, compute_id: string): Observable<Node> {
return this.httpServer.post(server, `/projects/${project.project_id}/templates/${template.template_id}`, {
x: Math.round(x),
y: Math.round(y),