diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index 3cdb65db1..5d5fdc909 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -33,8 +33,6 @@ export class AddEditDossierTemplateDialogComponent implements OnInit { private _previousValidFrom: Moment; private _previousValidTo: Moment; - reportTemplateValueMapper = (reportTemplate: ReportTemplate) => reportTemplate.templateId; - constructor( private readonly _appStateService: AppStateService, private readonly _formBuilder: FormBuilder, @@ -68,11 +66,6 @@ export class AddEditDossierTemplateDialogComponent implements OnInit { }); } - async ngOnInit() { - this.availableReportTypes = - (await this._reportTemplateController.getAvailableReportTemplates(this.dossierTemplate?.dossierTemplateId).toPromise()) || []; - } - get changed(): boolean { if (!this.dossierTemplate) return true; @@ -105,6 +98,13 @@ export class AddEditDossierTemplateDialogComponent implements OnInit { return false; } + reportTemplateValueMapper = (reportTemplate: ReportTemplate) => reportTemplate.templateId; + + async ngOnInit() { + this.availableReportTypes = + (await this._reportTemplateController.getAvailableReportTemplates(this.dossierTemplate?.dossierTemplateId).toPromise()) || []; + } + async saveDossierTemplate() { const dossierTemplate = { dossierTemplateId: this.dossierTemplate?.dossierTemplateId, @@ -115,7 +115,7 @@ export class AddEditDossierTemplateDialogComponent implements OnInit { await this._dossierTemplateController.createOrUpdateDossierTemplate(dossierTemplate).toPromise(); await this._appStateService.loadAllDossierTemplates(); await this._appStateService.loadDictionaryData(); - this.dialogRef.close(dossierTemplate); + this.dialogRef.close(true); } private _applyValidityIntervalConstraints(value): boolean { diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.html index bf3379f53..16e33115b 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.html @@ -8,28 +8,12 @@
-
- - - - {{ - 'dossier-templates-listing.table-header.title' - | translate: { length: (entitiesService.displayedLength$ | async) } - }} - - - - +
-
- -
-
- - - - - - -
-
+
+ + + + diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts index 430ceddf0..b79caca84 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts @@ -20,6 +20,25 @@ export class DossierTemplatesListingScreenComponent extends BaseListingComponent readonly iconButtonTypes = IconButtonTypes; readonly circleButtonTypes = CircleButtonTypes; readonly currentUser = this._userService.currentUser; + tableColConfigs: TableColConfig[] = [ + { + label: _('dossier-templates-listing.table-col-names.name'), + withSort: true, + column: 'name' + }, + { label: _('dossier-templates-listing.table-col-names.created-by'), class: 'user-column' }, + { + label: _('dossier-templates-listing.table-col-names.created-on'), + withSort: true, + column: 'dateAdded' + }, + { + label: _('dossier-templates-listing.table-col-names.modified-on'), + withSort: true, + column: 'dateModified' + } + ]; + protected _tableHeaderLabel = _('dossier-templates-listing.table-header.title'); constructor( protected readonly _injector: Injector, @@ -37,35 +56,32 @@ export class DossierTemplatesListingScreenComponent extends BaseListingComponent this.loadDossierTemplatesData(); } - openDeleteTemplatesDialog($event?: MouseEvent) { + openBulkDeleteTemplatesDialog($event?: MouseEvent) { return this._dialogService.openDialog('confirm', $event, null, async () => { - this._loadingService.start(); - await this._dossierTemplateControllerService - .deleteDossierTemplates(this.entitiesService.selected.map(d => d.dossierTemplateId)) - .toPromise(); - this.entitiesService.setSelected([]); - await this._appStateService.loadAllDossierTemplates(); - await this._appStateService.loadDictionaryData(); - this.loadDossierTemplatesData(); + this._loadingService.loadWhile(this._deleteTemplates()); }); } loadDossierTemplatesData() { - this._loadingService.start(); this._appStateService.reset(); this.entitiesService.setEntities(this._appStateService.dossierTemplates); this._loadDossierTemplateStats(); - this._loadingService.stop(); } openAddDossierTemplateDialog() { - this._dialogService.openDialog('addEditDossierTemplate', null, null, async newDossierTemplate => { - if (newDossierTemplate) { - this.loadDossierTemplatesData(); - } + this._dialogService.openDialog('addEditDossierTemplate', null, null, () => { + this.loadDossierTemplatesData(); }); } + private async _deleteTemplates(templateIds: string[] = this.screenStateService.selectedEntities.map(d => d.dossierTemplateId)) { + await this._dossierTemplateControllerService.deleteDossierTemplates(templateIds).toPromise(); + this.screenStateService.setSelectedEntities([]); + await this._appStateService.loadAllDossierTemplates(); + await this._appStateService.loadDictionaryData(); + this.loadDossierTemplatesData(); + } + private _loadDossierTemplateStats() { this.entitiesService.all.forEach(rs => { const dictionaries = this._appStateService.dictionaryData[rs.dossierTemplateId]; diff --git a/apps/red-ui/src/app/modules/shared/components/table-header/table-header.component.html b/apps/red-ui/src/app/modules/shared/components/table-header/table-header.component.html index d97625d55..2b8d9d17d 100644 --- a/apps/red-ui/src/app/modules/shared/components/table-header/table-header.component.html +++ b/apps/red-ui/src/app/modules/shared/components/table-header/table-header.component.html @@ -13,6 +13,9 @@ + + +