From 08311965ab30cc51480a68890d90a0e55294dbff Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Wed, 15 Mar 2023 22:40:16 +0200 Subject: [PATCH] RED-3800: dossier states listing screen as module --- .../app/modules/admin/admin-routing.module.ts | 4 +- .../src/app/modules/admin/admin.module.ts | 6 -- ...d-edit-dossier-state-dialog.component.html | 3 +- ...d-edit-dossier-state-dialog.component.scss | 0 ...add-edit-dossier-state-dialog.component.ts | 6 +- ...delete-dossier-state-dialog.component.html | 0 ...delete-dossier-state-dialog.component.scss | 0 ...m-delete-dossier-state-dialog.component.ts | 7 +-- ...ssier-states-listing-screen.component.html | 39 +----------- ...ssier-states-listing-screen.component.scss | 4 ++ ...dossier-states-listing-screen.component.ts | 35 +++++------ .../dossier-states-listing.module.ts | 62 +++++++++++++++++++ .../dossier-states-table-item.component.html | 34 ++++++++++ .../dossier-states-table-item.component.scss} | 5 -- .../dossier-states-table-item.component.ts | 57 +++++++++++++++++ .../admin/services/admin-dialog.service.ts | 10 --- apps/red-ui/src/assets/config/config.json | 4 +- 17 files changed, 186 insertions(+), 90 deletions(-) rename apps/red-ui/src/app/modules/admin/{dialogs => screens/dossier-states-listing}/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.html (98%) rename apps/red-ui/src/app/modules/admin/{dialogs => screens/dossier-states-listing}/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.scss (100%) rename apps/red-ui/src/app/modules/admin/{dialogs => screens/dossier-states-listing}/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.ts (92%) rename apps/red-ui/src/app/modules/admin/{dialogs => screens/dossier-states-listing}/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.html (100%) rename apps/red-ui/src/app/modules/admin/{dialogs => screens/dossier-states-listing}/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.scss (100%) rename apps/red-ui/src/app/modules/admin/{dialogs => screens/dossier-states-listing}/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.ts (92%) rename apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/{ => dossier-states-listing-screen}/dossier-states-listing-screen.component.html (59%) create mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.scss rename apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/{ => dossier-states-listing-screen}/dossier-states-listing-screen.component.ts (74%) create mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing.module.ts create mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.html rename apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/{dossier-states-listing-screen.component.scss => dossier-states-table-item/dossier-states-table-item.component.scss} (80%) create mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.ts diff --git a/apps/red-ui/src/app/modules/admin/admin-routing.module.ts b/apps/red-ui/src/app/modules/admin/admin-routing.module.ts index 23456dd05..71a10eb67 100644 --- a/apps/red-ui/src/app/modules/admin/admin-routing.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin-routing.module.ts @@ -17,7 +17,6 @@ import { DossierTemplatesGuard } from '@guards/dossier-templates.guard'; import { DOSSIER_TEMPLATE_ID, ENTITY_TYPE } from '@red/domain'; import { DossierTemplateExistsGuard } from '@guards/dossier-template-exists.guard'; import { EntityExistsGuard } from '@guards/entity-exists-guard.service'; -import { DossierStatesListingScreenComponent } from './screens/dossier-states-listing/dossier-states-listing-screen.component'; import { BaseEntityScreenComponent } from './base-entity-screen/base-entity-screen.component'; import { PermissionsGuard } from '@guards/permissions-guard'; import { ROLES } from '@users/roles'; @@ -98,7 +97,8 @@ const dossierTemplateIdRoutes: IqserRoutes = [ }, { path: 'dossier-states', - component: DossierStatesListingScreenComponent, + loadChildren: () => + import('./screens/dossier-states-listing/dossier-states-listing.module').then(m => m.DossierStatesListingModule), canActivate: [CompositeRouteGuard], data: { routeGuards: [IqserAuthGuard, RedRoleGuard], diff --git a/apps/red-ui/src/app/modules/admin/admin.module.ts b/apps/red-ui/src/app/modules/admin/admin.module.ts index 57a9ea36f..96ae930b9 100644 --- a/apps/red-ui/src/app/modules/admin/admin.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin.module.ts @@ -34,10 +34,7 @@ import { GeneralConfigFormComponent } from './screens/general-config/general-con import { SmtpFormComponent } from './screens/general-config/smtp-form/smtp-form.component'; import { FileAttributesConfigurationsDialogComponent } from './dialogs/file-attributes-configurations-dialog/file-attributes-configurations-dialog.component'; import { BaseDossierTemplateScreenComponent } from './base-dossier-templates-screen/base-dossier-template-screen.component'; -import { DossierStatesListingScreenComponent } from './screens/dossier-states-listing/dossier-states-listing-screen.component'; -import { AddEditDossierStateDialogComponent } from './dialogs/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component'; import { A11yModule } from '@angular/cdk/a11y'; -import { ConfirmDeleteDossierStateDialogComponent } from './dialogs/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component'; import { BaseEntityScreenComponent } from './base-entity-screen/base-entity-screen.component'; import { AdminSideNavComponent } from './shared/components/admin-side-nav/admin-side-nav.component'; import { SystemPreferencesFormComponent } from './screens/general-config/system-preferences-form/system-preferences-form.component'; @@ -72,8 +69,6 @@ const dialogs = [ FileAttributesCsvImportDialogComponent, AddEditDossierAttributeDialogComponent, UploadDictionaryDialogComponent, - AddEditDossierStateDialogComponent, - ConfirmDeleteDossierStateDialogComponent, ConfigureCertificateDialogComponent, AuditInfoDialogComponent, ]; @@ -87,7 +82,6 @@ const screens = [ UserListingScreenComponent, GeneralConfigScreenComponent, DossierAttributesListingScreenComponent, - DossierStatesListingScreenComponent, ]; const components = [ diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.html b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.html similarity index 98% rename from apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.html rename to apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.html index 88f644372..41c82eed6 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.html @@ -51,8 +51,7 @@ [label]="'add-edit-dossier-state.save' | translate" [submit]="true" [type]="iconButtonTypes.primary" - > - + > diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.scss b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.scss similarity index 100% rename from apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.scss rename to apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.scss diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.ts similarity index 92% rename from apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.ts rename to apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.ts index 280674e8f..70f623695 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component.ts @@ -6,8 +6,8 @@ import { DossierStatesService } from '@services/entity-services/dossier-states.s import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -interface DialogData { - readonly dossierState: IDossierState; +export interface AddEditDossierStateDialogData { + readonly dossierState?: IDossierState; readonly dossierTemplateId: string; } @@ -25,7 +25,7 @@ export class AddEditDossierStateDialogComponent extends BaseDialogComponent { constructor( private readonly _dossierStatesService: DossierStatesService, protected readonly _dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) readonly data: DialogData, + @Inject(MAT_DIALOG_DATA) readonly data: AddEditDossierStateDialogData, ) { super(_dialogRef, !!data.dossierState); this.form = this.#getForm(); diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.html b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.html similarity index 100% rename from apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.html rename to apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.html diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.scss b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.scss similarity index 100% rename from apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.scss rename to apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.scss diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.ts similarity index 92% rename from apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.ts rename to apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.ts index 9a669a851..bf8db1b8b 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; +import { Component, Inject } from '@angular/core'; import { DossierState } from '@red/domain'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { FormBuilder } from '@angular/forms'; @@ -9,7 +9,7 @@ import { IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; import { ArchivedDossiersService } from '@services/dossiers/archived-dossiers.service'; -interface DialogData { +export interface ConfirmDeleteDossierStateDialogData { readonly toBeDeletedState: DossierState; readonly otherStates: DossierState[]; readonly dossierCount: number; @@ -18,7 +18,6 @@ interface DialogData { @Component({ templateUrl: './confirm-delete-dossier-state-dialog.component.html', styleUrls: ['./confirm-delete-dossier-state-dialog.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush, }) export class ConfirmDeleteDossierStateDialogComponent { readonly iconButtonTypes = IconButtonTypes; @@ -36,7 +35,7 @@ export class ConfirmDeleteDossierStateDialogComponent { private readonly _dialogRef: MatDialogRef, private readonly _activeDossiersService: ActiveDossiersService, private readonly _archivedDossiersService: ArchivedDossiersService, - @Inject(MAT_DIALOG_DATA) readonly data: DialogData, + @Inject(MAT_DIALOG_DATA) readonly data: ConfirmDeleteDossierStateDialogData, ) {} get label(): string { diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.html similarity index 59% rename from apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.html rename to apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.html index 0332051c9..dd0ed0200 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.html @@ -52,7 +52,7 @@ > -
-
-
-
-
{{ state.name }}
-
-
- -
- {{ state.rank }} -
- -
- {{ state.dossierCount }} -
- -
-
-
- - - -
-
-
-
+
diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.scss new file mode 100644 index 000000000..9c456907d --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.scss @@ -0,0 +1,4 @@ +.right-container { + padding: 50px 26px 0; + width: 250px; +} diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.ts similarity index 74% rename from apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.ts rename to apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.ts index 47a73d96d..1fcc76707 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.ts @@ -1,6 +1,6 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; import { - CircleButtonTypes, + defaultDialogConfig, getParam, IconButtonTypes, ListingComponent, @@ -8,14 +8,18 @@ import { SortingOrders, TableColumnConfig, } from '@iqser/common-ui'; -import { type DonutChartConfig, DOSSIER_TEMPLATE_ID, type DossierState, type IDossierState } from '@red/domain'; +import { type DonutChartConfig, DOSSIER_TEMPLATE_ID, type DossierState } from '@red/domain'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { firstValueFrom, Observable } from 'rxjs'; -import { AdminDialogService } from '../../services/admin-dialog.service'; import { DossierStatesMapService } from '@services/entity-services/dossier-states-map.service'; import { map, tap } from 'rxjs/operators'; import { DossierStatesService } from '@services/entity-services/dossier-states.service'; import { PermissionsService } from '@services/permissions.service'; +import { MatDialog } from '@angular/material/dialog'; +import { + AddEditDossierStateDialogComponent, + AddEditDossierStateDialogData, +} from '../add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component'; @Component({ templateUrl: './dossier-states-listing-screen.component.html', @@ -24,7 +28,6 @@ import { PermissionsService } from '@services/permissions.service'; }) export class DossierStatesListingScreenComponent extends ListingComponent implements OnInit, OnDestroy { readonly iconButtonTypes = IconButtonTypes; - readonly circleButtonTypes = CircleButtonTypes; readonly tableHeaderLabel = _('dossier-states-listing.table-header.title'); readonly tableColumnConfigs: TableColumnConfig[] = [ { label: _('dossier-states-listing.table-col-names.name'), sortByKey: 'name', width: '3fr' }, @@ -35,7 +38,7 @@ export class DossierStatesListingScreenComponent extends ListingComponent state.id !== dossierState.id), - dossierCount: dossierState.dossierCount, - }; - this._dialogService.openDialog('deleteDossierState', $event, data); + this._dialog.open(AddEditDossierStateDialogComponent, { + ...defaultDialogConfig, + data: { + dossierTemplateId: this.#dossierTemplateId, + }, + }); } #chartConfig(states: DossierState[]): DonutChartConfig[] { diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing.module.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing.module.ts new file mode 100644 index 000000000..6b34c2cf5 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing.module.ts @@ -0,0 +1,62 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { DossierStatesListingScreenComponent } from './dossier-states-listing-screen/dossier-states-listing-screen.component'; +import { DossierStatesTableItemComponent } from './dossier-states-table-item/dossier-states-table-item.component'; +import { RouterModule } from '@angular/router'; +import { + CircleButtonComponent, + IconButtonComponent, + InputWithActionComponent, + IqserHelpModeModule, + IqserListingModule, +} from '@iqser/common-ui'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { TranslateModule } from '@ngx-translate/core'; +import { DonutChartComponent } from '@shared/components/donut-chart/donut-chart.component'; +import { AdminSideNavComponent } from '../../shared/components/admin-side-nav/admin-side-nav.component'; +import { DossierTemplateActionsComponent } from '../../shared/components/dossier-template-actions/dossier-template-actions.component'; +import { DossierTemplateBreadcrumbsComponent } from '../../shared/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component'; +import { AddEditDossierStateDialogComponent } from './add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component'; +import { ReactiveFormsModule } from '@angular/forms'; +import { ColorPickerModule } from 'ngx-color-picker'; +import { MatIconModule } from '@angular/material/icon'; +import { ConfirmDeleteDossierStateDialogComponent } from './confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component'; +import { MatLegacyCheckboxModule } from '@angular/material/legacy-checkbox'; +import { MatSelectModule } from '@angular/material/select'; +import { MatDialogModule } from '@angular/material/dialog'; + +@NgModule({ + declarations: [ + DossierStatesListingScreenComponent, + DossierStatesTableItemComponent, + AddEditDossierStateDialogComponent, + ConfirmDeleteDossierStateDialogComponent, + ], + imports: [ + CommonModule, + RouterModule.forChild([ + { + path: '', + component: DossierStatesListingScreenComponent, + }, + ]), + MatDialogModule, + CircleButtonComponent, + IqserHelpModeModule, + MatTooltipModule, + IconButtonComponent, + TranslateModule, + IqserListingModule, + DonutChartComponent, + AdminSideNavComponent, + DossierTemplateActionsComponent, + InputWithActionComponent, + DossierTemplateBreadcrumbsComponent, + ReactiveFormsModule, + ColorPickerModule, + MatIconModule, + MatLegacyCheckboxModule, + MatSelectModule, + ], +}) +export class DossierStatesListingModule {} diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.html b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.html new file mode 100644 index 000000000..61c99bb63 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.html @@ -0,0 +1,34 @@ +
+
+
+
{{ state.name }}
+
+
+ +
+ {{ state.rank }} +
+ +
+ {{ state.dossierCount }} +
+ +
+
+
+ + + +
+
+
diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.scss similarity index 80% rename from apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.scss rename to apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.scss index bce23ef20..76adc2722 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.scss +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.scss @@ -12,11 +12,6 @@ color: var(--iqser-text); } -.right-container { - padding: 50px 26px 0; - width: 250px; -} - .action-buttons > div { display: flex; } diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.ts new file mode 100644 index 000000000..ac6b46490 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-table-item/dossier-states-table-item.component.ts @@ -0,0 +1,57 @@ +import { Component, inject, Input } from '@angular/core'; +import { CircleButtonTypes, defaultDialogConfig, EntitiesService } from '@iqser/common-ui'; +import { DossierState, IDossierState } from '@red/domain'; +import { PermissionsService } from '@services/permissions.service'; +import { + AddEditDossierStateDialogComponent, + AddEditDossierStateDialogData, +} from '../add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component'; +import { MatDialog } from '@angular/material/dialog'; +import { + ConfirmDeleteDossierStateDialogComponent, + ConfirmDeleteDossierStateDialogData, +} from '../confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component'; + +@Component({ + selector: 'redaction-dossier-states-table-item', + templateUrl: './dossier-states-table-item.component.html', + styleUrls: ['./dossier-states-table-item.component.scss'], +}) +export class DossierStatesTableItemComponent { + @Input() state: DossierState; + + readonly circleButtonTypes = CircleButtonTypes; + readonly permissionsService = inject(PermissionsService); + readonly #dialog = inject(MatDialog); + readonly #entitiesService = inject(EntitiesService); + + openConfirmDeleteStateDialog($event: MouseEvent, dossierState: DossierState) { + $event.stopPropagation(); + + const data: ConfirmDeleteDossierStateDialogData = { + toBeDeletedState: dossierState, + otherStates: this.#entitiesService.all.filter(s => s.id !== dossierState.id), + dossierCount: dossierState.dossierCount, + }; + + this.#dialog.open( + ConfirmDeleteDossierStateDialogComponent, + { + ...defaultDialogConfig, + data, + }, + ); + } + + openEditStateDialog($event: MouseEvent, dossierState: IDossierState) { + $event.stopPropagation(); + + this.#dialog.open(AddEditDossierStateDialogComponent, { + ...defaultDialogConfig, + data: { + dossierState, + dossierTemplateId: dossierState.dossierTemplateId, + }, + }); + } +} diff --git a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts index 95e85faa4..dfab4ec29 100644 --- a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts +++ b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts @@ -20,8 +20,6 @@ import { } from '@iqser/common-ui'; import { UploadDictionaryDialogComponent } from '../dialogs/upload-dictionary-dialog/upload-dictionary-dialog.component'; import { FileAttributesConfigurationsDialogComponent } from '../dialogs/file-attributes-configurations-dialog/file-attributes-configurations-dialog.component'; -import { AddEditDossierStateDialogComponent } from '../dialogs/add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component'; -import { ConfirmDeleteDossierStateDialogComponent } from '../dialogs/confirm-delete-dossier-state-dialog/confirm-delete-dossier-state-dialog.component'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { firstValueFrom, forkJoin } from 'rxjs'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; @@ -44,8 +42,6 @@ type DialogType = | 'auditInfo' | 'addEditDossierAttribute' | 'uploadDictionary' - | 'addEditDossierState' - | 'deleteDossierState' | 'configureCertificate'; @Injectable() @@ -93,12 +89,6 @@ export class AdminDialogService extends DialogService { uploadDictionary: { component: UploadDictionaryDialogComponent, }, - addEditDossierState: { - component: AddEditDossierStateDialogComponent, - }, - deleteDossierState: { - component: ConfirmDeleteDossierStateDialogComponent, - }, configureCertificate: { component: ConfigureCertificateDialogComponent, dialogConfig: { disableClose: false, maxHeight: '100vh' }, diff --git a/apps/red-ui/src/assets/config/config.json b/apps/red-ui/src/assets/config/config.json index c81f4bc32..07317e72b 100644 --- a/apps/red-ui/src/assets/config/config.json +++ b/apps/red-ui/src/assets/config/config.json @@ -1,7 +1,7 @@ { "ADMIN_CONTACT_NAME": null, "ADMIN_CONTACT_URL": null, - "API_URL": "https://dev-08.iqser.cloud/redaction-gateway-v1", + "API_URL": "https://dev-04.iqser.cloud/redaction-gateway-v1", "APP_NAME": "RedactManager", "AUTO_READ_TIME": 3, "BACKEND_APP_VERSION": "4.4.40", @@ -11,7 +11,7 @@ "MAX_RETRIES_ON_SERVER_ERROR": 3, "OAUTH_CLIENT_ID": "redaction", "OAUTH_IDP_HINT": null, - "OAUTH_URL": "https://dev-08.iqser.cloud/auth/realms/redaction", + "OAUTH_URL": "https://dev-04.iqser.cloud/auth/realms/redaction", "RECENT_PERIOD_IN_HOURS": 24, "SELECTION_MODE": "structural", "MANUAL_BASE_URL": "https://docs.redactmanager.com/preview",