Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,9 @@ describe('AccessContractCreateComponent', () => {
};

await TestBed.configureTestingModule({
declarations: [AccessContractCreateComponent],
schemas: [NO_ERRORS_SCHEMA],
imports: [
AccessContractCreateComponent,
ReactiveFormsModule,
MatFormFieldModule,
MatSelectModule,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,34 +34,72 @@
* The fact that you are presently reading this means that you have had
* knowledge of the CeCILL-C license and that you accept its terms.
*/
import { Component, Inject, Input, OnDestroy, OnInit } from '@angular/core';
import { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { Component, Inject, OnDestroy, OnInit } from '@angular/core';
import {
AbstractControl,
FormBuilder,
FormControl,
FormGroup,
ReactiveFormsModule,
ValidationErrors,
ValidatorFn,
Validators,
} from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
import {
AccessContract,
AccessContractService,
AgencyService,
ConfirmDialogService,
FilingPlanMode,
Option,
SelectComponent,
Status,
VitamUICommonModule,
VitamUILibraryModule,
VitamuiSelectOptions,
AgencyService,
} from 'vitamui-library';
import { AccessContractCreateValidators } from './access-contract-create.validators';

import { finalize, Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { AccessContractPreviewModule } from '../access-contract-preview/access-contract-preview.module';
import { CommonModule } from '@angular/common';
import { MatButtonToggleModule } from '@angular/material/button-toggle';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatProgressBarModule } from '@angular/material/progress-bar';
import { MatRadioModule } from '@angular/material/radio';
import { MatSelectModule } from '@angular/material/select';
import { SharedModule } from '../../../../../identity/src/app/shared/shared.module';
import { TranslateModule } from '@ngx-translate/core';

@Component({
selector: 'app-access-contract-create',
templateUrl: './access-contract-create.component.html',
styleUrls: ['./access-contract-create.component.scss'],
standalone: false,
imports: [
AccessContractPreviewModule,
CommonModule,
MatButtonToggleModule,
MatDialogModule,
MatFormFieldModule,
MatInputModule,
MatProgressBarModule,
MatRadioModule,
MatSelectModule,
ReactiveFormsModule,
SelectComponent,
SharedModule,
TranslateModule,
VitamUICommonModule,
VitamUILibraryModule,
],
})
export class AccessContractCreateComponent implements OnInit, OnDestroy {
protected readonly FILLING_PLAN_MODE = FilingPlanMode;
@Input() tenantIdentifier: number;
@Input() isSlaveMode: boolean;
protected readonly tenantIdentifier: number;
protected readonly isSlaveMode: boolean;

form: FormGroup;

Expand All @@ -86,13 +124,16 @@ export class AccessContractCreateComponent implements OnInit, OnDestroy {

constructor(
public dialogRef: MatDialogRef<AccessContractCreateComponent>,
@Inject(MAT_DIALOG_DATA) public data: any,
@Inject(MAT_DIALOG_DATA) public data: { tenantIdentifier: number; isSlaveMode: boolean },
private formBuilder: FormBuilder,
private accessContractCreateValidators: AccessContractCreateValidators,
private accessContractService: AccessContractService,
private agencyService: AgencyService,
private confirmDialogService: ConfirmDialogService,
) {}
) {
this.tenantIdentifier = data.tenantIdentifier;
this.isSlaveMode = data.isSlaveMode;
}

ngOnInit() {
this.agencyService.getOriginatingAgenciesAsOptions().subscribe((options: Option[]) => (this.originatingAgenciesOptions = { options }));
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ <h5>{{ 'ACCESS_CONTRACT.HOME.TITLE' | translate }}</h5>
</vitamui-title-breadcrumb>

<vitamui-banner [searchbarPlaceholder]="'ACCESS_CONTRACT.HOME.SEARCH_PLACEHOLDER' | translate" (search)="onSearchSubmit($event)">
<button class="btn primary mr-3" (click)="openCreateAccesscontractDialog()">
<button class="btn primary mr-3" (click)="openCreateAccessContractDialog()">
<span>{{ 'ACCESS_CONTRACT.HOME.CREATE_ACCESS_CONTRACT' | translate }}</span>
</button>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,11 @@ import {
import { ImportDialogParam, ReferentialTypes } from '../shared/import-dialog/import-dialog-param.interface';
import { ImportDialogComponent } from '../shared/import-dialog/import-dialog.component';

import { Subject, Subscription } from 'rxjs';
import { firstValueFrom, Subscription } from 'rxjs';
import { DownloadSnackBarService } from '../core/service/download-snack-bar.service';
import { AccessContractCreateComponent } from './access-contract-create/access-contract-create.component';
import { AccessContractListComponent } from './access-contract-list/access-contract-list.component';
import { shareReplay } from 'rxjs/operators';

@Component({
selector: 'app-access',
Expand All @@ -65,11 +66,10 @@ import { AccessContractListComponent } from './access-contract-list/access-contr
export class AccessContractComponent extends SidenavPage<AccessContract> implements OnInit, OnDestroy {
public search = '';
public tenantIdentifier: number;
public isSlaveMode = false;

@ViewChild(AccessContractListComponent, { static: true }) accessContractListComponent: AccessContractListComponent;

private readonly destroyer$ = new Subject<void>();
#isSlaveMode$ = this.applicationService.isApplicationExternalIdentifierEnabled('ACCESS_CONTRACT').pipe(shareReplay(1));

constructor(
public globalEventService: GlobalEventService,
Expand All @@ -85,24 +85,26 @@ export class AccessContractComponent extends SidenavPage<AccessContract> impleme

ngOnInit() {
this.route.params.subscribe((params) => (this.tenantIdentifier = params.tenantIdentifier));
this.globalEventService.tenantEvent.subscribe(() => {
this.refreshList();
this.updateSlaveMode();
});

this.updateSlaveMode();
this.globalEventService.tenantEvent.subscribe(() => this.refreshList());
}

ngOnDestroy() {
super.ngOnDestroy();
this.destroyer$.next();
this.destroyer$.complete();
}

public openCreateAccesscontractDialog() {
const dialogRef = this.dialog.open(AccessContractCreateComponent, { disableClose: true });
dialogRef.componentInstance.tenantIdentifier = this.tenantIdentifier;
dialogRef.componentInstance.isSlaveMode = this.isSlaveMode;
async openCreateAccessContractDialog() {
const isSlaveMode = await firstValueFrom(this.#isSlaveMode$);
this.dialog.closeAll(); // Prevent opening multiple dialogs
const dialogRef = this.dialog.open<AccessContractCreateComponent, AccessContractCreateComponent['data']>(
AccessContractCreateComponent,
{
disableClose: true,
data: {
tenantIdentifier: this.tenantIdentifier,
isSlaveMode: isSlaveMode,
},
},
);

dialogRef.afterClosed().subscribe((result) => {
if (result !== undefined) {
Expand Down Expand Up @@ -164,10 +166,4 @@ export class AccessContractComponent extends SidenavPage<AccessContract> impleme

this.accessContractListComponent.searchAccessContractOrdered();
}

private updateSlaveMode() {
this.applicationService.isApplicationExternalIdentifierEnabled('ACCESS_CONTRACT').subscribe((value) => {
this.isSlaveMode = value;
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@ import { RouterModule } from '@angular/router';
import { VitamUICommonModule } from 'vitamui-library';
import { ImportDialogModule } from '../shared/import-dialog/import-dialog.module';

import { AccessContractCreateModule } from './access-contract-create';
import { AccessContractListComponent } from './access-contract-list/access-contract-list.component';
import { AccessContractPreviewModule } from './access-contract-preview/access-contract-preview.module';
import { AccessContractRoutingModule } from './access-contract-routing.module';
import { AccessContractComponent } from './access-contract.component';
import { AccessContractCreateComponent } from './access-contract-create/access-contract-create.component';

@NgModule({
imports: [
Expand All @@ -66,7 +66,7 @@ import { AccessContractComponent } from './access-contract.component';
MatProgressSpinnerModule,
MatTabsModule,
AccessContractRoutingModule,
AccessContractCreateModule,
AccessContractCreateComponent,
AccessContractPreviewModule,
ImportDialogModule,
],
Expand Down
Loading
Loading