Skip to content

Commit 53681e0

Browse files
fix[frontend](federation_service): added remove modal on instance remove
1 parent 21693be commit 53681e0

4 files changed

Lines changed: 28 additions & 38 deletions

File tree

frontend/src/app/app-routing.module.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {NgModule} from '@angular/core';
22
import {RouterModule, Routes} from '@angular/router';
33
import {UserRouteAccessService} from './core/auth/user-route-access-service';
4+
import {WelcomeComponent as FederationWelcomeComponent} from './federation/pages/welcome/welcome.component';
45
import {ConfirmIdentityComponent} from './shared/components/auth/confirm-identity/confirm-identity.component';
56
import {LoginComponent} from './shared/components/auth/login/login.component';
67
import {
@@ -152,6 +153,16 @@ const routes: Routes = [
152153
canActivate: [UserRouteAccessService],
153154
data: {authorities: [ADMIN_ROLE, USER_ROLE]}
154155
},
156+
{
157+
path: 'federation',
158+
canActivate: [UserRouteAccessService],
159+
data: {authorities: [ADMIN_ROLE, USER_ROLE]},
160+
children: [
161+
{path: '', redirectTo: 'welcome', pathMatch: 'full'},
162+
{path: 'welcome', component: FederationWelcomeComponent},
163+
{path: 'instances', component: FederationWelcomeComponent}
164+
]
165+
},
155166
{path: '', component: LoginComponent},
156167
{path: 'totp', component: TotpComponent},
157168
{path: 'enroll-tfa', component: TfaSetupComponent},

frontend/src/app/federation/components/instance-switcher/instance-switcher.component.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ import {Component, OnDestroy, OnInit} from '@angular/core';
22
import {NgbModal} from '@ng-bootstrap/ng-bootstrap';
33
import {Subject} from 'rxjs';
44
import {takeUntil} from 'rxjs/operators';
5+
import {
6+
ModalConfirmationComponent
7+
} from '../../../shared/components/utm/util/modal-confirmation/modal-confirmation.component';
58
import {FederationInstance} from '../../domain/federation-instance.model';
69
import {FederationInstanceStateService} from '../../services/federation-instance-state.service';
710
import {FederationInstancesService} from '../../services/federation-instances.service';
@@ -81,10 +84,19 @@ export class InstanceSwitcherComponent implements OnInit, OnDestroy {
8184
if (this.pendingDeleteId !== null) {
8285
return;
8386
}
84-
const confirmed = window.confirm(`Remove instance "${instance.name}"?`);
85-
if (!confirmed) {
86-
return;
87-
}
87+
const modalRef = this.modalService.open(ModalConfirmationComponent, {backdrop: 'static', centered: true});
88+
modalRef.componentInstance.header = 'Remove federation instance';
89+
modalRef.componentInstance.message = `Are you sure that you want to remove the instance: \n${instance.name}?`;
90+
modalRef.componentInstance.confirmBtnText = 'Remove';
91+
modalRef.componentInstance.confirmBtnIcon = 'icon-cancel-circle2';
92+
modalRef.componentInstance.confirmBtnType = 'delete';
93+
modalRef.componentInstance.textDisplay = 'Requests routed to this instance will stop working' +
94+
' and its locally stored selection will be cleared.';
95+
modalRef.componentInstance.textType = 'warning';
96+
modalRef.result.then(() => this.confirmRemove(instance), () => undefined);
97+
}
98+
99+
private confirmRemove(instance: FederationInstance): void {
88100
this.pendingDeleteId = instance.id;
89101
this.errorMessage = null;
90102
this.instancesService.delete(instance.id).subscribe({

frontend/src/app/federation/federation-routing.module.ts

Lines changed: 0 additions & 31 deletions
This file was deleted.

frontend/src/app/federation/federation.module.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,14 @@ import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
55
import {InlineSVGModule} from 'ng-inline-svg';
66
import {InstanceFormModalComponent} from './components/instance-form-modal/instance-form-modal.component';
77
import {InstanceSwitcherComponent} from './components/instance-switcher/instance-switcher.component';
8-
import {FederationRoutingModule} from './federation-routing.module';
98
import {WelcomeComponent} from './pages/welcome/welcome.component';
109

1110
@NgModule({
1211
imports: [
1312
CommonModule,
1413
FormsModule,
1514
NgbModule,
16-
InlineSVGModule,
17-
FederationRoutingModule
15+
InlineSVGModule
1816
],
1917
declarations: [
2018
InstanceSwitcherComponent,

0 commit comments

Comments
 (0)