Browse Source

fix permission management querySelector null issue

pull/10503/head
muhammedaltug 5 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> <ng-template #abpBody>
<div class="form-check mb-2"> <div class="form-check mb-2">
<input <input
#selectAllInAllTabsRef
type="checkbox" type="checkbox"
id="select-all-in-all-tabs" id="select-all-in-all-tabs"
name="select-all-in-all-tabs" name="select-all-in-all-tabs"
@ -46,6 +47,7 @@
<div class="ps-1 pt-1"> <div class="ps-1 pt-1">
<div class="form-check mb-2"> <div class="form-check mb-2">
<input <input
#selectAllInThisTabsRef
type="checkbox" type="checkbox"
id="select-all-in-this-tabs" id="select-all-in-this-tabs"
name="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, UpdatePermissionDto,
} from '@abp/ng.permission-management/proxy'; } from '@abp/ng.permission-management/proxy';
import { LocaleDirection } from '@abp/ng.theme.shared'; import { LocaleDirection } from '@abp/ng.theme.shared';
import { Component, EventEmitter, Input, Output, TrackByFunction } from '@angular/core'; import {
import { of } from 'rxjs'; Component,
import { finalize, switchMap, tap } from 'rxjs/operators'; 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'; import { PermissionManagement } from '../models/permission-management';
type PermissionWithStyle = PermissionGrantInfoDto & { type PermissionWithStyle = PermissionGrantInfoDto & {
@ -58,7 +67,11 @@ export class PermissionManagementComponent
this.openModal().subscribe(() => { this.openModal().subscribe(() => {
this._visible = true; this._visible = true;
this.visibleChange.emit(true); this.visibleChange.emit(true);
this.initModal(); concat(this.selectAllInAllTabsRef.changes, this.selectAllInThisTabsRef.changes)
.pipe(take(1))
.subscribe(() => {
this.initModal();
});
}); });
} else { } else {
this.selectedGroup = null; this.selectedGroup = null;
@ -69,6 +82,11 @@ export class PermissionManagementComponent
@Output() readonly visibleChange = new EventEmitter<boolean>(); @Output() readonly visibleChange = new EventEmitter<boolean>();
@ViewChildren('selectAllInThisTabsRef')
selectAllInThisTabsRef: QueryList<ElementRef<HTMLInputElement>>;
@ViewChildren('selectAllInAllTabsRef')
selectAllInAllTabsRef: QueryList<ElementRef<HTMLInputElement>>;
data: GetPermissionListResultDto = { groups: [], entityDisplayName: null }; data: GetPermissionListResultDto = { groups: [], entityDisplayName: null };
selectedGroup: PermissionGroupDto; selectedGroup: PermissionGroupDto;
@ -250,8 +268,11 @@ export class PermissionManagementComponent
} }
initModal() { initModal() {
this.setTabCheckboxState(); // TODO: Refactor
this.setGrantCheckboxState(); setTimeout(() => {
this.setTabCheckboxState();
this.setGrantCheckboxState();
});
} }
getAssignedCount(groupName: string) { getAssignedCount(groupName: string) {

Loading…
Cancel
Save