[KON-591]: Total Commit
[KON-670]: Bugfix (DSGVO-filter)
Signed-off-by: Dennis Schmitt <dennis.schmitt@pta.de>
diff --git a/src/app/pages/contacts/contacts-list/contacts-list-column-definition.ts b/src/app/pages/contacts/contacts-list/contacts-list-column-definition.ts
index 8ca0601..0d1d60c 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list-column-definition.ts
+++ b/src/app/pages/contacts/contacts-list/contacts-list-column-definition.ts
@@ -46,6 +46,12 @@
field: 'note',
colId: 'note',
headerName: 'Contacts.Note',
+ maxWidth: 130,
+ tooltip: params => {
+ if (params.value.length >= 20) {
+ return params.value;
+ }
+ },
filter: 'agTextColumnFilter',
filterParams: {
debounceMs: 1000,
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.html b/src/app/pages/contacts/contacts-list/contacts-list.component.html
index 636fe40..77f72ee 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.html
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.html
@@ -44,7 +44,7 @@
type="button"
style="color: #495057;"
class="btn btn-default btn-sm"
- (click)="isDSGVOFilterAdvancedVisible = !isDSGVOFilterAdvancedVisible"
+ (click)="showAdvancedDSGVOFilter()"
title="{{ 'Contacts.DSGVO-advanced-filter' | translate }}"
>
DSGVO
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts b/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts
index 222b05f..3c9044c 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts
@@ -211,4 +211,20 @@
expect(component.modifiedContacts.moduleName).toBe(moduleName);
expect(component.modifiedContacts.withoutAssignedModule).toBeFalsy();
});
+
+ it('checks if function _resetDSGVOFilter works', () => {
+ (component as any)._deletionLockExceeded = true;
+ (component as any)._resetDSGVOFilter();
+ expect((component as any)._deletionLockExceeded).toBeFalsy();
+ });
+
+ it('checks if function showAdvancedDSGVOFilter() works', () => {
+ const spy = spyOn(component as any, '_resetDSGVOFilter');
+ component.isDSGVOFilterAdvancedVisible = true;
+ component.modifiedContacts.expiringDataInPast = true;
+ component.showAdvancedDSGVOFilter();
+
+ expect(component.isDSGVOFilterAdvancedVisible).toBeFalsy();
+ expect(spy).toHaveBeenCalled();
+ });
});
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.ts b/src/app/pages/contacts/contacts-list/contacts-list.component.ts
index 8576d49..f2756f2 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.ts
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.ts
@@ -158,6 +158,29 @@
this.modifiedContacts = { ...this.modifiedContacts };
}
+ public showAdvancedDSGVOFilter() {
+ this.isDSGVOFilterAdvancedVisible = !this.isDSGVOFilterAdvancedVisible;
+ if (
+ !this.isDSGVOFilterAdvancedVisible &&
+ (this.modifiedContacts.moduleName != null ||
+ this.modifiedContacts.withoutAssignedModule ||
+ this.modifiedContacts.deletionLockExceeded ||
+ this.modifiedContacts.expiringDataInPast)
+ ) {
+ this._resetDSGVOFilter();
+ }
+ }
+
+ private _resetDSGVOFilter() {
+ this._deletionLockExceeded = false;
+ this._expiringDataInPast = false;
+ this.modifiedContacts.moduleName = null;
+ this.modifiedContacts.withoutAssignedModule = false;
+ this.modifiedContacts.deletionLockExceeded = false;
+ this.modifiedContacts.expiringDataInPast = false;
+ this.modifiedContacts = { ...this.modifiedContacts };
+ }
+
private _setModifiedContactsSort() {
if (this._sortingOrder && this._sortingContactType) {
const sort = this._sortingContactType + ',' + this._sortingOrder;
diff --git a/src/app/shared/models/modifiedContacts.model.ts b/src/app/shared/models/modifiedContacts.model.ts
index e7817a9..6ecea6d 100644
--- a/src/app/shared/models/modifiedContacts.model.ts
+++ b/src/app/shared/models/modifiedContacts.model.ts
@@ -5,9 +5,9 @@
public contactTypeId: string = '';
public sort: string = null;
public moduleName: string = null;
- public withoutAssignedModule: boolean = null;
- public expiringDataInPast: boolean = null;
- public deletionLockExceeded: boolean = null;
+ public withoutAssignedModule: boolean = false;
+ public expiringDataInPast: boolean = false;
+ public deletionLockExceeded: boolean = false;
public constructor(data: any = null) {
Object.keys(data || {})