Merge pull request #1365 from GNS3/enhancement/1355

Enhancement/1355
This commit is contained in:
Jeremy Grossmann 2022-07-26 23:50:17 +02:00 committed by GitHub
commit f75e7e0e10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
33 changed files with 540 additions and 230 deletions

View File

@ -215,7 +215,7 @@ const routes: Routes = [
}, },
{ path: 'controller/:controller_id/preferences/docker/addtemplate', component: AddDockerTemplateComponent, canActivate: [LoginGuard] }, { path: 'controller/:controller_id/preferences/docker/addtemplate', component: AddDockerTemplateComponent, canActivate: [LoginGuard] },
{ path: 'controller/:controller_id/preferences/iou/templates', component: IouTemplatesComponent, canActivate: [LoginGuard] }, { path: 'controller/:controller_id/preferences/iou/templates', component: IouTemplatesComponent, canActivate: [LoginGuard] },
{ path: 'controller/:controller_id//preferences/iou/templates/:template_id', component: IouTemplateDetailsComponent, canActivate: [LoginGuard] }, { path: 'controller/:controller_id/preferences/iou/templates/:template_id', component: IouTemplateDetailsComponent, canActivate: [LoginGuard] },
{ {
path: 'controller/:controller_id/preferences/iou/templates/:template_id/copy', path: 'controller/:controller_id/preferences/iou/templates/:template_id/copy',
component: CopyIouTemplateComponent, component: CopyIouTemplateComponent,

View File

@ -1,22 +1,26 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Built-in preferences</h1> <div class=" col col-md-1">
<button class="top-button" class="cancel-button" routerLink="/controller/{{ controllerId }}/preferences" mat-button> <button class="top-button" class="cancel-button" routerLink="/controller/{{ controllerId }}/preferences" mat-button>
Back <mat-icon>arrow_back</mat-icon>
</button> </button>
</div>
<div class="col-md-11">
<h1 class="col">Built-in templates</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">
<div class="listcontainer mat-elevation-z8"> <div class="listcontainer mat-elevation-z8">
<mat-nav-list> <mat-nav-list>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/builtin/ethernet-hubs"> <mat-list-item routerLink="/controller/{{ controllerId }}/preferences/builtin/ethernet-hubs">
Ethernet hubs Ethernet hub templates
</mat-list-item> </mat-list-item>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/builtin/ethernet-switches"> <mat-list-item routerLink="/controller/{{ controllerId }}/preferences/builtin/ethernet-switches">
Ethernet switches Ethernet switch templates
</mat-list-item> </mat-list-item>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/builtin/cloud-nodes"> Cloud nodes </mat-list-item> <mat-list-item routerLink="/controller/{{ controllerId }}/preferences/builtin/cloud-nodes"> Cloud node templates </mat-list-item>
</mat-nav-list> </mat-nav-list>
</div> </div>
</div> </div>

View File

@ -1,7 +1,14 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">New cloud node template</h1> <div class="col col-md-1">
<button *ngIf="controller" class="top-button" class="cancel-button col" (click)="goBack()" mat-button>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col-md-11">
<h1 class="col">New cloud node template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">

View File

@ -1,26 +1,34 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Cloud nodes templates</h1> <div class="col-md-1">
<button <button
*ngIf="controller" *ngIf="controller"
class="top-button" class="top-button"
class="cancel-button" class="cancel-button"
routerLink="/controller/{{ controller.id }}/preferences/builtin" routerLink="/controller/{{ controller.id }}/preferences/builtin"
mat-button mat-button
> >
Back <mat-icon>arrow_back</mat-icon>
</button> </button>
<button </div>
*ngIf="controller" <div class="col-md-10">
class="top-button" <h1 class="col">Cloud nodes templates</h1>
routerLink="/controller/{{ controller.id }}/preferences/builtin/cloud-nodes/addtemplate" </div>
mat-raised-button <div class="col-md-1">
color="primary" <button
> *ngIf="controller"
Add cloud node template class="top-button cancel-button"
</button> matTooltip=" Add cloud node template"
matTooltipClass="custom-tooltip"
routerLink="/controller/{{ controller.id }}/preferences/builtin/cloud-nodes/addtemplate"
mat-button
>
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
</div> </div>
</div> </div>
<app-empty-templates-list *ngIf="!cloudNodesTemplates.length"></app-empty-templates-list> <app-empty-templates-list *ngIf="!cloudNodesTemplates.length"></app-empty-templates-list>
<div class="default-content" *ngIf="cloudNodesTemplates.length"> <div class="default-content" *ngIf="cloudNodesTemplates.length">
@ -37,6 +45,9 @@
<button mat-menu-item (click)="deleteTemplate(template)"> <button mat-menu-item (click)="deleteTemplate(template)">
<mat-icon>delete</mat-icon><span>Delete</span> <mat-icon>delete</mat-icon><span>Delete</span>
</button> </button>
<button mat-menu-item routerLink="{{ template.template_id }}">
<mat-icon>edit</mat-icon><span>Edit</span>
</button>
</mat-menu> </mat-menu>
</div> </div>
</mat-nav-list> </mat-nav-list>

View File

@ -1,7 +1,21 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">New Ethernet hub template</h1> <div class="col-md-1">
<button
*ngIf="controller"
class="top-button"
class="cancel-button"
(click)="goBack()"
mat-button
>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col-md-11">
<h1 class="col">New Ethernet hub template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">

View File

@ -1,7 +1,20 @@
<div class="content" [ngClass]="{ shadowed: isSymbolSelectionOpened }"> <div class="content" [ngClass]="{ shadowed: isSymbolSelectionOpened }">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Ethernet hub settings</h1> <div class="col-md-1">
<button
*ngIf="controller"
class="top-button"
class="cancel-button"
(click)="goBack()"
mat-button
>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col-md-11">
<h1 class="col">Ethernet hub settings</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content" *ngIf="ethernetHubTemplate"> <div class="default-content" *ngIf="ethernetHubTemplate">

View File

@ -1,25 +1,32 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Ethernet hubs templates</h1> <div class="col-md-1">
<button <button
*ngIf="controller" *ngIf="controller"
class="top-button" class="top-button"
class="cancel-button" class="cancel-button"
routerLink="/controller/{{ controller.id }}/preferences/builtin" routerLink="/controller/{{ controller.id }}/preferences/builtin"
mat-button mat-button
> >
Back <mat-icon>arrow_back</mat-icon>
</button> </button>
<button </div>
*ngIf="controller" <div class="col-md-10">
class="top-button" <h1 class="col">Ethernet hubs templates</h1>
routerLink="/controller/{{ controller.id }}/preferences/builtin/ethernet-hubs/addtemplate" </div>
mat-raised-button <div class="col-md-1">
color="primary" <button
> *ngIf="controller"
Add Ethernet hub template class="top-button cancel-button"
</button> matTooltip="Add Ethernet hub template"
matTooltipClass="custom-tooltip"
routerLink="/controller/{{ controller.id }}/preferences/builtin/ethernet-hubs/addtemplate"
mat-button
>
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
</div> </div>
</div> </div>
<app-empty-templates-list *ngIf="!ethernetHubsTemplates.length"></app-empty-templates-list> <app-empty-templates-list *ngIf="!ethernetHubsTemplates.length"></app-empty-templates-list>
@ -37,6 +44,9 @@
<button mat-menu-item (click)="deleteTemplate(template)"> <button mat-menu-item (click)="deleteTemplate(template)">
<mat-icon>delete</mat-icon><span>Delete</span> <mat-icon>delete</mat-icon><span>Delete</span>
</button> </button>
<button mat-menu-item routerLink="{{ template.template_id }}">
<mat-icon>edit</mat-icon><span>Edit</span>
</button>
</mat-menu> </mat-menu>
</div> </div>
</mat-nav-list> </mat-nav-list>

View File

@ -1,8 +1,21 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<div class="col col-md-1">
<button
*ngIf="controller"
class="top-button"
class="cancel-button col"
(click)="goBack()"
mat-button
>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col-md-11">
<h1 class="col">New Ethernet switch template</h1> <h1 class="col">New Ethernet switch template</h1>
</div> </div>
</div>
</div> </div>
<div class="default-content"> <div class="default-content">
<mat-card class="matCard"> <mat-card class="matCard">

View File

@ -1,7 +1,14 @@
<div class="content" [ngClass]="{ shadowed: isSymbolSelectionOpened }"> <div class="content" [ngClass]="{ shadowed: isSymbolSelectionOpened }">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Ethernet switch configuration</h1> <div class="col col-md-1">
<button *ngIf="controller" class="top-button" class="cancel-button col" (click)="goBack()" mat-button>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col-md-11">
<h1 class="col">Ethernet switch configuration</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content" *ngIf="ethernetSwitchTemplate"> <div class="default-content" *ngIf="ethernetSwitchTemplate">

View File

@ -1,26 +1,34 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Ethernet switches templates</h1> <div class="col-md-1">
<button <button
*ngIf="controller" *ngIf="controller"
class="top-button" class="top-button"
class="cancel-button" class="cancel-button"
routerLink="/controller/{{ controller.id }}/preferences/builtin" routerLink="/controller/{{ controller.id }}/preferences/builtin"
mat-button mat-button
> >
Back <mat-icon>arrow_back</mat-icon>
</button> </button>
<button </div>
*ngIf="controller" <div class="col-md-10">
class="top-button" <h1 class="col">Ethernet switches templates</h1>
routerLink="/controller/{{ controller.id }}/preferences/builtin/ethernet-switches/addtemplate" </div>
mat-raised-button <div class="col-md-1">
color="primary" <button
> *ngIf="controller"
Add Ethernet switch template class="top-button cancel-button"
</button> matTooltip="Add Ethernet switch template"
matTooltipClass="custom-tooltip"
routerLink="/controller/{{ controller.id }}/preferences/builtin/ethernet-switches/addtemplate"
mat-button
>
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
</div> </div>
</div> </div>
<app-empty-templates-list *ngIf="!ethernetSwitchesTemplates.length"></app-empty-templates-list> <app-empty-templates-list *ngIf="!ethernetSwitchesTemplates.length"></app-empty-templates-list>
<div class="default-content" *ngIf="ethernetSwitchesTemplates.length"> <div class="default-content" *ngIf="ethernetSwitchesTemplates.length">
@ -37,6 +45,9 @@
<button mat-menu-item (click)="deleteTemplate(template)"> <button mat-menu-item (click)="deleteTemplate(template)">
<mat-icon>delete</mat-icon><span>Delete</span> <mat-icon>delete</mat-icon><span>Delete</span>
</button> </button>
<button mat-menu-item routerLink="{{ template.template_id }}">
<mat-icon>edit</mat-icon><span>Edit</span>
</button>
</mat-menu> </mat-menu>
</div> </div>
</mat-nav-list> </mat-nav-list>

View File

@ -1,7 +1,14 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<div class="col col-md-1">
<button class="top-button" *ngIf="controller" class="cancel-button" (click)="goBack()" mat-button>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">Copy Docker container template</h1> <h1 class="col">Copy Docker container template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">

View File

@ -1,7 +1,14 @@
<div class="content" [ngClass]="{ shadowed: isSymbolSelectionOpened }"> <div class="content" [ngClass]="{ shadowed: isSymbolSelectionOpened }">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Docker image configuration</h1> <div class="col col-md-1">
<button class="top-button" *ngIf="controller" class="cancel-button" (click)="goBack()" mat-button>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">Docker image configuration</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content" *ngIf="dockerTemplate"> <div class="default-content" *ngIf="dockerTemplate">

View File

@ -1,26 +1,34 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Docker container templates</h1> <div class="col col-md-1">
<button <button
*ngIf="controller" class="top-button"
class="top-button" *ngIf="controller"
class="cancel-button" class="cancel-button"
routerLink="/controller/{{ controller.id }}/preferences" mat-button
mat-button routerLink="/controller/{{ controller.id }}/preferences"
> >
Back <mat-icon>arrow_back</mat-icon>
</button> </button>
<button </div>
*ngIf="controller" <div class="col col-md-10">
class="top-button" <h1 class="col">Docker container templates</h1>
routerLink="/controller/{{ controller.id }}/preferences/docker/addtemplate" </div>
mat-raised-button <div class="col col-md-1">
color="primary" <button
> *ngIf="controller"
Add Docker container template class="top-button cancel-button"
</button> matTooltip="Add Docker container template"
matTooltipClass="custom-tooltip"
routerLink="/controller/{{ controller.id }}/preferences/docker/addtemplate"
mat-button
>
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
</div> </div>
</div> </div>
<app-empty-templates-list *ngIf="!dockerTemplates.length"></app-empty-templates-list> <app-empty-templates-list *ngIf="!dockerTemplates.length"></app-empty-templates-list>
<div class="default-content" *ngIf="dockerTemplates.length"> <div class="default-content" *ngIf="dockerTemplates.length">
@ -34,12 +42,15 @@
<mat-icon>more_vert</mat-icon> <mat-icon>more_vert</mat-icon>
</button> </button>
<mat-menu #menu="matMenu"> <mat-menu #menu="matMenu">
<button mat-menu-item (click)="deleteTemplate(template)"> <button mat-menu-item routerLink="{{ template.template_id }}">
<mat-icon>delete</mat-icon><span>Delete</span> <mat-icon>edit</mat-icon><span>Edit</span>
</button> </button>
<button mat-menu-item (click)="copyTemplate(template)"> <button mat-menu-item (click)="copyTemplate(template)">
<mat-icon>content_copy</mat-icon><span>Copy</span> <mat-icon>content_copy</mat-icon><span>Copy</span>
</button> </button>
<button mat-menu-item (click)="deleteTemplate(template)">
<mat-icon>delete</mat-icon><span>Delete</span>
</button>
</mat-menu> </mat-menu>
</div> </div>
</mat-nav-list> </mat-nav-list>

View File

@ -1,7 +1,20 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">New IOS router template</h1> <div class="col col-md-1">
<button
class="top-button"
*ngIf="controller"
class="cancel-button"
mat-button
(click)="goBack()"
>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">New IOS router template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content" *ngIf="iosTemplate"> <div class="default-content" *ngIf="iosTemplate">

View File

@ -1,7 +1,14 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Copy IOS router template</h1> <div class="col col-md-1">
<button class="top-button" *ngIf="controller" class="cancel-button" mat-button (click)="goBack()">
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">Copy IOS router template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">

View File

@ -1,25 +1,32 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">IOS router templates</h1> <div class="col col-md-1">
<button <button
*ngIf="controller" class="top-button"
class="top-button" *ngIf="controller"
class="cancel-button" class="cancel-button"
routerLink="/controller/{{ controller.id }}/preferences" mat-button
mat-button routerLink="/controller/{{ controller.id }}/preferences"
> >
Back <mat-icon>arrow_back</mat-icon>
</button> </button>
<button </div>
*ngIf="controller" <div class="col col-md-10">
class="top-button" <h1 class="col">IOS router templates</h1>
routerLink="/controller/{{ controller.id }}/preferences/dynamips/templates/addtemplate" </div>
mat-raised-button <div class="col col-md-1">
color="primary" <button
> *ngIf="controller"
Add IOS router template class="top-button cancel-button"
</button> matTooltip="Add IOS router template"
matTooltipClass="custom-tooltip"
routerLink="/controller/{{ controller.id }}/preferences/dynamips/templates/addtemplate"
mat-button
>
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
</div> </div>
</div> </div>
<app-empty-templates-list *ngIf="!iosTemplates.length"></app-empty-templates-list> <app-empty-templates-list *ngIf="!iosTemplates.length"></app-empty-templates-list>
@ -40,6 +47,9 @@
<button mat-menu-item (click)="copyTemplate(template)"> <button mat-menu-item (click)="copyTemplate(template)">
<mat-icon>content_copy</mat-icon><span>Copy</span> <mat-icon>content_copy</mat-icon><span>Copy</span>
</button> </button>
<button mat-menu-item routerLink="{{ template.template_id }}">
<mat-icon>edit</mat-icon><span>Edit</span>
</button>
</mat-menu> </mat-menu>
</div> </div>
</mat-nav-list> </mat-nav-list>

View File

@ -1,7 +1,20 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">New IOU device template</h1> <div class="col col-md-1">
<button
class="top-button"
*ngIf="controller"
class="cancel-button"
mat-button
(click)="goBack()"
>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">New IOU device template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">

View File

@ -1,7 +1,20 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Copy IOU device template</h1> <div class="col col-md-1">
<button
class="top-button"
*ngIf="controller"
class="cancel-button"
mat-button
(click)="goBack()"
>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">Copy IOU device template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">

View File

@ -1,7 +1,16 @@
<div class="content" [ngClass]="{ shadowed: isSymbolSelectionOpened }"> <div class="content" [ngClass]="{ shadowed: isSymbolSelectionOpened }">
<div class="default-header"> <div class="default-header">
<div class="form-field"> <div class="form-field">
<h1 class="col">IOU device configuration</h1> <div class="row">
<div class="col col-md-1">
<button *ngIf="controller" class="top-button" class="cancel-button" mat-button (click)="goBack()">
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">IOU device configuration</h1>
</div>
</div>
</div> </div>
</div> </div>
<div class="default-content" *ngIf="iouTemplate"> <div class="default-content" *ngIf="iouTemplate">

View File

@ -1,25 +1,31 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">IOU device templates</h1> <div class="col col-md-1">
<button <button
*ngIf="controller" class="top-button"
class="top-button" class="cancel-button"
class="cancel-button" routerLink="/controller/{{ controller?.id }}/preferences"
routerLink="/controller/{{ controller.id }}/preferences" mat-button
mat-button >
> <mat-icon>arrow_back</mat-icon>
Back </button>
</button> </div>
<button <div class="col col-md-10">
*ngIf="controller" <h1 class="col">IOU device templates</h1>
class="top-button" </div>
routerLink="/controller/{{ controller.id }}/preferences/iou/addtemplate" <div class="col col-md-1">
mat-raised-button <button
color="primary" *ngIf="controller"
> class="top-button cancel-button"
Add IOU device template matTooltip="Add IOU device template"
</button> matTooltipClass="custom-tooltip"
routerLink="/controller/{{ controller?.id }}/preferences/iou/addtemplate"
mat-button
>
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
</div> </div>
</div> </div>
<app-empty-templates-list *ngIf="!iouTemplates.length"></app-empty-templates-list> <app-empty-templates-list *ngIf="!iouTemplates.length"></app-empty-templates-list>
@ -40,6 +46,9 @@
<button mat-menu-item (click)="copyTemplate(template)"> <button mat-menu-item (click)="copyTemplate(template)">
<mat-icon>content_copy</mat-icon><span>Copy</span> <mat-icon>content_copy</mat-icon><span>Copy</span>
</button> </button>
<button mat-menu-item routerLink="{{ template.template_id }}">
<mat-icon>edit</mat-icon><span>Edit</span>
</button>
</mat-menu> </mat-menu>
</div> </div>
</mat-nav-list> </mat-nav-list>

View File

@ -1,18 +1,36 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Preferences</h1> <div class="col-md-1">
<button
class="top-button"
class="cancel-button"
routerLink="/controller/{{ controllerId }}/projects"
mat-button
>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col-md-11">
<h1 class="col">Template preferences</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">
<div class="listcontainer mat-elevation-z8"> <div class="listcontainer mat-elevation-z8">
<mat-nav-list> <mat-nav-list>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/builtin"> Built-in </mat-list-item> <mat-list-item routerLink="/controller/{{ controllerId }}/preferences/builtin"> Built-in </mat-list-item>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/dynamips/templates"> Dynamips </mat-list-item> <mat-list-item routerLink="/controller/{{ controllerId }}/preferences/dynamips/templates">
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/iou/templates"> IOS on Unix </mat-list-item> Dynamips
</mat-list-item>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/iou/templates">
IOS on Unix
</mat-list-item>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/vpcs/templates"> VPCS </mat-list-item> <mat-list-item routerLink="/controller/{{ controllerId }}/preferences/vpcs/templates"> VPCS </mat-list-item>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/qemu/templates"> QEMU </mat-list-item> <mat-list-item routerLink="/controller/{{ controllerId }}/preferences/qemu/templates"> QEMU </mat-list-item>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/virtualbox/templates"> VirtualBox </mat-list-item> <mat-list-item routerLink="/controller/{{ controllerId }}/preferences/virtualbox/templates">
VirtualBox
</mat-list-item>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/vmware/templates"> VMware </mat-list-item> <mat-list-item routerLink="/controller/{{ controllerId }}/preferences/vmware/templates"> VMware </mat-list-item>
<mat-list-item routerLink="/controller/{{ controllerId }}/preferences/docker/templates"> Docker </mat-list-item> <mat-list-item routerLink="/controller/{{ controllerId }}/preferences/docker/templates"> Docker </mat-list-item>
</mat-nav-list> </mat-nav-list>

View File

@ -1,7 +1,14 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">New QEMU VM template</h1> <div class="col col-md-1">
<button class="top-button" *ngIf="controller" class="cancel-button" mat-button (click)="goBack()">
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">New QEMU VM template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">
@ -32,12 +39,8 @@
<mat-step label="Platform and memory" [completed]="memoryForm.get('ramMemory').value && selectedPlatform"> <mat-step label="Platform and memory" [completed]="memoryForm.get('ramMemory').value && selectedPlatform">
<form [formGroup]="memoryForm"> <form [formGroup]="memoryForm">
<mat-form-field class="form-field"> <mat-form-field class="form-field">
<mat-select <mat-select placeholder="Platform" [(ngModel)]="selectedPlatform" [ngModelOptions]="{ standalone: true }">
placeholder="Platform" <mat-option *ngFor="let platform of selectPlatform" [value]="platform">
[(ngModel)]="selectedPlatform"
[ngModelOptions]="{ standalone: true }"
>
<mat-option *ngFor="let platform of selectPlatform " [value]="platform">
{{ platform }} {{ platform }}
</mat-option> </mat-option>
</mat-select> </mat-form-field </mat-select> </mat-form-field
@ -103,7 +106,7 @@
placeholder="Please enter name" placeholder="Please enter name"
/> />
</mat-form-field> </mat-form-field>
<!-- here removed the processbar and common processbar --> <!-- here removed the processbar and common processbar -->
</div> </div>
</form> </form>
</mat-step> </mat-step>

View File

@ -1,7 +1,14 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">Copy QEMU VM template</h1> <div class="col col-md-1">
<button class="top-button" *ngIf="controller" class="cancel-button" mat-button (click)="goBack()">
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">Copy QEMU VM template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">

View File

@ -1,7 +1,14 @@
<div class="content" [ngClass]="{ shadowed: isConfiguratorOpened || isSymbolSelectionOpened }"> <div class="content" [ngClass]="{ shadowed: isConfiguratorOpened || isSymbolSelectionOpened }">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">QEMU VM configuration</h1> <div class="col col-md-1">
<button class="top-button" *ngIf="controller" class="cancel-button" mat-button (click)="goBack()">
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">QEMU VM configuration</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content" *ngIf="qemuTemplate"> <div class="default-content" *ngIf="qemuTemplate">

View File

@ -1,25 +1,33 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">QEMU VM templates</h1> <div class="col col-md-1">
<button <button
*ngIf="controller" class="top-button"
class="top-button" *ngIf="controller"
class="cancel-button" class="cancel-button"
routerLink="/controller/{{ controller.id }}/preferences" mat-button
mat-button routerLink="/controller/{{ controller.id }}/preferences"
> >
Back <mat-icon>arrow_back</mat-icon>
</button> </button>
<button </div>
*ngIf="controller" <div class="col col-md-10">
class="top-button" <h1 class="col">QEMU VM templates</h1>
routerLink="/controller/{{ controller.id }}/preferences/qemu/addtemplate" </div>
mat-raised-button <div class="col col-md-1">
color="primary" <button
> *ngIf="controller"
Add QEMU VM template class="top-button cancel-button"
</button> matTooltip="Add QEMU VM template"
matTooltipClass="custom-tooltip"
routerLink="/controller/{{ controller.id }}/preferences/qemu/addtemplate"
mat-button
>
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
</div> </div>
</div> </div>
<app-empty-templates-list *ngIf="!qemuTemplates.length"></app-empty-templates-list> <app-empty-templates-list *ngIf="!qemuTemplates.length"></app-empty-templates-list>
@ -34,12 +42,16 @@
<mat-icon>more_vert</mat-icon> <mat-icon>more_vert</mat-icon>
</button> </button>
<mat-menu #menu="matMenu"> <mat-menu #menu="matMenu">
<button mat-menu-item (click)="deleteTemplate(template)"> <button mat-menu-item routerLink="{{ template.template_id }}">
<mat-icon>delete</mat-icon><span>Delete</span> <mat-icon>edit</mat-icon><span>Edit</span>
</button> </button>
<button mat-menu-item (click)="copyTemplate(template)"> <button mat-menu-item (click)="copyTemplate(template)">
<mat-icon>content_copy</mat-icon><span>Copy</span> <mat-icon>content_copy</mat-icon><span>Copy</span>
</button> </button>
<button mat-menu-item (click)="deleteTemplate(template)">
<mat-icon>delete</mat-icon><span>Delete</span>
</button>
</mat-menu> </mat-menu>
</div> </div>
</mat-nav-list> </mat-nav-list>

View File

@ -1,7 +1,20 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">New VirtualBox VM template</h1> <div class="col col-md-1">
<button
class="top-button"
*ngIf="controller"
class="cancel-button"
mat-button
(click)="goBack()"
>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">New VirtualBox VM template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content" *ngIf="virtualBoxTemplate"> <div class="default-content" *ngIf="virtualBoxTemplate">

View File

@ -1,7 +1,14 @@
<div class="content" [ngClass]="{ shadowed: isConfiguratorOpened || isSymbolSelectionOpened }"> <div class="content" [ngClass]="{ shadowed: isConfiguratorOpened || isSymbolSelectionOpened }">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">VirtualBox VM configuration</h1> <div class="col col-md-1">
<button class="top-button" *ngIf="controller" class="cancel-button" mat-button (click)="goBack()">
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">VirtualBox VM configuration</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content" *ngIf="virtualBoxTemplate"> <div class="default-content" *ngIf="virtualBoxTemplate">

View File

@ -1,26 +1,34 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">VirtualBox VM templates</h1> <div class="col col-md-1">
<button <button
*ngIf="controller" class="top-button"
class="top-button" *ngIf="controller"
class="cancel-button" class="cancel-button"
routerLink="/controller/{{ controller.id }}/preferences" mat-button
mat-button routerLink="/controller/{{ controller.id }}/preferences"
> >
Back <mat-icon>arrow_back</mat-icon>
</button> </button>
<button </div>
*ngIf="controller" <div class="col col-md-10">
class="top-button" <h1 class="col">VirtualBox VM templates</h1>
routerLink="/controller/{{ controller.id }}/preferences/virtualbox/addtemplate" </div>
mat-raised-button <div class="col col-md-1">
color="primary" <button
> *ngIf="controller"
Add Virtual Box VM template class="top-button cancel-button"
</button> matTooltip="Add Virtual Box VM template"
matTooltipClass="custom-tooltip"
routerLink="/controller/{{ controller.id }}/preferences/virtualbox/addtemplate"
mat-button
>
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
</div> </div>
</div> </div>
<app-empty-templates-list *ngIf="!virtualBoxTemplates.length"></app-empty-templates-list> <app-empty-templates-list *ngIf="!virtualBoxTemplates.length"></app-empty-templates-list>
<div class="default-content" *ngIf="virtualBoxTemplates.length"> <div class="default-content" *ngIf="virtualBoxTemplates.length">

View File

@ -1,7 +1,14 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">New VMware VM template</h1> <div class="col col-md-1">
<button class="top-button" *ngIf="controller" class="cancel-button" mat-button (click)="goBack()">
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">New VMware VM template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content" *ngIf="vmwareTemplate"> <div class="default-content" *ngIf="vmwareTemplate">

View File

@ -1,7 +1,14 @@
<div class="content" [ngClass]="{ shadowed: isSymbolSelectionOpened || isConfiguratorOpened }"> <div class="content" [ngClass]="{ shadowed: isSymbolSelectionOpened || isConfiguratorOpened }">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<div class="col col-md-1">
<button class="top-button" *ngIf="controller" class="cancel-button" mat-button (click)="goBack()">
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">VMware VM configuration</h1> <h1 class="col">VMware VM configuration</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content" *ngIf="vmwareTemplate"> <div class="default-content" *ngIf="vmwareTemplate">

View File

@ -1,25 +1,33 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">VMware VM templates</h1> <div class="col col-md-1">
<button <button
*ngIf="controller" class="top-button"
class="top-button" *ngIf="controller"
class="cancel-button" class="cancel-button"
routerLink="/controller/{{ controller.id }}/preferences" mat-button
mat-button routerLink="/controller/{{ controller.id }}/preferences"
> >
Back <mat-icon>arrow_back</mat-icon>
</button> </button>
<button </div>
*ngIf="controller" <div class="col col-md-10">
class="top-button" <h1 class="col">VMware VM templates</h1>
routerLink="/controller/{{ controller.id }}/preferences/vmware/addtemplate" </div>
mat-raised-button <div class="col col-md-1">
color="primary" <button
> *ngIf="controller"
Add VMware template class="top-button cancel-button"
</button> matTooltip="Add VMware template"
matTooltipClass="custom-tooltip"
routerLink="/controller/{{ controller.id }}/preferences/vmware/addtemplate"
mat-button
>
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
</div> </div>
</div> </div>
<app-empty-templates-list *ngIf="!vmwareTemplates.length"></app-empty-templates-list> <app-empty-templates-list *ngIf="!vmwareTemplates.length"></app-empty-templates-list>

View File

@ -1,7 +1,20 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">New VPCS node template</h1> <div class="col col-md-1">
<button
class="top-button"
*ngIf="controller"
class="cancel-button"
mat-button
(click)="goBack()"
>
<mat-icon>arrow_back</mat-icon>
</button>
</div>
<div class="col col-md-11">
<h1 class="col">New VPCS node template</h1>
</div>
</div> </div>
</div> </div>
<div class="default-content"> <div class="default-content">

View File

@ -1,26 +1,34 @@
<div class="content"> <div class="content">
<div class="default-header"> <div class="default-header">
<div class="row"> <div class="row">
<h1 class="col">VPCS node templates</h1> <div class="col col-md-1">
<button <button
*ngIf="controller" class="top-button"
class="top-button" *ngIf="controller"
class="cancel-button" class="cancel-button"
routerLink="/controller/{{ controller.id }}/preferences" mat-button
mat-button routerLink="/controller/{{ controller.id }}/preferences"
> >
Back <mat-icon>arrow_back</mat-icon>
</button> </button>
<button </div>
*ngIf="controller" <div class="col col-md-10">
class="top-button" <h1 class="col">VPCS node templates</h1>
routerLink="/controller/{{ controller.id }}/preferences/vpcs/addtemplate" </div>
mat-raised-button <div class="col col-md-1">
color="primary" <button
> *ngIf="controller"
Add VPCS template class="top-button cancel-button"
</button> matTooltip="Add VPCS template"
matTooltipClass="custom-tooltip"
routerLink="/controller/{{ controller.id }}/preferences/vpcs/addtemplate"
mat-button
>
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
</div> </div>
</div> </div>
<app-empty-templates-list *ngIf="!vpcsTemplates.length"></app-empty-templates-list> <app-empty-templates-list *ngIf="!vpcsTemplates.length"></app-empty-templates-list>
<div class="default-content" *ngIf="vpcsTemplates.length"> <div class="default-content" *ngIf="vpcsTemplates.length">
@ -34,6 +42,9 @@
<mat-icon>more_vert</mat-icon> <mat-icon>more_vert</mat-icon>
</button> </button>
<mat-menu #menu="matMenu"> <mat-menu #menu="matMenu">
<button mat-menu-item routerLink="{{ template.template_id }}">
<mat-icon>edit</mat-icon><span>Edit</span>
</button>
<button mat-menu-item (click)="deleteTemplate(template)"> <button mat-menu-item (click)="deleteTemplate(template)">
<mat-icon>delete</mat-icon><span>Delete</span> <mat-icon>delete</mat-icon><span>Delete</span>
</button> </button>