TSK-1044: Correct checking of 'select all' checkbox in access items
TSK-1044: Rebase
This commit is contained in:
parent
f45515d967
commit
22999c0bb0
|
|
@ -21,7 +21,7 @@ import { highlight } from 'app/shared/animations/validation.animation';
|
||||||
import { FormsValidatorService } from 'app/shared/services/forms-validator/forms-validator.service';
|
import { FormsValidatorService } from 'app/shared/services/forms-validator/forms-validator.service';
|
||||||
import { AccessIdDefinition } from 'app/shared/models/access-id';
|
import { AccessIdDefinition } from 'app/shared/models/access-id';
|
||||||
import { EngineConfigurationSelectors } from 'app/shared/store/engine-configuration-store/engine-configuration.selectors';
|
import { EngineConfigurationSelectors } from 'app/shared/store/engine-configuration-store/engine-configuration.selectors';
|
||||||
import { filter, map, take, takeUntil } from 'rxjs/operators';
|
import { filter, take, takeUntil, tap } from 'rxjs/operators';
|
||||||
import { NOTIFICATION_TYPES } from '../../../shared/models/notifications';
|
import { NOTIFICATION_TYPES } from '../../../shared/models/notifications';
|
||||||
import { NotificationService } from '../../../shared/services/notifications/notification.service';
|
import { NotificationService } from '../../../shared/services/notifications/notification.service';
|
||||||
import { AccessItemsCustomisation, CustomField, getCustomFields } from '../../../shared/models/customisation';
|
import { AccessItemsCustomisation, CustomField, getCustomFields } from '../../../shared/models/customisation';
|
||||||
|
|
@ -56,6 +56,7 @@ export class WorkbasketAccessItemsComponent implements OnInit, OnChanges, OnDest
|
||||||
workbasketClone: Workbasket;
|
workbasketClone: Workbasket;
|
||||||
|
|
||||||
customFields$: Observable<CustomField[]>;
|
customFields$: Observable<CustomField[]>;
|
||||||
|
keysOfVisibleFields: string[];
|
||||||
|
|
||||||
accessItemsRepresentation: WorkbasketAccessItemsRepresentation;
|
accessItemsRepresentation: WorkbasketAccessItemsRepresentation;
|
||||||
accessItemsClone: WorkbasketAccessItems[];
|
accessItemsClone: WorkbasketAccessItems[];
|
||||||
|
|
@ -108,7 +109,18 @@ export class WorkbasketAccessItemsComponent implements OnInit, OnChanges, OnDest
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.customFields$ = this.accessItemsCustomization$.pipe(getCustomFields(customFieldCount));
|
this.customFields$ = this.accessItemsCustomization$.pipe(
|
||||||
|
getCustomFields(customFieldCount),
|
||||||
|
tap((customFields) => {
|
||||||
|
const accessItem = this.createWorkbasketAccessItems();
|
||||||
|
this.keysOfVisibleFields = ['permRead', 'permOpen', 'permAppend', 'permTransfer', 'permDistribute'];
|
||||||
|
for (let i = 0; i < customFieldCount; i++) {
|
||||||
|
if (customFields[i].visible) {
|
||||||
|
this.keysOfVisibleFields.push(Object.keys(accessItem)[i + 10]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
this.accessItemsRepresentation$.pipe(takeUntil(this.destroy$)).subscribe((accessItemsRepresentation) => {
|
this.accessItemsRepresentation$.pipe(takeUntil(this.destroy$)).subscribe((accessItemsRepresentation) => {
|
||||||
if (typeof accessItemsRepresentation !== 'undefined') {
|
if (typeof accessItemsRepresentation !== 'undefined') {
|
||||||
|
|
@ -300,10 +312,8 @@ export class WorkbasketAccessItemsComponent implements OnInit, OnChanges, OnDest
|
||||||
checkAll(row: number, value: any) {
|
checkAll(row: number, value: any) {
|
||||||
const checkAll = value.target.checked;
|
const checkAll = value.target.checked;
|
||||||
const accessItem = this.accessItemsGroups.controls[row];
|
const accessItem = this.accessItemsGroups.controls[row];
|
||||||
Object.keys(accessItem.value).forEach((key) => {
|
this.keysOfVisibleFields.forEach((key) => {
|
||||||
if (key.startsWith('perm')) {
|
accessItem.get(key).setValue(checkAll);
|
||||||
accessItem.get(key).setValue(checkAll);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -314,8 +324,8 @@ export class WorkbasketAccessItemsComponent implements OnInit, OnChanges, OnDest
|
||||||
areAllCheckboxesSelected = true;
|
areAllCheckboxesSelected = true;
|
||||||
const accessItem = this.accessItemsGroups.controls[row].value;
|
const accessItem = this.accessItemsGroups.controls[row].value;
|
||||||
|
|
||||||
Object.keys(accessItem).forEach((key) => {
|
this.keysOfVisibleFields.forEach((key) => {
|
||||||
if (key.startsWith('perm') && accessItem[key] === false) {
|
if (accessItem[key] === false) {
|
||||||
areAllCheckboxesSelected = false;
|
areAllCheckboxesSelected = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue