@netgrif/components-core 6.1.1 → 6.2.0-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/assets/i18n/de.json +19 -1
- package/esm2020/assets/i18n/en.json +19 -1
- package/esm2020/assets/i18n/sk.json +20 -2
- package/esm2020/lib/authorization/permission/access.service.mjs +74 -0
- package/esm2020/lib/authorization/public-api.mjs +2 -1
- package/esm2020/lib/data-fields/file-field/abstract-file-field.component.mjs +8 -3
- package/esm2020/lib/data-fields/file-list-field/abstract-file-list-field.component.mjs +7 -2
- package/esm2020/lib/dialog/components/prompt-dialog/prompt-dialog.component.mjs +3 -3
- package/esm2020/lib/filter/models/case-search-request-body.mjs +1 -1
- package/esm2020/lib/header/abstract-header-service.mjs +15 -8
- package/esm2020/lib/header/abstract-header.component.mjs +2 -2
- package/esm2020/lib/header/case-header/case-header.service.mjs +2 -2
- package/esm2020/lib/header/header-modes/search-mode/abstract-search-mode.component.mjs +3 -2
- package/esm2020/lib/header/task-header/task-header.service.mjs +7 -4
- package/esm2020/lib/header/workflow-header/workflow-header.service.mjs +11 -8
- package/esm2020/lib/navigation/model/uri-resource.mjs +6 -0
- package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +386 -0
- package/esm2020/lib/navigation/navigation-tree/abstract-navigation-tree.component.mjs +15 -62
- package/esm2020/lib/navigation/public-api.mjs +5 -1
- package/esm2020/lib/navigation/service/uri-resource.service.mjs +35 -0
- package/esm2020/lib/navigation/service/uri.service.mjs +194 -0
- package/esm2020/lib/panel/abstract/panel-with-immediate-data.mjs +51 -20
- package/esm2020/lib/panel/abstract-panel.component.mjs +23 -5
- package/esm2020/lib/panel/case-panel/abstract-case-panel.component.mjs +2 -2
- package/esm2020/lib/panel/configuration/config-params.mjs +5 -0
- package/esm2020/lib/panel/public-api.mjs +5 -1
- package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +36 -6
- package/esm2020/lib/panel/task-panel/models/task-panel-context.mjs +2 -0
- package/esm2020/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.mjs +2 -2
- package/esm2020/lib/panel/task-panel-single/abstract-single-task.component.mjs +81 -0
- package/esm2020/lib/panel/workflow-panel/abstract-workflow-panel.component.mjs +9 -4
- package/esm2020/lib/process/net.mjs +8 -1
- package/esm2020/lib/process/public-api.mjs +3 -1
- package/esm2020/lib/public/factories/public-factory-resolver.mjs +3 -3
- package/esm2020/lib/resources/engine-endpoint/petri-net-resource.service.mjs +2 -2
- package/esm2020/lib/resources/engine-endpoint/public/public-task-resource.service.mjs +1 -40
- package/esm2020/lib/resources/engine-endpoint/task-resource.service.mjs +4 -1
- package/esm2020/lib/resources/interface/case.mjs +1 -1
- package/esm2020/lib/resources/interface/petri-net-reference.mjs +1 -1
- package/esm2020/lib/resources/interface/task-pair.mjs +2 -0
- package/esm2020/lib/resources/public-api.mjs +2 -1
- package/esm2020/lib/routing/redirect-service/redirect.service.mjs +2 -1
- package/esm2020/lib/routing/routing-builder/routing-builder.service.mjs +5 -1
- package/esm2020/lib/search/models/category/case/case-dataset.mjs +3 -1
- package/esm2020/lib/search/models/category/case/case-simple-dataset.mjs +5 -1
- package/esm2020/lib/side-menu/content-components/save-filter/abstract-save-filter.component.mjs +8 -7
- package/esm2020/lib/tabs/classes/opened-tab.mjs +19 -1
- package/esm2020/lib/tabs/classes/tab-label-stream.mjs +15 -0
- package/esm2020/lib/tabs/classes/tab-view.mjs +11 -3
- package/esm2020/lib/tabs/interfaces.mjs +1 -1
- package/esm2020/lib/tabs/public-api.mjs +3 -1
- package/esm2020/lib/task/services/assign-task.service.mjs +7 -6
- package/esm2020/lib/task/services/cancel-task.service.mjs +7 -6
- package/esm2020/lib/task/services/delegate-task.service.mjs +9 -8
- package/esm2020/lib/task/services/finish-task.service.mjs +7 -6
- package/esm2020/lib/task/services/task-data.service.mjs +51 -13
- package/esm2020/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.mjs +3 -2
- package/esm2020/lib/task-content/model/task-event-notification.mjs +5 -3
- package/esm2020/lib/task-content/services/task-content.service.mjs +5 -2
- package/esm2020/lib/utility/tests/utility/create-mock-net.mjs +2 -1
- package/esm2020/lib/view/abstract/view-with-headers.mjs +13 -4
- package/esm2020/lib/view/case-view/abstract-case-view.mjs +7 -5
- package/esm2020/lib/view/case-view/tabbed-case-view.mjs +7 -5
- package/esm2020/lib/view/public-api.mjs +4 -1
- package/esm2020/lib/view/task-view/abstract-single-task-view.component.mjs +55 -0
- package/esm2020/lib/view/task-view/abstract-task-view.mjs +6 -5
- package/esm2020/lib/view/task-view/tabbed-task-view.mjs +6 -5
- package/esm2020/lib/view/workflow-view/abstract-workflow-view.component.mjs +6 -5
- package/fesm2015/netgrif-components-core.mjs +5900 -4921
- package/fesm2015/netgrif-components-core.mjs.map +1 -1
- package/fesm2020/netgrif-components-core.mjs +5841 -4870
- package/fesm2020/netgrif-components-core.mjs.map +1 -1
- package/lib/authorization/permission/access.service.d.ts +40 -0
- package/lib/authorization/public-api.d.ts +1 -0
- package/lib/filter/models/case-search-request-body.d.ts +1 -0
- package/lib/header/abstract-header-service.d.ts +6 -3
- package/lib/header/abstract-header.component.d.ts +1 -1
- package/lib/header/task-header/task-header.service.d.ts +3 -2
- package/lib/header/workflow-header/workflow-header.service.d.ts +3 -2
- package/lib/navigation/model/uri-resource.d.ts +15 -0
- package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +138 -0
- package/lib/navigation/navigation-tree/abstract-navigation-tree.component.d.ts +3 -30
- package/lib/navigation/public-api.d.ts +4 -0
- package/lib/navigation/service/uri-resource.service.d.ts +18 -0
- package/lib/navigation/service/uri.service.d.ts +75 -0
- package/lib/panel/abstract/panel-with-immediate-data.d.ts +4 -1
- package/lib/panel/abstract-panel.component.d.ts +8 -2
- package/lib/panel/configuration/config-params.d.ts +3 -0
- package/lib/panel/public-api.d.ts +3 -0
- package/lib/panel/task-panel/abstract-task-panel.component.d.ts +11 -4
- package/lib/panel/task-panel/models/task-panel-context.d.ts +19 -0
- package/lib/panel/task-panel-single/abstract-single-task.component.d.ts +42 -0
- package/lib/panel/workflow-panel/abstract-workflow-panel.component.d.ts +4 -1
- package/lib/process/net.d.ts +6 -0
- package/lib/process/public-api.d.ts +2 -0
- package/lib/public/factories/public-factory-resolver.d.ts +2 -1
- package/lib/resources/engine-endpoint/public/public-task-resource.service.d.ts +0 -12
- package/lib/resources/interface/case.d.ts +8 -0
- package/lib/resources/interface/petri-net-reference.d.ts +4 -0
- package/lib/resources/interface/task-pair.d.ts +4 -0
- package/lib/resources/public-api.d.ts +1 -0
- package/lib/routing/routing-builder/routing-builder.service.d.ts +1 -0
- package/lib/side-menu/content-components/save-filter/abstract-save-filter.component.d.ts +2 -1
- package/lib/tabs/classes/opened-tab.d.ts +8 -1
- package/lib/tabs/classes/tab-label-stream.d.ts +7 -0
- package/lib/tabs/interfaces.d.ts +12 -1
- package/lib/tabs/public-api.d.ts +2 -0
- package/lib/task/services/assign-task.service.d.ts +4 -2
- package/lib/task/services/cancel-task.service.d.ts +4 -2
- package/lib/task/services/delegate-task.service.d.ts +5 -3
- package/lib/task/services/finish-task.service.d.ts +4 -2
- package/lib/task/services/task-data.service.d.ts +12 -3
- package/lib/task-content/model/task-event-notification.d.ts +7 -1
- package/lib/task-content/services/task-content.service.d.ts +1 -0
- package/lib/view/abstract/view-with-headers.d.ts +5 -1
- package/lib/view/case-view/abstract-case-view.d.ts +4 -2
- package/lib/view/case-view/tabbed-case-view.d.ts +4 -2
- package/lib/view/public-api.d.ts +3 -0
- package/lib/view/task-view/abstract-single-task-view.component.d.ts +25 -0
- package/lib/view/task-view/abstract-task-view.d.ts +2 -1
- package/lib/view/task-view/tabbed-task-view.d.ts +2 -1
- package/lib/view/workflow-view/abstract-workflow-view.component.d.ts +2 -1
- package/package.json +1 -1
- package/src/assets/i18n/de.json +19 -1
- package/src/assets/i18n/en.json +19 -1
- package/src/assets/i18n/sk.json +20 -2
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { RoleGuardService } from "../role/role-guard.service";
|
|
2
|
+
import { AuthorityGuardService } from "../authority/authority-guard.service";
|
|
3
|
+
import { GroupGuardService } from "../group/group-guard.service";
|
|
4
|
+
import { ConfigurationService } from "../../configuration/configuration.service";
|
|
5
|
+
import { View } from "../../../commons/schema";
|
|
6
|
+
import { UserService } from '../../user/services/user.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class AccessService {
|
|
9
|
+
private _config;
|
|
10
|
+
private _userService;
|
|
11
|
+
private _roleGuard;
|
|
12
|
+
private _authorityGuard;
|
|
13
|
+
private _groupGuard;
|
|
14
|
+
constructor(_config: ConfigurationService, _userService: UserService, _roleGuard: RoleGuardService, _authorityGuard: AuthorityGuardService, _groupGuard: GroupGuardService);
|
|
15
|
+
/**
|
|
16
|
+
* @param view the view whose access permissions we want to check
|
|
17
|
+
* @param url URL to which the view maps. Is used only for error message generation
|
|
18
|
+
* @returns whether the user can access the provided view
|
|
19
|
+
*/
|
|
20
|
+
canAccessView(view: View, url?: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* @param view the view whose access permissions we want to check
|
|
23
|
+
* @param url URL to which the view maps. Is used only for error message generation
|
|
24
|
+
* @returns whether the user passes the role guard condition for accessing the specified view
|
|
25
|
+
*/
|
|
26
|
+
passesRoleGuard(view: View, url: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* @param view the view whose access permissions we want to check
|
|
29
|
+
* @returns whether the user passes the authority guard condition for accessing the specified view
|
|
30
|
+
*/
|
|
31
|
+
passesAuthorityGuard(view: View): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* @param view the view whose access permissions we want to check
|
|
34
|
+
* @param url URL to which the view maps. Is used only for error message generation
|
|
35
|
+
* @returns whether the user passes the role guard condition for accessing the specified view
|
|
36
|
+
*/
|
|
37
|
+
passesGroupGuard(view: View, url: string): boolean;
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AccessService, never>;
|
|
39
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AccessService>;
|
|
40
|
+
}
|
|
@@ -59,6 +59,7 @@ export interface CaseSearchRequestBody {
|
|
|
59
59
|
* If more than one group ID is specified, the returned cases are instances of one of the groups.
|
|
60
60
|
*/
|
|
61
61
|
group?: string | Array<string>;
|
|
62
|
+
uriNodeId?: string;
|
|
62
63
|
}
|
|
63
64
|
/**
|
|
64
65
|
* Queries cases that are instances of a specific PetriNet
|
|
@@ -13,12 +13,14 @@ import { LoadingEmitter } from '../utility/loading-emitter';
|
|
|
13
13
|
import { SortDirection } from '@angular/material/sort';
|
|
14
14
|
import { ViewIdService } from '../user/services/view-id.service';
|
|
15
15
|
import { Net } from '../process/net';
|
|
16
|
+
import { OverflowService } from './services/overflow.service';
|
|
16
17
|
import * as i0 from "@angular/core";
|
|
17
18
|
export declare abstract class AbstractHeaderService implements OnDestroy {
|
|
18
19
|
protected _headerType: HeaderType;
|
|
19
20
|
protected _preferences: UserPreferenceService;
|
|
20
|
-
private _viewIdService;
|
|
21
21
|
protected _logger: LoggerService;
|
|
22
|
+
private _viewIdService;
|
|
23
|
+
protected _overflowService: OverflowService;
|
|
22
24
|
static readonly DEFAULT_HEADER_COUNT = 5;
|
|
23
25
|
static readonly DEFAULT_HEADER_RESPONSIVITY = true;
|
|
24
26
|
protected _headerColumnCount$: BehaviorSubject<number>;
|
|
@@ -31,7 +33,7 @@ export declare abstract class AbstractHeaderService implements OnDestroy {
|
|
|
31
33
|
private _initializedCount;
|
|
32
34
|
loading: LoadingEmitter;
|
|
33
35
|
fieldsGroup: Array<FieldsGroup>;
|
|
34
|
-
protected constructor(_headerType: HeaderType, _preferences: UserPreferenceService, _viewIdService: ViewIdService,
|
|
36
|
+
protected constructor(_headerType: HeaderType, _preferences: UserPreferenceService, _logger: LoggerService, _viewIdService: ViewIdService, _overflowService: OverflowService);
|
|
35
37
|
/**
|
|
36
38
|
* Provides Observable for all changes in header
|
|
37
39
|
*/
|
|
@@ -39,6 +41,7 @@ export declare abstract class AbstractHeaderService implements OnDestroy {
|
|
|
39
41
|
get selectedHeaders$(): Observable<Array<HeaderColumn>>;
|
|
40
42
|
get headerState(): HeaderStateInterface;
|
|
41
43
|
get headerType(): HeaderType;
|
|
44
|
+
get overflowMode(): boolean;
|
|
42
45
|
get headerColumnCount(): number;
|
|
43
46
|
set headerColumnCount(maxColumns: number);
|
|
44
47
|
get headerColumnCount$(): Observable<number>;
|
|
@@ -131,6 +134,6 @@ export declare abstract class AbstractHeaderService implements OnDestroy {
|
|
|
131
134
|
protected abstract saveState(): any;
|
|
132
135
|
protected abstract saveNewState(): any;
|
|
133
136
|
protected abstract restoreLastState(): any;
|
|
134
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractHeaderService, [null, null, { optional: true; },
|
|
137
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractHeaderService, [null, null, null, { optional: true; }, { optional: true; }]>;
|
|
135
138
|
static ɵprov: i0.ɵɵInjectableDeclaration<AbstractHeaderService>;
|
|
136
139
|
}
|
|
@@ -13,7 +13,7 @@ export declare abstract class AbstractHeaderComponent implements OnInit, OnDestr
|
|
|
13
13
|
protected _translate: TranslateService;
|
|
14
14
|
protected _overflowService: OverflowService;
|
|
15
15
|
protected readonly DEFAULT_COLUMN_COUNT = 6;
|
|
16
|
-
protected readonly DEFAULT_COLUMN_WIDTH =
|
|
16
|
+
protected readonly DEFAULT_COLUMN_WIDTH = 220;
|
|
17
17
|
type: HeaderType;
|
|
18
18
|
hideEditMode: boolean;
|
|
19
19
|
headerService: AbstractHeaderService;
|
|
@@ -6,16 +6,17 @@ import { LoggerService } from '../../logger/services/logger.service';
|
|
|
6
6
|
import { Subscription } from 'rxjs';
|
|
7
7
|
import { ViewIdService } from '../../user/services/view-id.service';
|
|
8
8
|
import { AllowedNetsService } from '../../allowed-nets/services/allowed-nets.service';
|
|
9
|
+
import { OverflowService } from '../services/overflow.service';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
export declare class TaskHeaderService extends AbstractHeaderService implements OnDestroy {
|
|
11
12
|
protected _allowedNetsService: AllowedNetsService;
|
|
12
13
|
protected subAllowedNets: Subscription;
|
|
13
|
-
constructor(_allowedNetsService: AllowedNetsService, preferences: UserPreferenceService, logger: LoggerService, viewIdService: ViewIdService, naeDefaultHeaders: Array<string>);
|
|
14
|
+
constructor(_allowedNetsService: AllowedNetsService, preferences: UserPreferenceService, logger: LoggerService, viewIdService: ViewIdService, overflowService: OverflowService, naeDefaultHeaders: Array<string>);
|
|
14
15
|
protected createMetaHeaders(): Array<HeaderColumn>;
|
|
15
16
|
protected saveState(): void;
|
|
16
17
|
protected saveNewState(): void;
|
|
17
18
|
protected restoreLastState(): void;
|
|
18
19
|
ngOnDestroy(): void;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TaskHeaderService, [null, null, null, { optional: true; }, { optional: true; }]>;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TaskHeaderService, [null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
20
21
|
static ɵprov: i0.ɵɵInjectableDeclaration<TaskHeaderService>;
|
|
21
22
|
}
|
|
@@ -4,14 +4,15 @@ import { HeaderColumn } from '../models/header-column';
|
|
|
4
4
|
import { UserPreferenceService } from '../../user/services/user-preference.service';
|
|
5
5
|
import { LoggerService } from '../../logger/services/logger.service';
|
|
6
6
|
import { ViewIdService } from '../../user/services/view-id.service';
|
|
7
|
+
import { OverflowService } from '../services/overflow.service';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export declare class WorkflowHeaderService extends AbstractHeaderService implements OnDestroy {
|
|
9
|
-
constructor(preferences: UserPreferenceService, viewIdService: ViewIdService,
|
|
10
|
+
constructor(preferences: UserPreferenceService, logger: LoggerService, viewIdService: ViewIdService, overflowService: OverflowService);
|
|
10
11
|
protected createMetaHeaders(): Array<HeaderColumn>;
|
|
11
12
|
ngOnDestroy(): void;
|
|
12
13
|
protected saveState(): void;
|
|
13
14
|
protected saveNewState(): void;
|
|
14
15
|
protected restoreLastState(): void;
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowHeaderService, [null, { optional: true; },
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowHeaderService, [null, null, { optional: true; }, { optional: true; }]>;
|
|
16
17
|
static ɵprov: i0.ɵɵInjectableDeclaration<WorkflowHeaderService>;
|
|
17
18
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface UriNodeResource {
|
|
2
|
+
id: string;
|
|
3
|
+
uriPath: string;
|
|
4
|
+
name: string;
|
|
5
|
+
parentId: string;
|
|
6
|
+
parent: UriNodeResource;
|
|
7
|
+
childrenId: Set<string>;
|
|
8
|
+
children: Set<UriNodeResource>;
|
|
9
|
+
level: number;
|
|
10
|
+
contentTypes: Set<UriContentType>;
|
|
11
|
+
}
|
|
12
|
+
export declare enum UriContentType {
|
|
13
|
+
PROCESS = 0,
|
|
14
|
+
CASE = 1
|
|
15
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
+
import { Observable, Subscription } from 'rxjs';
|
|
3
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
|
+
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
5
|
+
import { LanguageService } from '../../translate/language.service';
|
|
6
|
+
import { UserService } from '../../user/services/user.service';
|
|
7
|
+
import { LoggerService } from '../../logger/services/logger.service';
|
|
8
|
+
import { ConfigurationService } from '../../configuration/configuration.service';
|
|
9
|
+
import { UriService } from '../service/uri.service';
|
|
10
|
+
import { UriNodeResource } from '../model/uri-resource';
|
|
11
|
+
import { Case } from '../../resources/interface/case';
|
|
12
|
+
import { DynamicNavigationRouteProviderService } from '../../routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service';
|
|
13
|
+
import { LoadingEmitter } from "../../utility/loading-emitter";
|
|
14
|
+
import { MatDrawerMode } from "@angular/material/sidenav";
|
|
15
|
+
import { ResizeEvent } from "angular-resizable-element";
|
|
16
|
+
import { User } from "../../user/models/user";
|
|
17
|
+
import { RoleAccess, View } from "../../../commons/schema";
|
|
18
|
+
import { AccessService } from "../../authorization/permission/access.service";
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
export interface ConfigDoubleMenu {
|
|
21
|
+
mode: MatDrawerMode;
|
|
22
|
+
opened: boolean;
|
|
23
|
+
disableClose: boolean;
|
|
24
|
+
width: number;
|
|
25
|
+
}
|
|
26
|
+
export interface ViewNavigationItem extends View {
|
|
27
|
+
id: string;
|
|
28
|
+
resource?: Case;
|
|
29
|
+
}
|
|
30
|
+
export declare const FILTER_IDENTIFIERS: string[];
|
|
31
|
+
export declare const FILTER_VIEW_TASK_TRANSITION_ID = "view";
|
|
32
|
+
export declare abstract class AbstractNavigationDoubleDrawerComponent implements OnInit, OnDestroy {
|
|
33
|
+
protected _router: Router;
|
|
34
|
+
protected _activatedRoute: ActivatedRoute;
|
|
35
|
+
protected _breakpoint: BreakpointObserver;
|
|
36
|
+
protected _languageService: LanguageService;
|
|
37
|
+
protected _userService: UserService;
|
|
38
|
+
protected _accessService: AccessService;
|
|
39
|
+
protected _log: LoggerService;
|
|
40
|
+
protected _config: ConfigurationService;
|
|
41
|
+
protected _uriService: UriService;
|
|
42
|
+
protected _dynamicRoutingService: DynamicNavigationRouteProviderService;
|
|
43
|
+
portalLeftMenu: TemplateRef<any>;
|
|
44
|
+
portalRightMenu: TemplateRef<any>;
|
|
45
|
+
imageRouterLink: string;
|
|
46
|
+
imageAlt: string;
|
|
47
|
+
image: string;
|
|
48
|
+
profileRouterLink: string;
|
|
49
|
+
includeUser: boolean;
|
|
50
|
+
includeLanguage: boolean;
|
|
51
|
+
includeMoreMenu: boolean;
|
|
52
|
+
allClosable: boolean;
|
|
53
|
+
folderIcon: string;
|
|
54
|
+
openedFolderIcon: string;
|
|
55
|
+
filterIcon: string;
|
|
56
|
+
foldersCategoryName: string;
|
|
57
|
+
viewsCategoryName: string;
|
|
58
|
+
/**
|
|
59
|
+
* Array of folder nodes on left side
|
|
60
|
+
* */
|
|
61
|
+
leftNodes: Array<UriNodeResource>;
|
|
62
|
+
/**
|
|
63
|
+
* Array of folder nodes on right side
|
|
64
|
+
* */
|
|
65
|
+
rightNodes: Array<UriNodeResource>;
|
|
66
|
+
/**
|
|
67
|
+
* Processes that can be displayed under folders on right side menu
|
|
68
|
+
* */
|
|
69
|
+
views: Array<ViewNavigationItem>;
|
|
70
|
+
moreMenuItems: Array<ViewNavigationItem>;
|
|
71
|
+
protected _leftNodesSubscription: Subscription;
|
|
72
|
+
protected _rightNodesSubscription: Subscription;
|
|
73
|
+
protected _filtersSubscription: Subscription;
|
|
74
|
+
protected _breakpointSubscription: Subscription;
|
|
75
|
+
protected _rootSubscription: Subscription;
|
|
76
|
+
protected _currentNodeSubscription: Subscription;
|
|
77
|
+
/**
|
|
78
|
+
* Currently display uri
|
|
79
|
+
* Siblings of the node are on the left, children are on the right
|
|
80
|
+
*/
|
|
81
|
+
currentNode: UriNodeResource;
|
|
82
|
+
leftLoading$: LoadingEmitter;
|
|
83
|
+
rightLoading$: LoadingEmitter;
|
|
84
|
+
protected _configLeftMenu: ConfigDoubleMenu;
|
|
85
|
+
protected _configRightMenu: ConfigDoubleMenu;
|
|
86
|
+
protected _childCustomViews: {
|
|
87
|
+
[uri: string]: {
|
|
88
|
+
[key: string]: ViewNavigationItem;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
protected constructor(_router: Router, _activatedRoute: ActivatedRoute, _breakpoint: BreakpointObserver, _languageService: LanguageService, _userService: UserService, _accessService: AccessService, _log: LoggerService, _config: ConfigurationService, _uriService: UriService, _dynamicRoutingService: DynamicNavigationRouteProviderService);
|
|
92
|
+
ngOnInit(): void;
|
|
93
|
+
protected resolveUriForChildViews(configPath: string, childView: View): void;
|
|
94
|
+
protected resolveHiddenMenuItemFromChildViews(configPath: string, childView: View): void;
|
|
95
|
+
ngOnDestroy(): void;
|
|
96
|
+
get configLeftMenu(): ConfigDoubleMenu;
|
|
97
|
+
get configRightMenu(): ConfigDoubleMenu;
|
|
98
|
+
toggleMenu(): void;
|
|
99
|
+
toggleLeftMenu(): void;
|
|
100
|
+
toggleRightMenu(): void;
|
|
101
|
+
protected resolveLayout(isLargeScreen: boolean): void;
|
|
102
|
+
getLang(): string;
|
|
103
|
+
logout(): void;
|
|
104
|
+
get user(): User;
|
|
105
|
+
get canGoBackLoading$(): Observable<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* On home click, the current level is set to 0, and current parent is
|
|
108
|
+
* set to root node.
|
|
109
|
+
* */
|
|
110
|
+
onHomeClick(): void;
|
|
111
|
+
/**
|
|
112
|
+
* On back click, the parent is set to parent of left nodes, that will solve
|
|
113
|
+
* the right side menu (elements that were in left side, after backward
|
|
114
|
+
* navigation will be on the right side).
|
|
115
|
+
* Current level is set to a lower number in order to set the left side menu.
|
|
116
|
+
* */
|
|
117
|
+
onBackClick(): void;
|
|
118
|
+
onNodeClick(node: UriNodeResource): void;
|
|
119
|
+
protected loadLeftSide(): void;
|
|
120
|
+
protected loadRightSide(): void;
|
|
121
|
+
protected resolveFilterCaseToViewNavigationItem(filter: Case): ViewNavigationItem | undefined;
|
|
122
|
+
protected resolveAccessRoles(filter: Case): Array<RoleAccess> | undefined;
|
|
123
|
+
protected getFilterRoutingPath(filterCase: Case): string;
|
|
124
|
+
protected compareStrings(a: string, b: string): number;
|
|
125
|
+
/**
|
|
126
|
+
* Function to check whether the back button should be displayed
|
|
127
|
+
* @returns boolean if the back button should be displayed
|
|
128
|
+
* */
|
|
129
|
+
isOnZeroLevel(): boolean;
|
|
130
|
+
isLeftNodesEmpty(): boolean;
|
|
131
|
+
isRightNodesEmpty(): boolean;
|
|
132
|
+
isViewsEmpty(): boolean;
|
|
133
|
+
uriNodeTrackBy(index: number, node: UriNodeResource): string;
|
|
134
|
+
viewsTrackBy(index: number, view: ViewNavigationItem): string;
|
|
135
|
+
onResizeEvent(event: ResizeEvent): void;
|
|
136
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractNavigationDoubleDrawerComponent, never>;
|
|
137
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractNavigationDoubleDrawerComponent, "ncc-abstract-navigation-double-drawer", never, { "portalLeftMenu": "portalLeftMenu"; "portalRightMenu": "portalRightMenu"; "imageRouterLink": "imageRouterLink"; "imageAlt": "imageAlt"; "image": "image"; "profileRouterLink": "profileRouterLink"; "includeUser": "includeUser"; "includeLanguage": "includeLanguage"; "includeMoreMenu": "includeMoreMenu"; "allClosable": "allClosable"; "folderIcon": "folderIcon"; "openedFolderIcon": "openedFolderIcon"; "filterIcon": "filterIcon"; "foldersCategoryName": "foldersCategoryName"; "viewsCategoryName": "viewsCategoryName"; }, {}, never, never>;
|
|
138
|
+
}
|
|
@@ -7,15 +7,13 @@ import { MatTreeNestedDataSource } from '@angular/material/tree';
|
|
|
7
7
|
import { Observable, ReplaySubject } from 'rxjs';
|
|
8
8
|
import { LoggerService } from '../../logger/services/logger.service';
|
|
9
9
|
import { UserService } from '../../user/services/user.service';
|
|
10
|
-
import { RoleGuardService } from '../../authorization/role/role-guard.service';
|
|
11
|
-
import { AuthorityGuardService } from '../../authorization/authority/authority-guard.service';
|
|
12
|
-
import { GroupGuardService } from '../../authorization/group/group-guard.service';
|
|
13
10
|
import { AbstractNavigationResizableDrawerComponent } from '../navigation-drawer/abstract-navigation-resizable-drawer.component';
|
|
14
11
|
import { ActiveGroupService } from '../../groups/services/active-group.service';
|
|
15
12
|
import { TaskResourceService } from '../../resources/engine-endpoint/task-resource.service';
|
|
16
13
|
import { DataGroup } from '../../resources/interface/data-groups';
|
|
17
14
|
import { LanguageService } from '../../translate/language.service';
|
|
18
15
|
import { DynamicNavigationRouteProviderService } from '../../routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service';
|
|
16
|
+
import { AccessService } from "../../authorization/permission/access.service";
|
|
19
17
|
import * as i0 from "@angular/core";
|
|
20
18
|
export interface NavigationNode {
|
|
21
19
|
name: string;
|
|
@@ -30,9 +28,7 @@ export declare abstract class AbstractNavigationTreeComponent extends AbstractNa
|
|
|
30
28
|
protected _router: Router;
|
|
31
29
|
protected _log: LoggerService;
|
|
32
30
|
protected _userService: UserService;
|
|
33
|
-
protected
|
|
34
|
-
protected _authorityGuard: AuthorityGuardService;
|
|
35
|
-
protected _groupGuard: GroupGuardService;
|
|
31
|
+
protected _accessService: AccessService;
|
|
36
32
|
protected _activeGroupService: ActiveGroupService;
|
|
37
33
|
protected _taskResourceService: TaskResourceService;
|
|
38
34
|
protected _languageService: LanguageService;
|
|
@@ -48,7 +44,7 @@ export declare abstract class AbstractNavigationTreeComponent extends AbstractNa
|
|
|
48
44
|
private _groupNavNodesCount;
|
|
49
45
|
treeControl: NestedTreeControl<NavigationNode>;
|
|
50
46
|
dataSource: MatTreeNestedDataSource<NavigationNode>;
|
|
51
|
-
protected constructor(_config: ConfigurationService, _router: Router, _log: LoggerService, _userService: UserService,
|
|
47
|
+
protected constructor(_config: ConfigurationService, _router: Router, _log: LoggerService, _userService: UserService, _accessService: AccessService, _activeGroupService: ActiveGroupService, _taskResourceService: TaskResourceService, _languageService: LanguageService, _navigationRouteProvider: DynamicNavigationRouteProviderService);
|
|
52
48
|
ngOnInit(): void;
|
|
53
49
|
ngOnDestroy(): void;
|
|
54
50
|
hasChild(_: number, node: NavigationNode): boolean;
|
|
@@ -83,29 +79,6 @@ export declare abstract class AbstractNavigationTreeComponent extends AbstractNa
|
|
|
83
79
|
*/
|
|
84
80
|
protected appendRouteSegment(parentUrl: string, routeSegment: string): string;
|
|
85
81
|
protected resolveLevels(nodes: Array<NavigationNode>, parentLevel?: number): void;
|
|
86
|
-
/**
|
|
87
|
-
* @param view the view whose access permissions we want to check
|
|
88
|
-
* @param url URL to which the view maps. Is used only for error message generation
|
|
89
|
-
* @returns whether the user can access the provided view
|
|
90
|
-
*/
|
|
91
|
-
protected canAccessView(view: View, url: string): boolean;
|
|
92
|
-
/**
|
|
93
|
-
* @param view the view whose access permissions we want to check
|
|
94
|
-
* @param url URL to which the view maps. Is used only for error message generation
|
|
95
|
-
* @returns whether the user passes the role guard condition for accessing the specified view
|
|
96
|
-
*/
|
|
97
|
-
protected passesRoleGuard(view: View, url: string): boolean;
|
|
98
|
-
/**
|
|
99
|
-
* @param view the view whose access permissions we want to check
|
|
100
|
-
* @returns whether the user passes the authority guard condition for accessing the specified view
|
|
101
|
-
*/
|
|
102
|
-
protected passesAuthorityGuard(view: View): boolean;
|
|
103
|
-
/**
|
|
104
|
-
* @param view the view whose access permissions we want to check
|
|
105
|
-
* @param url URL to which the view maps. Is used only for error message generation
|
|
106
|
-
* @returns whether the user passes the role guard condition for accessing the specified view
|
|
107
|
-
*/
|
|
108
|
-
protected passesGroupGuard(view: View, url: string): boolean;
|
|
109
82
|
protected resolveChange(): void;
|
|
110
83
|
/**
|
|
111
84
|
* @returns `true` if the layout of the provided {@link View} node's name indicates it is a
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
export * from './quick-panel/public-api';
|
|
2
2
|
export * from './navigation-tree/abstract-navigation-tree.component';
|
|
3
3
|
export * from './navigation-drawer/abstract-navigation-drawer.component';
|
|
4
|
+
export * from './navigation-double-drawer/abstract-navigation-double-drawer';
|
|
4
5
|
export * from './navigation-rail/abstract-navigation-rail.component';
|
|
5
6
|
export * from './group-navigation-component-resolver/abstract-group-navigation-component-resolver.component';
|
|
6
7
|
export * from './group-navigation-component-resolver/group-navigation-component-resolver.service';
|
|
7
8
|
export * from './utility/filter-extraction.service';
|
|
9
|
+
export * from './service/uri.service';
|
|
10
|
+
export * from './service/uri-resource.service';
|
|
8
11
|
export * from './model/group-navigation-constants';
|
|
9
12
|
export * from './model/group-navigation-component-resolver-component-injection-token';
|
|
10
13
|
export * from './model/filter-case-injection-token';
|
|
11
14
|
export * from './model/group-navigation-item-label';
|
|
15
|
+
export * from './model/uri-resource';
|
|
12
16
|
export * from './utility/navigation-item-task-utility-methods';
|
|
13
17
|
export * from './group-navigation-component-resolver/group-navigation-view-id-segment-factory';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AbstractResourceService } from '../../resources/abstract-endpoint/abstract-resource.service';
|
|
2
|
+
import { ResourceProvider } from '../../resources/resource-provider.service';
|
|
3
|
+
import { ConfigurationService } from '../../configuration/configuration.service';
|
|
4
|
+
import { UriNodeResource } from '../model/uri-resource';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Service for accessing backend resource to resolve URI objects
|
|
9
|
+
* */
|
|
10
|
+
export declare class UriResourceService extends AbstractResourceService {
|
|
11
|
+
constructor(provider: ResourceProvider, configService: ConfigurationService);
|
|
12
|
+
getRoot(): Observable<UriNodeResource>;
|
|
13
|
+
getByLevel(level: number): Observable<Array<UriNodeResource>>;
|
|
14
|
+
getNodesByParent(parentId: string): Observable<Array<UriNodeResource>>;
|
|
15
|
+
getNodeByUri(uriPath: string): Observable<UriNodeResource>;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UriResourceService, never>;
|
|
17
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UriResourceService>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { LoggerService } from '../../logger/services/logger.service';
|
|
3
|
+
import { UriResourceService } from './uri-resource.service';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { UriNodeResource } from '../model/uri-resource';
|
|
6
|
+
import { Case } from '../../resources/interface/case';
|
|
7
|
+
import { CaseResourceService } from '../../resources/engine-endpoint/case-resource.service';
|
|
8
|
+
import { ActiveGroupService } from '../../groups/services/active-group.service';
|
|
9
|
+
import { LoadingEmitter } from "../../utility/loading-emitter";
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
/**
|
|
12
|
+
* Service for managing URIs
|
|
13
|
+
* */
|
|
14
|
+
export declare class UriService implements OnDestroy {
|
|
15
|
+
protected _logger: LoggerService;
|
|
16
|
+
protected _resourceService: UriResourceService;
|
|
17
|
+
protected _caseResourceService: CaseResourceService;
|
|
18
|
+
protected _activeGroupService: ActiveGroupService;
|
|
19
|
+
private _rootNode;
|
|
20
|
+
private readonly _rootLoading$;
|
|
21
|
+
private readonly _parentLoading$;
|
|
22
|
+
private readonly _activeNode$;
|
|
23
|
+
constructor(_logger: LoggerService, _resourceService: UriResourceService, _caseResourceService: CaseResourceService, _activeGroupService: ActiveGroupService);
|
|
24
|
+
ngOnDestroy(): void;
|
|
25
|
+
get root(): UriNodeResource;
|
|
26
|
+
get rootLoaded$(): LoadingEmitter;
|
|
27
|
+
isRoot(node: UriNodeResource): boolean;
|
|
28
|
+
get activeNode(): UriNodeResource;
|
|
29
|
+
set activeNode(node: UriNodeResource);
|
|
30
|
+
get activeNode$(): Observable<UriNodeResource>;
|
|
31
|
+
get parentNodeLoading$(): Observable<boolean>;
|
|
32
|
+
/**
|
|
33
|
+
* Loads root ID into variable.
|
|
34
|
+
* When root node is loaded and active node is not set yet the root node is set as active node
|
|
35
|
+
* */
|
|
36
|
+
private loadRoot;
|
|
37
|
+
reset(): UriNodeResource;
|
|
38
|
+
/**
|
|
39
|
+
* Get uri node by uri path.
|
|
40
|
+
* @param path
|
|
41
|
+
*/
|
|
42
|
+
getNodeByPath(path: string): Observable<UriNodeResource>;
|
|
43
|
+
/**
|
|
44
|
+
* Get child nodes of provides node.
|
|
45
|
+
* @param node parent node
|
|
46
|
+
*/
|
|
47
|
+
getChildNodes(node?: UriNodeResource): Observable<Array<UriNodeResource>>;
|
|
48
|
+
/**
|
|
49
|
+
* Get cases under uri node
|
|
50
|
+
* @param node parent node of cases
|
|
51
|
+
* @param processIdentifiers optional search filter for process identifier to get only cases from the process
|
|
52
|
+
*/
|
|
53
|
+
getCasesOfNode(node?: UriNodeResource, processIdentifiers?: Array<string>): Observable<Array<Case>>;
|
|
54
|
+
/**
|
|
55
|
+
* Get siblings node of the provided node
|
|
56
|
+
* @param node siblings node
|
|
57
|
+
*/
|
|
58
|
+
getSiblingsOfNode(node?: UriNodeResource): Observable<Array<UriNodeResource>>;
|
|
59
|
+
/**
|
|
60
|
+
* Get nodes on the same uri level starting from 0. Root node is no 0 level.
|
|
61
|
+
* @param level
|
|
62
|
+
* @param parent optional parameter to filter nodes with common parent
|
|
63
|
+
*/
|
|
64
|
+
getNodesOnLevel(level: number, parent?: UriNodeResource): Observable<Array<UriNodeResource>>;
|
|
65
|
+
resolveParentPath(node?: UriNodeResource): string;
|
|
66
|
+
private capitalizeNames;
|
|
67
|
+
/**
|
|
68
|
+
* /netgrif/nae_system/processes/... => Netgrif -> Nae Systems -> Processes
|
|
69
|
+
* @param node
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
private capitalizeName;
|
|
73
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UriService, never>;
|
|
74
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UriService>;
|
|
75
|
+
}
|
|
@@ -4,11 +4,14 @@ import { OnDestroy } from '@angular/core';
|
|
|
4
4
|
import { FeaturedValue } from './featured-value';
|
|
5
5
|
import { CurrencyPipe } from '@angular/common';
|
|
6
6
|
import { ImmediateData } from '../../resources/interface/immediate-data';
|
|
7
|
+
import { OverflowService } from '../../header/services/overflow.service';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export declare abstract class AbstractPanelWithImmediateDataComponent extends AbstractPanelWithHeaderBindingComponent implements OnDestroy {
|
|
9
10
|
protected _translate: TranslateService;
|
|
10
11
|
protected _currencyPipe: CurrencyPipe;
|
|
11
|
-
protected
|
|
12
|
+
protected _overflowService: OverflowService;
|
|
13
|
+
protected constructor(_translate: TranslateService, _currencyPipe: CurrencyPipe, _overflowService: OverflowService);
|
|
14
|
+
get overflowMode(): boolean;
|
|
12
15
|
ngOnDestroy(): void;
|
|
13
16
|
protected parseImmediateValue(immediate: ImmediateData): FeaturedValue;
|
|
14
17
|
protected formatCurrencyPipe(value: any, code: string, fraction: number, locale: string, type: string): {
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { AfterViewInit, EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
|
|
2
2
|
import { MatExpansionPanel } from '@angular/material/expansion';
|
|
3
3
|
import { CaseListFontColorService } from '../utility/service/case-list-font-color.service';
|
|
4
|
+
import { ActivatedRoute, Params } from '@angular/router';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare abstract class AbstractPanelComponent implements AfterViewInit, OnDestroy {
|
|
6
7
|
protected _caseListFontColorService: CaseListFontColorService;
|
|
8
|
+
protected _activatedRoute?: ActivatedRoute;
|
|
9
|
+
config: Params;
|
|
7
10
|
expansionDisabled: boolean;
|
|
8
11
|
preventExpand: boolean;
|
|
12
|
+
preventCollapse: boolean;
|
|
13
|
+
hidePanelHeader: boolean;
|
|
9
14
|
panelHeader: TemplateRef<object>;
|
|
10
15
|
panelContent: TemplateRef<object>;
|
|
11
16
|
first: boolean;
|
|
@@ -14,13 +19,14 @@ export declare abstract class AbstractPanelComponent implements AfterViewInit, O
|
|
|
14
19
|
stopLoading: EventEmitter<object>;
|
|
15
20
|
getExpansionPanelRef: EventEmitter<MatExpansionPanel>;
|
|
16
21
|
matExpansionPanel: any;
|
|
17
|
-
protected constructor(_caseListFontColorService: CaseListFontColorService);
|
|
22
|
+
protected constructor(_caseListFontColorService: CaseListFontColorService, _activatedRoute?: ActivatedRoute);
|
|
18
23
|
ngOnDestroy(): void;
|
|
19
24
|
ngAfterViewInit(): void;
|
|
20
25
|
emitExpand(): void;
|
|
21
26
|
emitCollapse(): void;
|
|
22
27
|
expandPanel(): void;
|
|
28
|
+
showPanelHeader(): boolean;
|
|
23
29
|
getCaseFontColor(): string;
|
|
24
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractPanelComponent, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractPanelComponent, "ncc-abstract-panel", never, { "expansionDisabled": "expansionDisabled"; "preventExpand": "preventExpand"; "panelHeader": "panelHeader"; "panelContent": "panelContent"; "first": "first"; "last": "last"; "caseColor": "caseColor"; }, { "stopLoading": "stopLoading"; "getExpansionPanelRef": "getExpansionPanelRef"; }, never, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractPanelComponent, "ncc-abstract-panel", never, { "expansionDisabled": "expansionDisabled"; "preventExpand": "preventExpand"; "preventCollapse": "preventCollapse"; "hidePanelHeader": "hidePanelHeader"; "panelHeader": "panelHeader"; "panelContent": "panelContent"; "first": "first"; "last": "last"; "caseColor": "caseColor"; }, { "stopLoading": "stopLoading"; "getExpansionPanelRef": "getExpansionPanelRef"; }, never, never>;
|
|
26
32
|
}
|
|
@@ -8,7 +8,10 @@ export * from './abstract/tabbed-virtual-scroll.component';
|
|
|
8
8
|
export * from './immediate/abstract-immediate-filter-text.component';
|
|
9
9
|
export * from './immediate/abstract-immediate-filter-text-content.component';
|
|
10
10
|
export * from './panel-item/abstract-panel-item.component';
|
|
11
|
+
export * from './task-panel-single/abstract-single-task.component';
|
|
11
12
|
export * from './task-panel-list/task-panel-data/task-panel-data';
|
|
12
13
|
export * from './task-panel/models/disable-functions';
|
|
13
14
|
export * from './abstract/featured-value';
|
|
14
15
|
export * from './immediate/model/filter-text-injection-token';
|
|
16
|
+
export * from './task-panel/models/task-panel-context';
|
|
17
|
+
export * from './configuration/config-params';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterViewInit, EventEmitter, OnDestroy, OnInit, Type } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, EventEmitter, OnDestroy, OnInit, TemplateRef, Type } from '@angular/core';
|
|
2
2
|
import { MatExpansionPanel } from '@angular/material/expansion';
|
|
3
3
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
4
|
import { TaskContentService } from '../../task-content/services/task-content.service';
|
|
@@ -26,6 +26,8 @@ import { FeaturedValue } from '../abstract/featured-value';
|
|
|
26
26
|
import { CurrencyPipe } from '@angular/common';
|
|
27
27
|
import { PermissionService } from '../../authorization/permission/permission.service';
|
|
28
28
|
import { ChangedFieldsService } from '../../changed-fields/services/changed-fields.service';
|
|
29
|
+
import { TaskPanelContext } from './models/task-panel-context';
|
|
30
|
+
import { OverflowService } from '../../header/services/overflow.service';
|
|
29
31
|
import * as i0 from "@angular/core";
|
|
30
32
|
export declare abstract class AbstractTaskPanelComponent extends AbstractPanelWithImmediateDataComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
31
33
|
protected _taskContentService: TaskContentService;
|
|
@@ -58,6 +60,11 @@ export declare abstract class AbstractTaskPanelComponent extends AbstractPanelWi
|
|
|
58
60
|
first: boolean;
|
|
59
61
|
last: boolean;
|
|
60
62
|
responsiveBody: boolean;
|
|
63
|
+
preventCollapse: boolean;
|
|
64
|
+
hidePanelHeader: boolean;
|
|
65
|
+
actionButtonTemplates: Array<TemplateRef<any>>;
|
|
66
|
+
actionRowJustifyContent: 'space-between' | 'flex-start' | 'flex-end' | 'center' | 'space-around' | 'initial' | 'start' | 'end' | 'left' | 'right' | 'revert' | 'inherit' | 'unset';
|
|
67
|
+
thisContext: TaskPanelContext;
|
|
61
68
|
set forceLoadDataOnOpen(force: boolean);
|
|
62
69
|
textEllipsis: boolean;
|
|
63
70
|
/**
|
|
@@ -72,7 +79,7 @@ export declare abstract class AbstractTaskPanelComponent extends AbstractPanelWi
|
|
|
72
79
|
protected _subTaskData: Subscription;
|
|
73
80
|
protected _subPanelUpdate: Subscription;
|
|
74
81
|
protected _taskDisableButtonFunctions: DisableButtonFuntions;
|
|
75
|
-
protected constructor(_taskContentService: TaskContentService, _log: LoggerService, _taskViewService: TaskViewService, _paperView: PaperViewService, _taskEventService: TaskEventService, _assignTaskService: AssignTaskService, _delegateTaskService: DelegateTaskService, _cancelTaskService: CancelTaskService, _finishTaskService: FinishTaskService, _taskState: TaskRequestStateService, _taskDataService: TaskDataService, _assignPolicyService: AssignPolicyService, _callChain: CallChainService, _taskOperations: SubjectTaskOperations, _disableFunctions: DisableButtonFuntions, _translate: TranslateService, _currencyPipe: CurrencyPipe, _changedFieldsService: ChangedFieldsService, _permissionService: PermissionService);
|
|
82
|
+
protected constructor(_taskContentService: TaskContentService, _log: LoggerService, _taskViewService: TaskViewService, _paperView: PaperViewService, _taskEventService: TaskEventService, _assignTaskService: AssignTaskService, _delegateTaskService: DelegateTaskService, _cancelTaskService: CancelTaskService, _finishTaskService: FinishTaskService, _taskState: TaskRequestStateService, _taskDataService: TaskDataService, _assignPolicyService: AssignPolicyService, _callChain: CallChainService, _taskOperations: SubjectTaskOperations, _disableFunctions: DisableButtonFuntions, _translate: TranslateService, _currencyPipe: CurrencyPipe, _changedFieldsService: ChangedFieldsService, _permissionService: PermissionService, overflowService: OverflowService);
|
|
76
83
|
ngOnInit(): void;
|
|
77
84
|
ngAfterViewInit(): void;
|
|
78
85
|
protected abstract createContentPortal(): void;
|
|
@@ -103,6 +110,6 @@ export declare abstract class AbstractTaskPanelComponent extends AbstractPanelWi
|
|
|
103
110
|
protected getFeaturedMetaValue(selectedHeader: HeaderColumn): FeaturedValue;
|
|
104
111
|
protected getFeaturedImmediateValue(selectedHeader: HeaderColumn): FeaturedValue;
|
|
105
112
|
ngOnDestroy(): void;
|
|
106
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTaskPanelComponent, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, null, null, null, null]>;
|
|
107
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTaskPanelComponent, "ncc-abstract-legal-notice", never, { "panelContentComponent": "panelContentComponent"; "selectedHeaders$": "selectedHeaders$"; "first": "first"; "last": "last"; "responsiveBody": "responsiveBody"; "forceLoadDataOnOpen": "forceLoadDataOnOpen"; "textEllipsis": "textEllipsis"; "taskPanelData": "taskPanelData"; }, { "taskEvent": "taskEvent"; "panelRefOutput": "panelRefOutput"; }, never, never>;
|
|
113
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTaskPanelComponent, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, null, null, null, null, null]>;
|
|
114
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTaskPanelComponent, "ncc-abstract-legal-notice", never, { "panelContentComponent": "panelContentComponent"; "selectedHeaders$": "selectedHeaders$"; "first": "first"; "last": "last"; "responsiveBody": "responsiveBody"; "preventCollapse": "preventCollapse"; "hidePanelHeader": "hidePanelHeader"; "actionButtonTemplates": "actionButtonTemplates"; "actionRowJustifyContent": "actionRowJustifyContent"; "forceLoadDataOnOpen": "forceLoadDataOnOpen"; "textEllipsis": "textEllipsis"; "taskPanelData": "taskPanelData"; }, { "taskEvent": "taskEvent"; "panelRefOutput": "panelRefOutput"; }, never, never>;
|
|
108
115
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface TaskPanelContext {
|
|
2
|
+
canAssign: () => boolean;
|
|
3
|
+
assign: () => void;
|
|
4
|
+
getAssignTitle: () => string;
|
|
5
|
+
delegate: () => void;
|
|
6
|
+
getDelegateTitle: () => string;
|
|
7
|
+
canReassign: () => boolean;
|
|
8
|
+
canCancel: () => boolean;
|
|
9
|
+
cancel: () => void;
|
|
10
|
+
getCancelTitle: () => string;
|
|
11
|
+
canFinish: () => boolean;
|
|
12
|
+
finish: () => void;
|
|
13
|
+
getFinishTitle: () => string;
|
|
14
|
+
canCollapse: () => boolean;
|
|
15
|
+
collapse: () => void;
|
|
16
|
+
canDisable: (arg: string) => boolean;
|
|
17
|
+
canDo: (arg: string) => boolean;
|
|
18
|
+
isLoading: () => boolean;
|
|
19
|
+
}
|