@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
81 lines (80 loc) • 5.27 kB
TypeScript
import { OnDestroy } from '@angular/core';
import { CaseResourceService } from '../../../resources/engine-endpoint/case-resource.service';
import { BehaviorSubject, Observable } from 'rxjs';
import { HttpParams } from '@angular/common/http';
import { Case } from '../../../resources/interface/case';
import { LoggerService } from '../../../logger/services/logger.service';
import { SnackBarService } from '../../../snack-bar/services/snack-bar.service';
import { SearchService } from '../../../search/search-service/search.service';
import { TranslateService } from '@ngx-translate/core';
import { Pagination } from '../../../resources/interface/pagination';
import { PageLoadRequestContext } from '../../abstract/page-load-request-context';
import { Filter } from '../../../filter/models/filter';
import { ListRange } from '@angular/cdk/collections';
import { LoadingWithFilterEmitter } from '../../../utility/loading-with-filter-emitter';
import { CasePageLoadRequestResult } from '../models/case-page-load-request-result';
import { UserService } from '../../../user/services/user.service';
import { NewCaseConfiguration } from '../models/new-case-configuration';
import { ProcessService } from '../../../process/process.service';
import { PetriNetReferenceWithPermissions } from '../../../process/petri-net-reference-with-permissions';
import { SearchIndexResolverService } from '../../../search/search-keyword-resolver-service/search-index-resolver.service';
import { AllowedNetsService } from '../../../allowed-nets/services/allowed-nets.service';
import { AbstractSortableViewComponent } from '../../abstract/sortable-view';
import { NewCaseCreationConfigurationData } from '../../../side-menu/content-components/new-case/model/new-case-injection-data';
import { PermissionService } from '../../../authorization/permission/permission.service';
import { MatDialog } from '@angular/material/dialog';
import * as i0 from "@angular/core";
export declare class CaseViewService extends AbstractSortableViewComponent implements OnDestroy {
protected _allowedNetsService: AllowedNetsService;
protected _dialog: MatDialog;
protected _caseResourceService: CaseResourceService;
protected _log: LoggerService;
protected _snackBarService: SnackBarService;
protected _searchService: SearchService;
protected _translate: TranslateService;
protected _user: UserService;
protected _processService: ProcessService;
protected _newCaseComponent: any;
protected _permissionService: PermissionService;
readonly DEFAULT_NEW_CASE_CONFIGURATION: NewCaseConfiguration;
protected _loading$: LoadingWithFilterEmitter;
protected _cases$: Observable<Array<Case>>;
protected _nextPage$: BehaviorSubject<PageLoadRequestContext>;
protected _endOfData: boolean;
protected _pagination: Pagination;
protected _newCaseConfiguration: NewCaseConfiguration;
protected _paginationView: boolean;
constructor(_allowedNetsService: AllowedNetsService, _dialog: MatDialog, _caseResourceService: CaseResourceService, _log: LoggerService, _snackBarService: SnackBarService, _searchService: SearchService, _translate: TranslateService, _user: UserService, _processService: ProcessService, resolver: SearchIndexResolverService, _newCaseComponent: any, newCaseConfig: NewCaseConfiguration, _permissionService: PermissionService);
ngOnDestroy(): void;
get loading(): boolean;
get loading$(): Observable<boolean>;
get cases$(): Observable<Array<Case>>;
get pagination(): Pagination;
protected get activeFilter(): Filter;
set paginationView(value: boolean);
loadPage(requestContext: PageLoadRequestContext): Observable<CasePageLoadRequestResult>;
nextPage(renderedRange: ListRange, totalLoaded: number, requestContext?: PageLoadRequestContext): void;
nextPagePagination(length: number, pageIndex: number, requestContext?: PageLoadRequestContext): void;
private isLoadingRelevantFilter;
createNewCase(newCaseCreationConfiguration?: NewCaseCreationConfigurationData): Observable<Case>;
createDefaultNewCase(newCaseCreationConfiguration?: NewCaseCreationConfigurationData): Observable<Case>;
getNewCaseAllowedNets(blockNets?: string[]): Observable<Array<PetriNetReferenceWithPermissions>>;
/**
* Returns number of allowed nets of case view
* @returns length of allowedNets array if it is defined, 0 if it is undefined
*/
getAllowedNetsCount(): number;
protected addPageParams(params: HttpParams, pagination: Pagination): HttpParams;
protected getDefaultSortParam(): string;
protected getMetaFieldSortId(): string;
reload(): void;
hasAuthority(authority: Array<string> | string): boolean;
/**
* Determines whether the current user has the [VIEW]{@link PermissionType#VIEW} permission on the current case
* @param aCase the tested case
* @returns `true` if the current user has the `VIEW` permission on the tested case, `false` otherwise.
*/
viewEnabled(aCase: Case): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<CaseViewService, [null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, null]>;
static ɵprov: i0.ɵɵInjectableDeclaration<CaseViewService>;
}