@ctodev/cclibrary-typings
Version:
Library typings for use with CLARC INFINITY
111 lines (110 loc) • 4.17 kB
TypeScript
import { TccSearchComponent } from '../../../shared/components/tcc-search/tcc-search.component';
import { TccPermission } from '../../../odata/models/shared.model';
import { TccET_IAM } from '../../../odata/models/iam.model';
import { TccTable, TccTableComponent } from '../tcc-table/tcc-table.component';
import { TccInputMask } from '../../../shared/models/inputMask.model';
import { TccEntityPickerEntitys } from '../../directives/tcc-entity-picker-directive/tcc-entity-picker-directive';
import { TccODataServiceFactory } from '../../../odata/factories/tcc-odata-service/tcc-odata-service.factory';
import { TccTranslationPipe } from '../../../shared/pipes/tcc-translation/tcc-translation.pipe';
import { TccOdataFunctionsService } from '../../../odata/services/tcc-odata-functions/tcc-odata-functions.service';
import { TccSnackBarService } from '../../services/tcc-snackbar/tcc-snackbar.service';
import { TccAccessRightsService } from '../../../shared/services/tcc-access-rights/tcc-access-rights.service';
export declare namespace tccPermissions {
enum right {
Create = "Create",
Read = "Read",
Update = "Update",
Delete = "Delete",
Execute = "Execute"
}
interface permissionsData {
[entityId: string]: {
Name: string;
Type: TccET_IAM.GroupMemberClass | TccET_IAM.UserRoles;
Owner: boolean;
};
}
enum entityType {
User = "User",
Groups = "Groups",
Roles = "Roles"
}
}
export declare class TccPermissionsComponent {
private factory;
private translationPipe;
private odataFunctions;
private snackBar;
private accessRightsService;
searchField: TccSearchComponent;
table: TccTableComponent<TccPermission>;
entity: any;
basePath: string;
entityPath: string;
permissions: TccPermission[];
permissionsBackup: TccPermission[];
permissionsData: tccPermissions.permissionsData;
groupMemberClass: typeof TccET_IAM.GroupMemberClass;
userRoles: typeof TccET_IAM.UserRoles;
permissionsTableInput: TccTable.TableInputs<TccPermission>;
inputElements: TccInputMask.SectionElements;
inputOptions: TccInputMask.options;
filterOptions: {
Key: string;
icon: string;
selected: boolean;
value: tccPermissions.entityType;
}[];
typeOptions: {
Key: string;
icon: string;
value: tccPermissions.entityType;
}[];
roleOptions: {
Key: string;
value: TccET_IAM.UserRoles;
inList: boolean;
}[];
selectedType: {
Key: string;
icon: string;
value: tccPermissions.entityType;
};
selectedRole: {
Key: string;
value: TccET_IAM.UserRoles;
};
selectedUser: TccET_IAM.UserInfo;
selectedGroup: TccET_IAM.UserGroupInfo;
lockedRow: number | null;
entityTypeUser: TccEntityPickerEntitys;
entityTypeGroup: TccEntityPickerEntitys;
userOverlay: boolean;
groupOverlay: boolean;
searchText: string;
selectedFilter: tccPermissions.entityType[];
_id: string;
_entityPath: string;
_path: string;
_right: typeof tccPermissions.right;
private _name;
constructor(factory: TccODataServiceFactory, translationPipe: TccTranslationPipe, odataFunctions: TccOdataFunctionsService, snackBar: TccSnackBarService, accessRightsService: TccAccessRightsService);
ngOnInit(): void;
private initPermissions;
private getPermissionsDataCallback;
private getRolePermissions;
private checkRoles;
private savePermissions;
onChange(item: TccPermission, type: tccPermissions.right, value: boolean): void;
deletePermissions(permission: TccPermission): void;
createPermission(): void;
createRowEvent(newRow: TccPermission): void;
createRowAcceptEvent(newPerm: TccPermission): void;
createRowDismissEvent(newPerm: TccPermission): void;
editRowEvent(edited: boolean): void;
getDeleteText(data: TccPermission): string;
onFilterOptionChange(): void;
onSearch($event: any): void;
applyFilter(): void;
checkOwner(row: TccPermission): boolean;
}