diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 9d2d369b..414ff253 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -129,6 +129,7 @@ import { StartCaptureOnStartedLinkActionComponent } from './components/project-m
import { StartCaptureActionComponent } from './components/project-map/context-menu/actions/start-capture/start-capture-action.component';
import { StartNodeActionComponent } from './components/project-map/context-menu/actions/start-node-action/start-node-action.component';
import { StopCaptureActionComponent } from './components/project-map/context-menu/actions/stop-capture/stop-capture-action.component';
+import { IsolateNodeActionComponent } from './components/project-map/context-menu/actions/isolate-node-action/isolate-node-action.component';
import { StopNodeActionComponent } from './components/project-map/context-menu/actions/stop-node-action/stop-node-action.component';
import { SuspendLinkActionComponent } from './components/project-map/context-menu/actions/suspend-link/suspend-link-action.component';
import { SuspendNodeActionComponent } from './components/project-map/context-menu/actions/suspend-node-action/suspend-node-action.component';
@@ -290,6 +291,7 @@ import { LoggedUserComponent } from './components/users/logged-user/logged-user.
ContextMenuComponent,
ContextConsoleMenuComponent,
StartNodeActionComponent,
+ IsolateNodeActionComponent,
StopNodeActionComponent,
TemplateComponent,
TemplateListDialogComponent,
diff --git a/src/app/components/project-map/context-menu/actions/isolate-node-action/isolate-node-action.component.html b/src/app/components/project-map/context-menu/actions/isolate-node-action/isolate-node-action.component.html
new file mode 100644
index 00000000..656bd1eb
--- /dev/null
+++ b/src/app/components/project-map/context-menu/actions/isolate-node-action/isolate-node-action.component.html
@@ -0,0 +1,4 @@
+
diff --git a/src/app/components/project-map/context-menu/actions/isolate-node-action/isolate-node-action.component.ts b/src/app/components/project-map/context-menu/actions/isolate-node-action/isolate-node-action.component.ts
new file mode 100644
index 00000000..2bd1d117
--- /dev/null
+++ b/src/app/components/project-map/context-menu/actions/isolate-node-action/isolate-node-action.component.ts
@@ -0,0 +1,28 @@
+import { Component, Input, OnInit } from '@angular/core';
+import { Node } from '../../../../../cartography/models/node';
+import { Server } from '../../../../../models/server';
+import { NodeService } from '../../../../../services/node.service';
+import { ToasterService } from '../../../../../services/toaster.service';
+
+@Component({
+ selector: 'app-isolate-node-action',
+ templateUrl: './isolate-node-action.component.html',
+})
+export class IsolateNodeActionComponent implements OnInit {
+ @Input() server: Server;
+ @Input() node: Node;
+ isNodeWithStoppedStatus: boolean;
+
+ constructor(private nodeService: NodeService, private toasterService: ToasterService) {}
+
+ ngOnInit() {}
+
+ isolate() {
+ this.nodeService.isolate(this.server, this.node).subscribe(
+ (n: Node) => {},
+ (error) => {
+ this.toasterService.error(error.error.message);
+ }
+ );
+ }
+}
diff --git a/src/app/components/project-map/context-menu/context-menu.component.html b/src/app/components/project-map/context-menu/context-menu.component.html
index 38c810d0..6f0bf4b7 100644
--- a/src/app/components/project-map/context-menu/context-menu.component.html
+++ b/src/app/components/project-map/context-menu/context-menu.component.html
@@ -32,6 +32,9 @@
[server]="server"
[node]="nodes[0]"
>
+
+
+
(server, `/projects/${node.project_id}/nodes/${node.node_id}/isolate`, {});
+ }
+
+ unisolate(server: Server, node: Node) {
+ return this.httpServer.post(server, `/projects/${node.project_id}/nodes/${node.node_id}/unisolate`, {});
+ }
+
start(server: Server, node: Node) {
return this.httpServer.post(server, `/projects/${node.project_id}/nodes/${node.node_id}/start`, {});
}