-
+
-
diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.scss
index ba039443f..98e4dc474 100644
--- a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.scss
+++ b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.scss
@@ -10,20 +10,6 @@
overflow: auto;
}
-.w-100 {
- min-width: 100px;
- width: 100px;
-}
-
-.inline-input-group {
- background-color: rgba(variables.$grey-6, 0.8);
- width: 100%;
- height: 38px;
- border-radius: 4px;
- padding: 1px 11px;
- margin-top: 20px;
-}
-
.dialog {
width: 100%;
min-height: unset;
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts
index c1903040d..18b30ea9a 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts
@@ -1,5 +1,5 @@
-import { Component, ElementRef, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';
-import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
+import { Component, ElementRef, Input, OnInit, QueryList, ViewChildren } from '@angular/core';
+import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { Dossier, DossierAttributeConfigType, DossierAttributeConfigTypes, DossierAttributeWithValue } from '@red/domain';
import { PermissionsService } from '@services/permissions.service';
import { CircleButtonTypes, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui';
@@ -19,7 +19,6 @@ export class EditDossierAttributesComponent implements EditDossierSectionInterfa
readonly dossierAttributeConfigTypes = DossierAttributeConfigTypes;
@Input() dossier: Dossier;
- @Output() readonly updateDossier = new EventEmitter();
customAttributes: DossierAttributeWithValue[] = [];
imageAttributes: DossierAttributeWithValue[] = [];
attributes: DossierAttributeWithValue[] = [];
@@ -64,7 +63,7 @@ export class EditDossierAttributesComponent implements EditDossierSectionInterfa
this._loadingService.stop();
}
- async save() {
+ async save(): EditDossierSaveResult {
const dossierAttributeList = this.attributes.map(attr => ({
dossierAttributeConfigId: attr.id,
value: this.currentAttrValue(attr),
@@ -72,9 +71,10 @@ export class EditDossierAttributesComponent implements EditDossierSectionInterfa
try {
await this._dossierAttributesService.setAttributes(this.dossier, dossierAttributeList).toPromise();
await this._loadAttributes();
- this.updateDossier.emit();
- } catch (e) {
+ return { success: true };
+ } catch (error) {
this._toaster.error(_('edit-dossier-dialog.attributes.error.generic'));
+ return { success: false };
}
}
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts
index 6a9336c7e..7a8035ada 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts
@@ -1,5 +1,5 @@
-import { Component, EventEmitter, forwardRef, Injector, Input, OnInit, Output } from '@angular/core';
-import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
+import { Component, forwardRef, Injector, Input, OnInit } from '@angular/core';
+import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { Dossier, IFile } from '@red/domain';
import {
CircleButtonTypes,
@@ -16,7 +16,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import * as moment from 'moment';
import { ConfigService } from '@services/config.service';
import { getLeftDateTime } from '@utils/functions';
-import { Observable } from 'rxjs';
+import { Observable, of } from 'rxjs';
import { distinctUntilChanged, map } from 'rxjs/operators';
import { DossiersDialogService } from '../../../services/dossiers-dialog.service';
import { FilesService } from '@services/entity-services/files.service';
@@ -38,7 +38,6 @@ interface FileListItem extends IFile, IListable {
})
export class EditDossierDeletedDocumentsComponent extends ListingComponent
implements EditDossierSectionInterface, OnInit {
@Input() dossier: Dossier;
- @Output() readonly updateDossier = new EventEmitter();
readonly changed = false;
readonly canRestoreSelected$ = this._canRestoreSelected$;
disabled: boolean;
@@ -101,7 +100,9 @@ export class EditDossierDeletedDocumentsComponent extends ListingComponent f.fileId);
await this._fileManagementService.hardDelete(this.dossier.id, fileIds).toPromise();
this._removeFromList(fileIds);
- this.updateDossier.emit();
}
private _removeFromList(ids: string[]): void {
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts
index bf9246d99..ba2dc7296 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts
@@ -1,11 +1,12 @@
-import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
+import { Component, Input, OnInit, ViewChild } from '@angular/core';
import { Dossier, IDictionary } from '@red/domain';
-import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
+import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { PermissionsService } from '@services/permissions.service';
import { DictionaryManagerComponent } from '@shared/components/dictionary-manager/dictionary-manager.component';
import { DictionaryService } from '@shared/services/dictionary.service';
-import { CircleButtonTypes, LoadingService } from '@iqser/common-ui';
+import { CircleButtonTypes, LoadingService, Toaster } from '@iqser/common-ui';
import { DossiersService } from '@services/entity-services/dossiers.service';
+import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
@Component({
selector: 'redaction-edit-dossier-dictionary',
@@ -14,7 +15,6 @@ import { DossiersService } from '@services/entity-services/dossiers.service';
})
export class EditDossierDictionaryComponent implements EditDossierSectionInterface, OnInit {
@Input() dossier: Dossier;
- @Output() readonly updateDossier = new EventEmitter();
canEdit = false;
readonly circleButtonTypes = CircleButtonTypes;
dossierDictionary: IDictionary;
@@ -26,6 +26,7 @@ export class EditDossierDictionaryComponent implements EditDossierSectionInterfa
private readonly _dictionaryService: DictionaryService,
private readonly _permissionsService: PermissionsService,
private readonly _loadingService: LoadingService,
+ private readonly _toaster: Toaster,
) {}
get changed() {
@@ -44,27 +45,38 @@ export class EditDossierDictionaryComponent implements EditDossierSectionInterfa
}
async updateDisplayName(label: string) {
- const dictionary: IDictionary = { ...this.dossierDictionary, label };
- await this._dictionaryService
- .updateDictionary(dictionary, this.dossier.dossierTemplateId, 'dossier_redaction', this.dossier.id)
- .toPromise();
- await this._updateDossierDictionary();
- this.updateDossier.emit();
+ try {
+ this._loadingService.start();
+ // TODO: Setting the type manually shouldn't be necessary, but for now it fails with status code 500...
+ const dictionary: IDictionary = { ...this.dossierDictionary, type: 'dossier_redaction', label };
+ await this._dictionaryService
+ .updateDictionary(dictionary, this.dossier.dossierTemplateId, 'dossier_redaction', this.dossier.id)
+ .toPromise();
+ await this._updateDossierDictionary();
+ this._toaster.success(_('edit-dossier-dialog.dictionary.display-name.success'));
+ } catch (error) {
+ this._toaster.error(_('edit-dossier-dialog.dictionary.display-name.error'));
+ }
+ this._loadingService.stop();
}
- async save() {
- await this._dictionaryService
- .saveEntries(
- this._dictionaryManager.editor.currentEntries,
- this._dictionaryManager.initialEntries,
- this.dossier.dossierTemplateId,
- 'dossier_redaction',
- this.dossier.id,
- false,
- )
- .toPromise();
- await this._updateDossierDictionary();
- this.updateDossier.emit();
+ async save(): EditDossierSaveResult {
+ try {
+ await this._dictionaryService
+ .saveEntries(
+ this._dictionaryManager.editor.currentEntries,
+ this._dictionaryManager.initialEntries,
+ this.dossier.dossierTemplateId,
+ 'dossier_redaction',
+ this.dossier.id,
+ false,
+ )
+ .toPromise();
+ await this._updateDossierDictionary();
+ return { success: true };
+ } catch (error) {
+ return { success: false };
+ }
}
revert() {
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts
index 7e5e49fdb..402e8a3c8 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts
@@ -1,7 +1,7 @@
-import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { Component, Input, OnInit } from '@angular/core';
import { Dossier, DownloadFileType, IReportTemplate } from '@red/domain';
import { FormBuilder, FormGroup } from '@angular/forms';
-import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
+import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { downloadTypesTranslations } from '../../../../../translations/download-types-translations';
import { DossiersService } from '@services/entity-services/dossiers.service';
import { ReportTemplateService } from '@services/report-template.service';
@@ -20,7 +20,6 @@ export class EditDossierDownloadPackageComponent implements OnInit, EditDossierS
availableReportTypes: IReportTemplate[] = [];
@Input() dossier: Dossier;
- @Output() readonly updateDossier = new EventEmitter();
constructor(
private readonly _dossiersService: DossiersService,
@@ -70,6 +69,27 @@ export class EditDossierDownloadPackageComponent implements OnInit, EditDossierS
this.dossierForm = this._getForm();
}
+ async save(): EditDossierSaveResult {
+ const dossier = {
+ ...this.dossier,
+ downloadFileTypes: this.dossierForm.get('downloadFileTypes').value,
+ reportTemplateIds: this.dossierForm.get('reportTemplateIds').value,
+ };
+ try {
+ await this._dossiersService.createOrUpdate(dossier).toPromise();
+ return { success: true };
+ } catch (error) {
+ return { success: false };
+ }
+ }
+
+ revert() {
+ this.dossierForm.reset({
+ downloadFileTypes: this.dossier.downloadFileTypes,
+ reportTemplateIds: this.dossier.reportTemplateIds,
+ });
+ }
+
private _getForm(): FormGroup {
return this._formBuilder.group(
{
@@ -84,21 +104,4 @@ export class EditDossierDownloadPackageComponent implements OnInit, EditDossierS
},
);
}
-
- async save() {
- const dossier = {
- ...this.dossier,
- downloadFileTypes: this.dossierForm.get('downloadFileTypes').value,
- reportTemplateIds: this.dossierForm.get('reportTemplateIds').value,
- };
- await this._dossiersService.createOrUpdate(dossier).toPromise();
- this.updateDossier.emit();
- }
-
- revert() {
- this.dossierForm.reset({
- downloadFileTypes: this.dossier.downloadFileTypes,
- reportTemplateIds: this.dossier.reportTemplateIds,
- });
- }
}
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html
index 7e5df0c58..010261882 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html
@@ -21,37 +21,28 @@
-
+
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts
index 5494a637d..4c7a6b9a7 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts
@@ -11,9 +11,9 @@ import { EditDossierAttributesComponent } from './attributes/edit-dossier-attrib
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { EditDossierDeletedDocumentsComponent } from './deleted-documents/edit-dossier-deleted-documents.component';
import { DossiersService } from '@services/entity-services/dossiers.service';
-import { TeamMembersManagerComponent } from '../../components/team-members-manager/team-members-manager.component';
import { Observable } from 'rxjs';
import { tap } from 'rxjs/operators';
+import { EditDossierTeamComponent } from './edit-dossier-team/edit-dossier-team.component';
type Section = 'dossierInfo' | 'downloadPackage' | 'dossierDictionary' | 'members' | 'dossierAttributes' | 'deletedDocuments';
@@ -30,7 +30,7 @@ export class EditDossierDialogComponent {
@ViewChild(EditDossierGeneralInfoComponent) generalInfoComponent: EditDossierGeneralInfoComponent;
@ViewChild(EditDossierDownloadPackageComponent) downloadPackageComponent: EditDossierDownloadPackageComponent;
@ViewChild(EditDossierDictionaryComponent) dictionaryComponent: EditDossierDictionaryComponent;
- @ViewChild(TeamMembersManagerComponent) membersComponent: TeamMembersManagerComponent;
+ @ViewChild(EditDossierTeamComponent) membersComponent: EditDossierTeamComponent;
@ViewChild(EditDossierAttributesComponent) attributesComponent: EditDossierAttributesComponent;
@ViewChild(EditDossierDeletedDocumentsComponent) deletedDocumentsComponent: EditDossierDeletedDocumentsComponent;
private _dossierName: string;
@@ -44,7 +44,6 @@ export class EditDossierDialogComponent {
@Inject(MAT_DIALOG_DATA)
private readonly _data: {
dossierId: string;
- afterSave: Function;
section?: Section;
},
) {
@@ -112,23 +111,20 @@ export class EditDossierDialogComponent {
return !['deletedDocuments'].includes(this.activeNav);
}
- updatedDossier() {
- this._toaster.success(_('edit-dossier-dialog.change-successful'), { params: { dossierName: this._dossierName } });
- this.afterSave();
- }
-
afterSave() {
- if (this._data?.afterSave) {
- this._data.afterSave();
- }
+ this._toaster.success(_('edit-dossier-dialog.change-successful'), { params: { dossierName: this._dossierName } });
}
async save(closeAfterSave: boolean = false) {
this._loadingService.start();
- await this.activeComponent.save();
+ const result = await this.activeComponent.save();
this._loadingService.stop();
- if (closeAfterSave) {
+ if (result.success) {
+ this.afterSave();
+ }
+
+ if (result.success && closeAfterSave) {
this._dialogRef.close();
}
}
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-section.interface.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-section.interface.ts
index ffe1b7354..84d05ca47 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-section.interface.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-section.interface.ts
@@ -1,6 +1,8 @@
+export type EditDossierSaveResult = Promise<{ success: boolean }>;
+
export interface EditDossierSectionInterface {
changed: boolean;
disabled: boolean;
- save: Function;
+ save: (...args: any) => EditDossierSaveResult;
revert: Function;
}
diff --git a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html
similarity index 100%
rename from apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.html
rename to apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html
diff --git a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.scss b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.scss
similarity index 91%
rename from apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.scss
rename to apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.scss
index 59b089f07..fad35d935 100644
--- a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.scss
@@ -1,5 +1,5 @@
-@use 'common-mixins';
-@use 'variables';
+@use 'libs/common-ui/src/assets/styles/common-mixins';
+@use 'apps/red-ui/src/assets/styles/variables';
.search-container {
margin-top: 16px;
diff --git a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts
similarity index 86%
rename from apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts
rename to apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts
index 21bb9c8df..0d9f1a7cc 100644
--- a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts
@@ -1,24 +1,23 @@
-import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';
+import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit } from '@angular/core';
import { UserService } from '@services/user.service';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { DossiersService } from '@services/entity-services/dossiers.service';
-import { Dossier, IDossier, IDossierRequest } from '@red/domain';
+import { Dossier, IDossierRequest } from '@red/domain';
import { AutoUnsubscribe } from '@iqser/common-ui';
-import { EditDossierSectionInterface } from '../../dialogs/edit-dossier-dialog/edit-dossier-section.interface';
+import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { BehaviorSubject } from 'rxjs';
@Component({
- selector: 'redaction-team-members-manager',
- templateUrl: './team-members-manager.component.html',
- styleUrls: ['./team-members-manager.component.scss'],
+ selector: 'redaction-edit-dossier-team',
+ templateUrl: './edit-dossier-team.component.html',
+ styleUrls: ['./edit-dossier-team.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
-export class TeamMembersManagerComponent extends AutoUnsubscribe implements EditDossierSectionInterface, OnInit, OnDestroy {
+export class EditDossierTeamComponent extends AutoUnsubscribe implements EditDossierSectionInterface, OnInit, OnDestroy {
form: FormGroup;
searchQuery = '';
@Input() dossier: Dossier;
- @Output() readonly updateDossier = new EventEmitter
();
readonly ownersSelectOptions = this.userService.managerUsers.map(m => m.id);
membersSelectOptions: string[] = [];
@@ -69,7 +68,7 @@ export class TeamMembersManagerComponent extends AutoUnsubscribe implements Edit
return userId === this.selectedOwnerId;
}
- async save() {
+ async save(): EditDossierSaveResult {
const dossier = {
...this.dossier,
memberIds: this.selectedMembersList,
@@ -77,9 +76,11 @@ export class TeamMembersManagerComponent extends AutoUnsubscribe implements Edit
ownerId: this.selectedOwnerId,
} as IDossierRequest;
- const result = await this._dossiersService.createOrUpdate(dossier).toPromise();
- if (result) {
- this.updateDossier.emit();
+ try {
+ await this._dossiersService.createOrUpdate(dossier).toPromise();
+ return { success: true };
+ } catch (error) {
+ return { success: false };
}
}
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts
index cb62879f8..48ca6a9b3 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts
@@ -1,8 +1,8 @@
-import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { Component, Input, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import * as moment from 'moment';
import { Dossier, IDossierRequest, IDossierTemplate } from '@red/domain';
-import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
+import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { DossiersDialogService } from '../../../services/dossiers-dialog.service';
import { PermissionsService } from '@services/permissions.service';
import { Router } from '@angular/router';
@@ -22,13 +22,12 @@ import { DossierStatsService } from '@services/entity-services/dossier-stats.ser
export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSectionInterface {
readonly iconButtonTypes = IconButtonTypes;
+ @Input() dossier: Dossier;
+
dossierForm: FormGroup;
hasDueDate: boolean;
dossierTemplates: IDossierTemplate[];
- @Input() dossier: Dossier;
- @Output() readonly updateDossier = new EventEmitter();
-
constructor(
readonly permissionsService: PermissionsService,
private readonly _dossierTemplatesService: DossierTemplatesService,
@@ -83,7 +82,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
});
}
- async save() {
+ async save(): EditDossierSaveResult {
const dossier = {
...this.dossier,
dossierName: this.dossierForm.get('dossierName').value,
@@ -95,8 +94,10 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
} as IDossierRequest;
try {
await this._dossiersService.createOrUpdate(dossier).toPromise();
- this.updateDossier.emit();
- } catch (e) {}
+ return { success: true };
+ } catch (error) {
+ return { success: false };
+ }
}
deleteDossier() {
diff --git a/apps/red-ui/src/app/modules/dossier/dossiers.module.ts b/apps/red-ui/src/app/modules/dossier/dossiers.module.ts
index 9def60668..02a08fd5c 100644
--- a/apps/red-ui/src/app/modules/dossier/dossiers.module.ts
+++ b/apps/red-ui/src/app/modules/dossier/dossiers.module.ts
@@ -19,7 +19,6 @@ import { EditDossierDialogComponent } from './dialogs/edit-dossier-dialog/edit-d
import { EditDossierGeneralInfoComponent } from './dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component';
import { EditDossierDownloadPackageComponent } from './dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component';
import { EditDossierDictionaryComponent } from './dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component';
-import { TeamMembersManagerComponent } from './components/team-members-manager/team-members-manager.component';
import { ChangeLegalBasisDialogComponent } from './dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component';
import { RecategorizeImageDialogComponent } from './dialogs/recategorize-image-dialog/recategorize-image-dialog.component';
import { EditDossierAttributesComponent } from './dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component';
@@ -31,6 +30,7 @@ import { ResizeAnnotationDialogComponent } from './dialogs/resize-annotation-dia
import { BreadcrumbsService } from '@services/breadcrumbs.service';
import { of } from 'rxjs';
import { TranslateService } from '@ngx-translate/core';
+import { EditDossierTeamComponent } from './dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component';
const screens = [SearchScreenComponent];
@@ -52,7 +52,7 @@ const components = [
EditDossierDownloadPackageComponent,
EditDossierDictionaryComponent,
EditDossierAttributesComponent,
- TeamMembersManagerComponent,
+ EditDossierTeamComponent,
EditDossierDeletedDocumentsComponent,
...screens,
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details/dossier-details.component.scss b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details/dossier-details.component.scss
index 2c5d7243a..590bd275b 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details/dossier-details.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details/dossier-details.component.scss
@@ -41,7 +41,3 @@
}
}
}
-
-.mt-12 {
- margin-top: 12px;
-}
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/view-mode-selection/view-mode-selection.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/view-mode-selection/view-mode-selection.component.html
index 9df37d5f9..f88ad8274 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/view-mode-selection/view-mode-selection.component.html
+++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/view-mode-selection/view-mode-selection.component.html
@@ -5,7 +5,7 @@
(action)="setListingMode(listingModes.table)"
[attr.aria-expanded]="mode === listingModes.table"
[tooltip]="'view-mode.list' | translate"
- [type]="circleButtonTypes.dossierView"
+ [greySelected]="true"
icon="iqser:list"
>
@@ -13,7 +13,7 @@
(action)="setListingMode(listingModes.workflow)"
[attr.aria-expanded]="mode === listingModes.workflow"
[tooltip]="'view-mode.workflow' | translate"
- [type]="circleButtonTypes.dossierView"
+ [greySelected]="true"
icon="iqser:lanes"
>
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts
index c3e4f8505..147dba9b7 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts
@@ -20,7 +20,6 @@ import { Observable, timer } from 'rxjs';
import { filter, switchMap, tap } from 'rxjs/operators';
import { convertFiles, Files, handleFileDrop } from '@utils/index';
import {
- CHANGED_CHECK_INTERVAL,
CircleButtonTypes,
DefaultListingServices,
ListingComponent,
@@ -46,6 +45,7 @@ import { LongPressEvent } from '@shared/directives/long-press.directive';
import { UserPreferenceService } from '@services/user-preference.service';
import { FilesMapService } from '@services/entity-services/files-map.service';
import { FilesService } from '@services/entity-services/files.service';
+import { CHANGED_CHECK_INTERVAL } from '@utils/constants';
@Component({
templateUrl: './dossier-overview-screen.component.html',
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts
index 6b347473f..fd02bf16f 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts
@@ -1,4 +1,4 @@
-import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';
+import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core';
import { PermissionsService } from '@services/permissions.service';
import { CircleButtonTypes, List, StatusBarConfig } from '@iqser/common-ui';
import { UserService } from '@services/user.service';
@@ -28,8 +28,6 @@ export class DossiersListingActionsComponent implements OnChanges {
@Input() dossier: Dossier;
@Input() stats: DossierStats;
- @Output() readonly actionPerformed = new EventEmitter