Browse Source

fix permission management querySelector null issue

pull/10503/head
muhammedaltug 4 years ago
parent
commit
062f1dedee
  1. 2
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html
  2. 33
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

2
npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html

@ -9,6 +9,7 @@
<ng-template #abpBody>
<div class="form-check mb-2">
<input
#selectAllInAllTabsRef
type="checkbox"
id="select-all-in-all-tabs"
name="select-all-in-all-tabs"
@ -46,6 +47,7 @@
<div class="ps-1 pt-1">
<div class="form-check mb-2">
<input
#selectAllInThisTabsRef
type="checkbox"
id="select-all-in-this-tabs"
name="select-all-in-this-tabs"

33
npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

@ -8,9 +8,18 @@ import {
UpdatePermissionDto,
} from '@abp/ng.permission-management/proxy';
import { LocaleDirection } from '@abp/ng.theme.shared';
import { Component, EventEmitter, Input, Output, TrackByFunction } from '@angular/core';
import { of } from 'rxjs';
import { finalize, switchMap, tap } from 'rxjs/operators';
import {
Component,
ElementRef,
EventEmitter,
Input,
Output,
QueryList,
TrackByFunction,
ViewChildren,
} from '@angular/core';
import { concat, of } from 'rxjs';
import { finalize, switchMap, take, tap } from 'rxjs/operators';
import { PermissionManagement } from '../models/permission-management';
type PermissionWithStyle = PermissionGrantInfoDto & {
@ -58,7 +67,11 @@ export class PermissionManagementComponent
this.openModal().subscribe(() => {
this._visible = true;
this.visibleChange.emit(true);
this.initModal();
concat(this.selectAllInAllTabsRef.changes, this.selectAllInThisTabsRef.changes)
.pipe(take(1))
.subscribe(() => {
this.initModal();
});
});
} else {
this.selectedGroup = null;
@ -69,6 +82,11 @@ export class PermissionManagementComponent
@Output() readonly visibleChange = new EventEmitter<boolean>();
@ViewChildren('selectAllInThisTabsRef')
selectAllInThisTabsRef: QueryList<ElementRef<HTMLInputElement>>;
@ViewChildren('selectAllInAllTabsRef')
selectAllInAllTabsRef: QueryList<ElementRef<HTMLInputElement>>;
data: GetPermissionListResultDto = { groups: [], entityDisplayName: null };
selectedGroup: PermissionGroupDto;
@ -250,8 +268,11 @@ export class PermissionManagementComponent
}
initModal() {
this.setTabCheckboxState();
this.setGrantCheckboxState();
// TODO: Refactor
setTimeout(() => {
this.setTabCheckboxState();
this.setGrantCheckboxState();
});
}
getAssignedCount(groupName: string) {

Loading…
Cancel
Save