Skip to content
Snippets Groups Projects
Commit 42c9f2e0 authored by Albert Bruns's avatar Albert Bruns
Browse files

OZG-7620 cr anmerkungen

parent 6e5bc049
No related branches found
No related tags found
1 merge request!72OZG-7620-user-delete
Showing
with 77 additions and 23 deletions
export * from './lib/admin-cancel-button/admin-cancel-button.component'; export * from './lib/admin-cancel-button/admin-cancel-button.component';
export * from './lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component';
export * from './lib/admin-save-button/admin-save-button.component'; export * from './lib/admin-save-button/admin-save-button.component';
export * from './lib/routes'; export * from './lib/routes';
export * from './lib/token'; export * from './lib/token';
<ods-open-dialog-button variant='outline_error' label="Löschen" dataTestId="delete-user" data-test-id="delete-user-button-host" > <ods-open-dialog-button variant='outline_error' label="Löschen" dataTestId="delete-user" >
<ods-delete-icon icon /> <ods-delete-icon icon />
</ods-open-dialog-button> </ods-open-dialog-button>
\ No newline at end of file
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { AdminDeleteOpenDialogButtonComponent } from './admin-delete-open-dialog-button.component';
describe('AdminDeleteOpenDialogButtonComponent', () => {
let component: AdminDeleteOpenDialogButtonComponent;
let fixture: ComponentFixture<AdminDeleteOpenDialogButtonComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [AdminDeleteOpenDialogButtonComponent]
})
.compileComponents();
fixture = TestBed.createComponent(AdminDeleteOpenDialogButtonComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
...@@ -3,9 +3,9 @@ import { OpenDialogButtonComponent } from '@ods/component'; ...@@ -3,9 +3,9 @@ import { OpenDialogButtonComponent } from '@ods/component';
import { DeleteIconComponent } from '@ods/system'; import { DeleteIconComponent } from '@ods/system';
@Component({ @Component({
selector: 'admin-user-form-delete-button', selector: 'admin-delete-open-dialog-button',
standalone: true, standalone: true,
imports: [DeleteIconComponent, OpenDialogButtonComponent], imports: [DeleteIconComponent, OpenDialogButtonComponent],
templateUrl: './user-form-delete-button.component.html', templateUrl: './admin-delete-open-dialog-button.component.html',
}) })
export class UserFormDeleteButtonComponent {} export class AdminDeleteOpenDialogButtonComponent {}
<admin-delete-open-dialog-button />
\ No newline at end of file
import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ComponentFixture, TestBed } from '@angular/core/testing';
import { UserFormDeleteButtonComponent } from './user-form-delete-button.component'; import { UserFormDeleteButtonContainerComponent } from './user-form-delete-button-container.component';
describe('UserFormDeleteButtonComponent', () => { describe('UserFormDeleteButtonComponent', () => {
let component: UserFormDeleteButtonComponent; let component: UserFormDeleteButtonContainerComponent;
let fixture: ComponentFixture<UserFormDeleteButtonComponent>; let fixture: ComponentFixture<UserFormDeleteButtonContainerComponent>;
beforeEach(async () => { beforeEach(async () => {
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [UserFormDeleteButtonComponent] imports: [UserFormDeleteButtonContainerComponent],
}) }).compileComponents();
.compileComponents();
fixture = TestBed.createComponent(UserFormDeleteButtonComponent); fixture = TestBed.createComponent(UserFormDeleteButtonContainerComponent);
component = fixture.componentInstance; component = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
}); });
......
import { AdminDeleteOpenDialogButtonComponent } from '@admin-client/shared';
import { DIALOG_COMPONENT } from '@alfa-client/ui';
import { Component } from '@angular/core';
import { UserDeleteDialogContainerComponent } from '../user-form-delete-dialog-container/user-delete-dialog-container.component';
@Component({
selector: 'admin-user-form-delete-container-button',
standalone: true,
imports: [AdminDeleteOpenDialogButtonComponent],
providers: [{ provide: DIALOG_COMPONENT, useValue: UserDeleteDialogContainerComponent }],
templateUrl: './user-form-delete-button-container.component.html',
})
export class UserFormDeleteButtonContainerComponent {}
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<p>Hinweis: Die zugewiesenen Vorgänge bleiben bestehen.</p> <p>Hinweis: Die zugewiesenen Vorgänge bleiben bestehen.</p>
<div class="flex justify-between"> <div class="flex justify-between">
<ods-cancel-dialog-button variant='outline' data-test-id="dialog-cancel-button-host" /> <ods-cancel-dialog-button data-test-id="dialog-cancel-button-host" />
<ods-button-with-spinner <ods-button-with-spinner
[stateResource]="deleteUserStateResource" [stateResource]="deleteUserStateResource"
(clickEmitter)="delete.emit()" (clickEmitter)="delete.emit()"
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<div class="flex justify-between"> <div class="flex justify-between">
<admin-user-form-save-button /> <admin-user-form-save-button />
@if (formService.isPatch()) { @if (formService.isPatch()) {
<admin-user-form-delete-button /> <admin-user-form-delete-container-button data-test-id="delete-button-container"/>
} }
</div> </div>
</div> </div>
......
...@@ -48,7 +48,7 @@ describe('UserFormComponent', () => { ...@@ -48,7 +48,7 @@ describe('UserFormComponent', () => {
let formService: Mock<UserFormService>; let formService: Mock<UserFormService>;
const userContent: string = getDataTestIdOf('user-content'); const userContent: string = getDataTestIdOf('user-content');
const deleteButton: string = getDataTestIdOf('delete-user-button-host'); const deleteButtonContainer: string = getDataTestIdOf('delete-button-container');
beforeEach(async () => { beforeEach(async () => {
formService = <any>{ formService = <any>{
...@@ -168,19 +168,19 @@ describe('UserFormComponent', () => { ...@@ -168,19 +168,19 @@ describe('UserFormComponent', () => {
}); });
}); });
describe('admin delete button', () => { describe('admin delete button container', () => {
it('should exist', () => { it('should exist', () => {
formService.isPatch.mockReturnValue(true); formService.isPatch.mockReturnValue(true);
fixture.detectChanges(); fixture.detectChanges();
existsAsHtmlElement(fixture, deleteButton); existsAsHtmlElement(fixture, deleteButtonContainer);
}); });
it('should not exist', () => { it('should not exist', () => {
formService.isPatch.mockReturnValue(false); formService.isPatch.mockReturnValue(false);
fixture.detectChanges(); fixture.detectChanges();
notExistsAsHtmlElement(fixture, deleteButton); notExistsAsHtmlElement(fixture, deleteButtonContainer);
}); });
}); });
}); });
...@@ -23,15 +23,13 @@ ...@@ -23,15 +23,13 @@
*/ */
import { User } from '@admin-client/user-shared'; import { User } from '@admin-client/user-shared';
import { StateResource } from '@alfa-client/tech-shared'; import { StateResource } from '@alfa-client/tech-shared';
import { DIALOG_COMPONENT } from '@alfa-client/ui';
import { AsyncPipe } from '@angular/common'; import { AsyncPipe } from '@angular/common';
import { Component, inject, OnInit } from '@angular/core'; import { Component, inject, OnInit } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { SpinnerComponent } from '@ods/component'; import { SpinnerComponent } from '@ods/component';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { UserFormDataComponent } from './user-form-data/user-form-data.component'; import { UserFormDataComponent } from './user-form-data/user-form-data.component';
import { UserFormDeleteButtonComponent } from './user-form-delete-button/user-form-delete-button.component'; import { UserFormDeleteButtonContainerComponent } from './user-form-delete-button/user-form-delete-button-container.component';
import { UserDeleteDialogContainerComponent } from './user-form-delete-dialog-container/user-delete-dialog-container.component';
import { UserFormHeadlineComponent } from './user-form-headline/user-form-headline.component'; import { UserFormHeadlineComponent } from './user-form-headline/user-form-headline.component';
import { UserFormOrganisationsEinheitListComponent } from './user-form-organisations-einheit-list/user-form-organisations-einheit-list.component'; import { UserFormOrganisationsEinheitListComponent } from './user-form-organisations-einheit-list/user-form-organisations-einheit-list.component';
import { UserFormRolesComponent } from './user-form-roles/user-form-roles.component'; import { UserFormRolesComponent } from './user-form-roles/user-form-roles.component';
...@@ -40,7 +38,7 @@ import { UserFormService } from './user.formservice'; ...@@ -40,7 +38,7 @@ import { UserFormService } from './user.formservice';
@Component({ @Component({
selector: 'admin-user-form', selector: 'admin-user-form',
providers: [UserFormService, { provide: DIALOG_COMPONENT, useValue: UserDeleteDialogContainerComponent }], providers: [UserFormService],
templateUrl: './user-form.component.html', templateUrl: './user-form.component.html',
standalone: true, standalone: true,
imports: [ imports: [
...@@ -53,7 +51,7 @@ import { UserFormService } from './user.formservice'; ...@@ -53,7 +51,7 @@ import { UserFormService } from './user.formservice';
UserFormOrganisationsEinheitListComponent, UserFormOrganisationsEinheitListComponent,
UserFormHeadlineComponent, UserFormHeadlineComponent,
UserFormSaveButtonComponent, UserFormSaveButtonComponent,
UserFormDeleteButtonComponent, UserFormDeleteButtonContainerComponent,
], ],
}) })
export class UserFormComponent implements OnInit { export class UserFormComponent implements OnInit {
......
import { OzgcloudDialogService } from '@alfa-client/ui'; import { OzgcloudDialogService } from '@alfa-client/ui';
import { Component, inject, Input } from '@angular/core'; import { Component, inject } from '@angular/core';
import { ButtonComponent, ButtonVariants } from '@ods/system'; import { ButtonComponent } from '@ods/system';
@Component({ @Component({
selector: 'ods-cancel-dialog-button', selector: 'ods-cancel-dialog-button',
...@@ -8,7 +8,7 @@ import { ButtonComponent, ButtonVariants } from '@ods/system'; ...@@ -8,7 +8,7 @@ import { ButtonComponent, ButtonVariants } from '@ods/system';
imports: [ButtonComponent], imports: [ButtonComponent],
template: `<ods-button template: `<ods-button
(clickEmitter)="cancel()" (clickEmitter)="cancel()"
[variant]="variant" variant="outline"
text="Abbrechen" text="Abbrechen"
dataTestId="cancel-dialog" dataTestId="cancel-dialog"
data-test-id="cancel-dialog" data-test-id="cancel-dialog"
...@@ -17,8 +17,6 @@ import { ButtonComponent, ButtonVariants } from '@ods/system'; ...@@ -17,8 +17,6 @@ import { ButtonComponent, ButtonVariants } from '@ods/system';
export class CancelDialogButtonComponent { export class CancelDialogButtonComponent {
public readonly dialogService = inject(OzgcloudDialogService); public readonly dialogService = inject(OzgcloudDialogService);
@Input() variant: ButtonVariants['variant'] = 'outline';
public cancel(): void { public cancel(): void {
this.dialogService.closeAll(); this.dialogService.closeAll();
} }
......
...@@ -40,9 +40,7 @@ export class OpenDialogButtonComponent { ...@@ -40,9 +40,7 @@ export class OpenDialogButtonComponent {
this.dialogService this.dialogService
.openInContext(this._createComponent().instance.constructor, this.viewContainerRef) .openInContext(this._createComponent().instance.constructor, this.viewContainerRef)
.closed.pipe(first()) .closed.pipe(first())
.subscribe(() => { .subscribe(this.close.emit);
this.close.emit();
});
} }
_createComponent(): ComponentRef<any> { _createComponent(): ComponentRef<any> {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment