@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.
Files changed (126) hide show
  1. package/esm2020/assets/i18n/de.json +19 -1
  2. package/esm2020/assets/i18n/en.json +19 -1
  3. package/esm2020/assets/i18n/sk.json +20 -2
  4. package/esm2020/lib/authorization/permission/access.service.mjs +74 -0
  5. package/esm2020/lib/authorization/public-api.mjs +2 -1
  6. package/esm2020/lib/data-fields/file-field/abstract-file-field.component.mjs +8 -3
  7. package/esm2020/lib/data-fields/file-list-field/abstract-file-list-field.component.mjs +7 -2
  8. package/esm2020/lib/dialog/components/prompt-dialog/prompt-dialog.component.mjs +3 -3
  9. package/esm2020/lib/filter/models/case-search-request-body.mjs +1 -1
  10. package/esm2020/lib/header/abstract-header-service.mjs +15 -8
  11. package/esm2020/lib/header/abstract-header.component.mjs +2 -2
  12. package/esm2020/lib/header/case-header/case-header.service.mjs +2 -2
  13. package/esm2020/lib/header/header-modes/search-mode/abstract-search-mode.component.mjs +3 -2
  14. package/esm2020/lib/header/task-header/task-header.service.mjs +7 -4
  15. package/esm2020/lib/header/workflow-header/workflow-header.service.mjs +11 -8
  16. package/esm2020/lib/navigation/model/uri-resource.mjs +6 -0
  17. package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +386 -0
  18. package/esm2020/lib/navigation/navigation-tree/abstract-navigation-tree.component.mjs +15 -62
  19. package/esm2020/lib/navigation/public-api.mjs +5 -1
  20. package/esm2020/lib/navigation/service/uri-resource.service.mjs +35 -0
  21. package/esm2020/lib/navigation/service/uri.service.mjs +194 -0
  22. package/esm2020/lib/panel/abstract/panel-with-immediate-data.mjs +51 -20
  23. package/esm2020/lib/panel/abstract-panel.component.mjs +23 -5
  24. package/esm2020/lib/panel/case-panel/abstract-case-panel.component.mjs +2 -2
  25. package/esm2020/lib/panel/configuration/config-params.mjs +5 -0
  26. package/esm2020/lib/panel/public-api.mjs +5 -1
  27. package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +36 -6
  28. package/esm2020/lib/panel/task-panel/models/task-panel-context.mjs +2 -0
  29. package/esm2020/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.mjs +2 -2
  30. package/esm2020/lib/panel/task-panel-single/abstract-single-task.component.mjs +81 -0
  31. package/esm2020/lib/panel/workflow-panel/abstract-workflow-panel.component.mjs +9 -4
  32. package/esm2020/lib/process/net.mjs +8 -1
  33. package/esm2020/lib/process/public-api.mjs +3 -1
  34. package/esm2020/lib/public/factories/public-factory-resolver.mjs +3 -3
  35. package/esm2020/lib/resources/engine-endpoint/petri-net-resource.service.mjs +2 -2
  36. package/esm2020/lib/resources/engine-endpoint/public/public-task-resource.service.mjs +1 -40
  37. package/esm2020/lib/resources/engine-endpoint/task-resource.service.mjs +4 -1
  38. package/esm2020/lib/resources/interface/case.mjs +1 -1
  39. package/esm2020/lib/resources/interface/petri-net-reference.mjs +1 -1
  40. package/esm2020/lib/resources/interface/task-pair.mjs +2 -0
  41. package/esm2020/lib/resources/public-api.mjs +2 -1
  42. package/esm2020/lib/routing/redirect-service/redirect.service.mjs +2 -1
  43. package/esm2020/lib/routing/routing-builder/routing-builder.service.mjs +5 -1
  44. package/esm2020/lib/search/models/category/case/case-dataset.mjs +3 -1
  45. package/esm2020/lib/search/models/category/case/case-simple-dataset.mjs +5 -1
  46. package/esm2020/lib/side-menu/content-components/save-filter/abstract-save-filter.component.mjs +8 -7
  47. package/esm2020/lib/tabs/classes/opened-tab.mjs +19 -1
  48. package/esm2020/lib/tabs/classes/tab-label-stream.mjs +15 -0
  49. package/esm2020/lib/tabs/classes/tab-view.mjs +11 -3
  50. package/esm2020/lib/tabs/interfaces.mjs +1 -1
  51. package/esm2020/lib/tabs/public-api.mjs +3 -1
  52. package/esm2020/lib/task/services/assign-task.service.mjs +7 -6
  53. package/esm2020/lib/task/services/cancel-task.service.mjs +7 -6
  54. package/esm2020/lib/task/services/delegate-task.service.mjs +9 -8
  55. package/esm2020/lib/task/services/finish-task.service.mjs +7 -6
  56. package/esm2020/lib/task/services/task-data.service.mjs +51 -13
  57. package/esm2020/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.mjs +3 -2
  58. package/esm2020/lib/task-content/model/task-event-notification.mjs +5 -3
  59. package/esm2020/lib/task-content/services/task-content.service.mjs +5 -2
  60. package/esm2020/lib/utility/tests/utility/create-mock-net.mjs +2 -1
  61. package/esm2020/lib/view/abstract/view-with-headers.mjs +13 -4
  62. package/esm2020/lib/view/case-view/abstract-case-view.mjs +7 -5
  63. package/esm2020/lib/view/case-view/tabbed-case-view.mjs +7 -5
  64. package/esm2020/lib/view/public-api.mjs +4 -1
  65. package/esm2020/lib/view/task-view/abstract-single-task-view.component.mjs +55 -0
  66. package/esm2020/lib/view/task-view/abstract-task-view.mjs +6 -5
  67. package/esm2020/lib/view/task-view/tabbed-task-view.mjs +6 -5
  68. package/esm2020/lib/view/workflow-view/abstract-workflow-view.component.mjs +6 -5
  69. package/fesm2015/netgrif-components-core.mjs +5900 -4921
  70. package/fesm2015/netgrif-components-core.mjs.map +1 -1
  71. package/fesm2020/netgrif-components-core.mjs +5841 -4870
  72. package/fesm2020/netgrif-components-core.mjs.map +1 -1
  73. package/lib/authorization/permission/access.service.d.ts +40 -0
  74. package/lib/authorization/public-api.d.ts +1 -0
  75. package/lib/filter/models/case-search-request-body.d.ts +1 -0
  76. package/lib/header/abstract-header-service.d.ts +6 -3
  77. package/lib/header/abstract-header.component.d.ts +1 -1
  78. package/lib/header/task-header/task-header.service.d.ts +3 -2
  79. package/lib/header/workflow-header/workflow-header.service.d.ts +3 -2
  80. package/lib/navigation/model/uri-resource.d.ts +15 -0
  81. package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +138 -0
  82. package/lib/navigation/navigation-tree/abstract-navigation-tree.component.d.ts +3 -30
  83. package/lib/navigation/public-api.d.ts +4 -0
  84. package/lib/navigation/service/uri-resource.service.d.ts +18 -0
  85. package/lib/navigation/service/uri.service.d.ts +75 -0
  86. package/lib/panel/abstract/panel-with-immediate-data.d.ts +4 -1
  87. package/lib/panel/abstract-panel.component.d.ts +8 -2
  88. package/lib/panel/configuration/config-params.d.ts +3 -0
  89. package/lib/panel/public-api.d.ts +3 -0
  90. package/lib/panel/task-panel/abstract-task-panel.component.d.ts +11 -4
  91. package/lib/panel/task-panel/models/task-panel-context.d.ts +19 -0
  92. package/lib/panel/task-panel-single/abstract-single-task.component.d.ts +42 -0
  93. package/lib/panel/workflow-panel/abstract-workflow-panel.component.d.ts +4 -1
  94. package/lib/process/net.d.ts +6 -0
  95. package/lib/process/public-api.d.ts +2 -0
  96. package/lib/public/factories/public-factory-resolver.d.ts +2 -1
  97. package/lib/resources/engine-endpoint/public/public-task-resource.service.d.ts +0 -12
  98. package/lib/resources/interface/case.d.ts +8 -0
  99. package/lib/resources/interface/petri-net-reference.d.ts +4 -0
  100. package/lib/resources/interface/task-pair.d.ts +4 -0
  101. package/lib/resources/public-api.d.ts +1 -0
  102. package/lib/routing/routing-builder/routing-builder.service.d.ts +1 -0
  103. package/lib/side-menu/content-components/save-filter/abstract-save-filter.component.d.ts +2 -1
  104. package/lib/tabs/classes/opened-tab.d.ts +8 -1
  105. package/lib/tabs/classes/tab-label-stream.d.ts +7 -0
  106. package/lib/tabs/interfaces.d.ts +12 -1
  107. package/lib/tabs/public-api.d.ts +2 -0
  108. package/lib/task/services/assign-task.service.d.ts +4 -2
  109. package/lib/task/services/cancel-task.service.d.ts +4 -2
  110. package/lib/task/services/delegate-task.service.d.ts +5 -3
  111. package/lib/task/services/finish-task.service.d.ts +4 -2
  112. package/lib/task/services/task-data.service.d.ts +12 -3
  113. package/lib/task-content/model/task-event-notification.d.ts +7 -1
  114. package/lib/task-content/services/task-content.service.d.ts +1 -0
  115. package/lib/view/abstract/view-with-headers.d.ts +5 -1
  116. package/lib/view/case-view/abstract-case-view.d.ts +4 -2
  117. package/lib/view/case-view/tabbed-case-view.d.ts +4 -2
  118. package/lib/view/public-api.d.ts +3 -0
  119. package/lib/view/task-view/abstract-single-task-view.component.d.ts +25 -0
  120. package/lib/view/task-view/abstract-task-view.d.ts +2 -1
  121. package/lib/view/task-view/tabbed-task-view.d.ts +2 -1
  122. package/lib/view/workflow-view/abstract-workflow-view.component.d.ts +2 -1
  123. package/package.json +1 -1
  124. package/src/assets/i18n/de.json +19 -1
  125. package/src/assets/i18n/en.json +19 -1
  126. package/src/assets/i18n/sk.json +20 -2
@@ -0,0 +1,42 @@
1
+ import { EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
2
+ import { Observable, Subject } from 'rxjs';
3
+ import { TaskPanelData } from '../task-panel-list/task-panel-data/task-panel-data';
4
+ import { MatExpansionPanel } from '@angular/material/expansion';
5
+ import { HeaderColumn } from '../../header/models/header-column';
6
+ import { TaskEventNotification } from '../../task-content/model/task-event-notification';
7
+ import { LoggerService } from '../../logger/services/logger.service';
8
+ import { InjectedTabData } from '../../tabs/interfaces';
9
+ import { ActivatedRoute } from '@angular/router';
10
+ import * as i0 from "@angular/core";
11
+ export declare abstract class AbstractSingleTaskComponent implements OnDestroy {
12
+ protected _log: LoggerService;
13
+ protected _route: ActivatedRoute;
14
+ protected _unsubscribe$: Subject<void>;
15
+ protected _taskPanelRef: MatExpansionPanel;
16
+ task$: Observable<TaskPanelData>;
17
+ loading$: Observable<boolean>;
18
+ selectedHeaders$: Observable<Array<HeaderColumn>>;
19
+ responsiveBody: boolean;
20
+ forceLoadDataOnOpen: boolean;
21
+ textEllipsis: boolean;
22
+ preventCollapse: boolean;
23
+ hidePanelHeader: boolean;
24
+ pageHeader: TemplateRef<any>;
25
+ pageFooter: TemplateRef<any>;
26
+ headerTitle: string;
27
+ footerText: string;
28
+ actionButtonTemplates: Array<TemplateRef<any>>;
29
+ actionRowJustifyContent: 'space-between' | 'flex-start' | 'flex-end' | 'center' | 'space-around' | 'initial' | 'start' | 'end' | 'left' | 'right' | 'revert' | 'inherit' | 'unset';
30
+ taskEvent: EventEmitter<TaskEventNotification>;
31
+ constructor(_log: LoggerService, _route: ActivatedRoute, _injectedTabData: InjectedTabData);
32
+ ngOnDestroy(): void;
33
+ setPanelRef(panelRef: MatExpansionPanel): void;
34
+ trackBy(_idx: number, item: TaskPanelData): any;
35
+ /**
36
+ * Emits an event into this component's @Output attribute
37
+ * @param event the event that will be emitted
38
+ */
39
+ emitTaskEvent(event: TaskEventNotification): void;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSingleTaskComponent, [null, null, { optional: true; }]>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<AbstractSingleTaskComponent, "ncc-abstract-single-task", never, { "task$": "task$"; "loading$": "loading$"; "selectedHeaders$": "selectedHeaders$"; "responsiveBody": "responsiveBody"; "forceLoadDataOnOpen": "forceLoadDataOnOpen"; "textEllipsis": "textEllipsis"; "preventCollapse": "preventCollapse"; "hidePanelHeader": "hidePanelHeader"; "pageHeader": "pageHeader"; "pageFooter": "pageFooter"; "headerTitle": "headerTitle"; "footerText": "footerText"; "actionButtonTemplates": "actionButtonTemplates"; "actionRowJustifyContent": "actionRowJustifyContent"; }, { "taskEvent": "taskEvent"; }, never, never>;
42
+ }
@@ -11,6 +11,7 @@ import { Net } from '../../process/net';
11
11
  import { TranslateService } from '@ngx-translate/core';
12
12
  import { WorkflowViewService } from '../../view/workflow-view/workflow-view.service';
13
13
  import { FeaturedValue } from '../abstract/featured-value';
14
+ import { OverflowService } from '../../header/services/overflow.service';
14
15
  import * as i0 from "@angular/core";
15
16
  export interface WorkflowPanelContent {
16
17
  netIdentifier: TextField;
@@ -23,6 +24,7 @@ export declare abstract class AbstractWorkflowPanelComponent extends AbstractPan
23
24
  protected _log: LoggerService;
24
25
  protected _translate: TranslateService;
25
26
  protected _workflowService: WorkflowViewService;
27
+ protected _overflowService: OverflowService;
26
28
  workflow: Net;
27
29
  selectedHeaders$: Observable<Array<HeaderColumn>>;
28
30
  responsiveBody: boolean;
@@ -36,12 +38,13 @@ export declare abstract class AbstractWorkflowPanelComponent extends AbstractPan
36
38
  private readonly TRANSLATION_AUTHOR;
37
39
  private readonly TRANSLATION_UPLOAD;
38
40
  protected dataFieldsBehaviour: Behavior;
39
- protected constructor(_log: LoggerService, _translate: TranslateService, _workflowService: WorkflowViewService);
41
+ protected constructor(_log: LoggerService, _translate: TranslateService, _workflowService: WorkflowViewService, _overflowService: OverflowService);
40
42
  ngOnInit(): void;
41
43
  ngOnDestroy(): void;
42
44
  show(event: MouseEvent): boolean;
43
45
  collapse(): void;
44
46
  setPanelRef(panelRef: MatExpansionPanel): void;
47
+ get overflowMode(): boolean;
45
48
  /**
46
49
  * Handles the logic that should be executed when the "delete workflow" button is clicked.
47
50
  *
@@ -22,6 +22,10 @@ export declare class Net implements PetriNetReferenceWithPermissions {
22
22
  * @ignore
23
23
  */
24
24
  private _identifier;
25
+ /**
26
+ * @ignore
27
+ * */
28
+ private _uriNodeId;
25
29
  /**
26
30
  * @ignore
27
31
  */
@@ -92,4 +96,6 @@ export declare class Net implements PetriNetReferenceWithPermissions {
92
96
  set roles(value: Array<NetRole>);
93
97
  get permissions(): Permissions;
94
98
  set permissions(value: Permissions);
99
+ get uriNodeId(): string;
100
+ set uriNodeId(uriNodeId: string);
95
101
  }
@@ -5,3 +5,5 @@ export * from './transaction';
5
5
  export * from './netRole';
6
6
  export * from './public-process.service';
7
7
  export * from './petri-net-reference-with-permissions';
8
+ export * from './permissions';
9
+ export * from './rolesAndPermissions';
@@ -3,4 +3,5 @@ import { UserService } from '../../user/services/user.service';
3
3
  import { SessionService } from '../../authentication/session/services/session.service';
4
4
  import { AuthenticationService } from '../../authentication/services/authentication/authentication.service';
5
5
  import { PublicUrlResolverService } from '../services/public-url-resolver.service';
6
- export declare const publicFactoryResolver: (userService: UserService, sessionService: SessionService, authService: AuthenticationService, router: Router, publicResolverService: PublicUrlResolverService, privateService: any, publicService: any) => any;
6
+ import { RedirectService } from '../../routing/redirect-service/redirect.service';
7
+ export declare const publicFactoryResolver: (userService: UserService, sessionService: SessionService, authService: AuthenticationService, router: Router, publicResolverService: PublicUrlResolverService, privateService: any, publicService: any, redirectService: RedirectService) => any;
@@ -8,7 +8,6 @@ import { Filter } from '../../../filter/models/filter';
8
8
  import { Page } from '../../interface/page';
9
9
  import { TaskSetDataRequestBody } from '../../interface/task-set-data-request-body';
10
10
  import { TaskReference } from '../../interface/task-reference';
11
- import { DataGroup } from '../../interface/data-groups';
12
11
  import { Task } from '../../interface/task';
13
12
  import { EventOutcomeMessageResource, MessageResource } from '../../interface/message-resource';
14
13
  import * as i0 from "@angular/core";
@@ -48,17 +47,6 @@ export declare class PublicTaskResourceService extends TaskResourceService {
48
47
  * @returns the raw backend response without any additional processing
49
48
  */
50
49
  rawGetData(taskId: string): Observable<EventOutcomeMessageResource>;
51
- /**
52
- * Get all task data
53
- *
54
- * GET
55
- *
56
- * If you want to process the raw backend response use [rawGetData]{@link TaskResourceService#rawGetData} instead.
57
- *
58
- * @param taskId ID of the task who's data should be retrieved from the server
59
- * @returns processed data groups of the given task. If the task has no data an empty array will be returned.
60
- */
61
- getData(taskId: string): Observable<Array<DataGroup>>;
62
50
  /**
63
51
  * Set task data
64
52
  * POST
@@ -3,6 +3,7 @@ import { PetriNetObjectId } from './petri-net-object-id';
3
3
  import { ImmediateData } from './immediate-data';
4
4
  import { NaeDate } from '../types/nae-date-type';
5
5
  import { Permissions, UserPermissions, UserRefs } from '../../process/permissions';
6
+ import { TaskPair } from './task-pair';
6
7
  /**
7
8
  * Object from Backend
8
9
  */
@@ -41,6 +42,9 @@ export interface Case {
41
42
  * **Example:** personal_information
42
43
  */
43
44
  processIdentifier: string;
45
+ /**
46
+ * Uri node ID
47
+ * */
44
48
  /**
45
49
  * **Example:** New instance - Personal information
46
50
  */
@@ -121,4 +125,8 @@ export interface Case {
121
125
  * **Example:** []
122
126
  */
123
127
  viewRoles?: Array<string>;
128
+ /**
129
+ * Set of TaskPair
130
+ * */
131
+ tasks?: Array<TaskPair>;
124
132
  }
@@ -17,6 +17,10 @@ export interface PetriNetReference {
17
17
  * Identifier
18
18
  */
19
19
  identifier: string;
20
+ /**
21
+ * Uri node ID
22
+ */
23
+ uriNodeId: string;
20
24
  /**
21
25
  * Version net
22
26
  */
@@ -0,0 +1,4 @@
1
+ export interface TaskPair {
2
+ task: string;
3
+ transition: string;
4
+ }
@@ -39,6 +39,7 @@ export * from './interface/user-resource-small';
39
39
  export * from './interface/user-resource';
40
40
  export * from './interface/create-case-request-body';
41
41
  export * from './interface/ldapGroupResponseBody';
42
+ export * from './interface/task-pair';
42
43
  export * from './types/nae-date-type';
43
44
  export * from './abstract-endpoint/count-service';
44
45
  export * from './abstract-endpoint/abstract-resource.service';
@@ -6,6 +6,7 @@ import { LoggerService } from '../../logger/services/logger.service';
6
6
  import { AbstractGroupNavigationComponentResolverComponent } from '../../navigation/group-navigation-component-resolver/abstract-group-navigation-component-resolver.component';
7
7
  import { DynamicNavigationRouteProviderService } from '../dynamic-navigation-route-provider/dynamic-navigation-route-provider.service';
8
8
  import * as i0 from "@angular/core";
9
+ export declare const NAE_ROUTING_CONFIGURATION_PATH = "configPath";
9
10
  /**
10
11
  * Uses the information from nae.json to construct the application's routing
11
12
  */
@@ -5,13 +5,14 @@ import { TaskViewService } from '../../../view/task-view/service/task-view.servi
5
5
  import { TaskEventNotification } from '../../../task-content/model/task-event-notification';
6
6
  import { LoggerService } from '../../../logger/services/logger.service';
7
7
  import { UserFiltersService } from '../../../filter/user-filters.service';
8
+ import { ActivatedRoute } from '@angular/router';
8
9
  import * as i0 from "@angular/core";
9
10
  export declare abstract class AbstractSaveFilterComponent extends AbstractTaskViewComponent {
10
11
  protected _sideMenuControl: SideMenuControl;
11
12
  protected _userFilterService: UserFiltersService;
12
13
  protected _log: LoggerService;
13
14
  protected _injectedData: SaveFilterInjectionData;
14
- protected constructor(_sideMenuControl: SideMenuControl, _userFilterService: UserFiltersService, _log: LoggerService, taskViewService: TaskViewService);
15
+ protected constructor(_sideMenuControl: SideMenuControl, _userFilterService: UserFiltersService, _log: LoggerService, taskViewService: TaskViewService, _activatedRoute?: ActivatedRoute);
15
16
  processTaskEvents(notification: TaskEventNotification): void;
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSaveFilterComponent, never>;
17
18
  static ɵcmp: i0.ɵɵComponentDeclaration<AbstractSaveFilterComponent, "ncc-abstract-save-filter", never, {}, {}, never, never>;
@@ -1,7 +1,8 @@
1
1
  import { TabContent, TabLabel } from '../interfaces';
2
2
  import { ComponentPortal } from '@angular/cdk/portal';
3
3
  import { Type } from '@angular/core';
4
- import { BehaviorSubject, Subject } from 'rxjs';
4
+ import { BehaviorSubject, Observable, Subject } from 'rxjs';
5
+ import { TabLabelStream } from './tab-label-stream';
5
6
  /**
6
7
  * Holds the information of tab opened in a tab view.
7
8
  *
@@ -55,11 +56,17 @@ export declare class OpenedTab implements TabContent {
55
56
  * A stream that is injected into each tab and is used to inform the tab about its termination
56
57
  */
57
58
  tabClosed$: Subject<void>;
59
+ protected _label$: TabLabelStream;
58
60
  /**
59
61
  * @param tabContent - content of the tab
60
62
  * @param uniqueId - unique identifier for the tab
61
63
  */
62
64
  constructor(tabContent: TabContent, uniqueId: string);
65
+ setIcon(icon: string): void;
66
+ setText(text: string): void;
67
+ getIcon$(): Observable<string>;
68
+ getIcon(): string | undefined;
69
+ getText$(): Observable<string>;
63
70
  /**
64
71
  * Closes the stream held in this object
65
72
  */
@@ -0,0 +1,7 @@
1
+ import { BehaviorSubject, ReplaySubject } from 'rxjs';
2
+ export declare class TabLabelStream {
3
+ icon$?: BehaviorSubject<string | undefined>;
4
+ text$?: ReplaySubject<string>;
5
+ constructor(icon?: string, text?: string);
6
+ destroy(): void;
7
+ }
@@ -90,7 +90,7 @@ export interface InjectedTabData {
90
90
  /**
91
91
  * Reference to the parent tab view allowing some control over it from the tab content component.
92
92
  */
93
- tabViewRef: TabViewInterface;
93
+ tabViewRef: OpenedTabViewInterface;
94
94
  /**
95
95
  * `true` is emitted into this stream when the tab is switched into.
96
96
  *
@@ -133,3 +133,14 @@ export interface TabViewInterface {
133
133
  */
134
134
  closeTabUniqueId(uniqueId: string, force?: boolean): void;
135
135
  }
136
+ /**
137
+ * Update information about the label of a tab in tab view.
138
+ *
139
+ * See {@link TabContent#label} for more information.
140
+ * */
141
+ export interface OpenedTabViewInterface extends TabViewInterface {
142
+ setIcon(icon: string): any;
143
+ setText(text: string): any;
144
+ getIcon$(): Observable<string>;
145
+ getText$(): Observable<string>;
146
+ }
@@ -2,4 +2,6 @@ export * from './interfaces';
2
2
  export * from './tab-data-injection-token/tab-data-injection-token';
3
3
  export * from './tab-view/abstract-tab-view.component';
4
4
  export * from './tab-creation-detector/abstract-tab-creation-detector.component';
5
+ export * from './classes/opened-tab';
6
+ export * from './classes/tab-label-stream';
5
7
  export * from './classes/tab-view';
@@ -14,6 +14,7 @@ import { EventQueueService } from '../../event-queue/services/event-queue.servic
14
14
  import { AfterAction } from '../../utility/call-chain/after-action';
15
15
  import { ChangedFieldsService } from '../../changed-fields/services/changed-fields.service';
16
16
  import { EventService } from '../../event/services/event.service';
17
+ import { TaskEventOutcome } from '../../event/model/event-outcomes/task-outcomes/task-event-outcome';
17
18
  import * as i0 from "@angular/core";
18
19
  /**
19
20
  * Service that handles the logic of assigning a task.
@@ -70,12 +71,13 @@ export declare class AssignTaskService extends TaskHandlingService {
70
71
  /**
71
72
  * complete all action streams and send notification with selected boolean
72
73
  */
73
- protected completeActions(afterAction: AfterAction, nextEvent: AfterAction, bool: boolean): void;
74
+ protected completeActions(afterAction: AfterAction, nextEvent: AfterAction, bool: boolean, outcome?: TaskEventOutcome): void;
74
75
  /**
75
76
  * Publishes an assign notification to the {@link TaskEventService}
76
77
  * @param success whether the assign operation was successful or not
78
+ * @param outcome
77
79
  */
78
- protected sendNotification(success: boolean): void;
80
+ protected sendNotification(success: boolean, outcome?: TaskEventOutcome): void;
79
81
  static ɵfac: i0.ɵɵFactoryDeclaration<AssignTaskService, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, null]>;
80
82
  static ɵprov: i0.ɵɵInjectableDeclaration<AssignTaskService>;
81
83
  }
@@ -16,6 +16,7 @@ import { AfterAction } from '../../utility/call-chain/after-action';
16
16
  import { PermissionService } from '../../authorization/permission/permission.service';
17
17
  import { ChangedFieldsService } from '../../changed-fields/services/changed-fields.service';
18
18
  import { EventService } from '../../event/services/event.service';
19
+ import { TaskEventOutcome } from '../../event/model/event-outcomes/task-outcomes/task-event-outcome';
19
20
  import * as i0 from "@angular/core";
20
21
  /**
21
22
  * Service that handles the logic of canceling a task.
@@ -71,12 +72,13 @@ export declare class CancelTaskService extends TaskHandlingService {
71
72
  /**
72
73
  * complete all action streams and send notification with selected boolean
73
74
  */
74
- protected completeActions(afterAction: AfterAction, nextEvent: AfterAction, bool: boolean): void;
75
+ protected completeActions(afterAction: AfterAction, nextEvent: AfterAction, bool: boolean, outcome?: TaskEventOutcome): void;
75
76
  /**
76
77
  * Publishes a cancel notification to the {@link TaskEventService}
77
78
  * @param success whether the cancel operation was successful or not
79
+ * @param outcome
78
80
  */
79
- protected sendNotification(success: boolean): void;
81
+ protected sendNotification(success: boolean, outcome?: TaskEventOutcome): void;
80
82
  static ɵfac: i0.ɵɵFactoryDeclaration<CancelTaskService, [null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, null, null]>;
81
83
  static ɵprov: i0.ɵɵInjectableDeclaration<CancelTaskService>;
82
84
  }
@@ -14,6 +14,7 @@ import { EventQueueService } from '../../event-queue/services/event-queue.servic
14
14
  import { AfterAction } from '../../utility/call-chain/after-action';
15
15
  import { ChangedFieldsService } from '../../changed-fields/services/changed-fields.service';
16
16
  import { EventService } from '../../event/services/event.service';
17
+ import { TaskEventOutcome } from '../../event/model/event-outcomes/task-outcomes/task-event-outcome';
17
18
  import * as i0 from "@angular/core";
18
19
  /**
19
20
  * Service that handles the logic of delegating a task.
@@ -58,16 +59,17 @@ export declare class DelegateTaskService extends TaskHandlingService {
58
59
  /**
59
60
  * Reloads the task and emits `true` to the `afterAction` stream
60
61
  */
61
- protected completeSuccess(afterAction: AfterAction, nextEvent: AfterAction): void;
62
+ protected completeSuccess(afterAction: AfterAction, nextEvent: AfterAction, outcome?: TaskEventOutcome): void;
62
63
  /**
63
64
  * Completes all the action streams and sends the notification, with the provided result
64
65
  */
65
- protected completeActions(afterAction: AfterAction, nextEvent: AfterAction, result: boolean): void;
66
+ protected completeActions(afterAction: AfterAction, nextEvent: AfterAction, result: boolean, outcome?: TaskEventOutcome): void;
66
67
  /**
67
68
  * Publishes a delegate notification to the {@link TaskEventService}
68
69
  * @param success whether the delegate operation was successful or not
70
+ * @param outcome
69
71
  */
70
- protected sendNotification(success: boolean): void;
72
+ protected sendNotification(success: boolean, outcome?: TaskEventOutcome): void;
71
73
  static ɵfac: i0.ɵɵFactoryDeclaration<DelegateTaskService, [null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, null]>;
72
74
  static ɵprov: i0.ɵɵInjectableDeclaration<DelegateTaskService>;
73
75
  }
@@ -14,6 +14,7 @@ import { EventQueueService } from '../../event-queue/services/event-queue.servic
14
14
  import { AfterAction } from '../../utility/call-chain/after-action';
15
15
  import { ChangedFieldsService } from '../../changed-fields/services/changed-fields.service';
16
16
  import { EventService } from '../../event/services/event.service';
17
+ import { TaskEventOutcome } from '../../event/model/event-outcomes/task-outcomes/task-event-outcome';
17
18
  import * as i0 from "@angular/core";
18
19
  /**
19
20
  * Service that handles the logic of finishing a task.
@@ -68,12 +69,13 @@ export declare class FinishTaskService extends TaskHandlingService {
68
69
  /**
69
70
  * Completes all the action streams and sends the notification, with the provided result
70
71
  */
71
- protected completeActions(afterAction: AfterAction, nextEvent: AfterAction, result: boolean): void;
72
+ protected completeActions(afterAction: AfterAction, nextEvent: AfterAction, result: boolean, outcome?: TaskEventOutcome): void;
72
73
  /**
73
74
  * Publishes a finish notification to the {@link TaskEventService}
74
75
  * @param success whether the finish operation was successful or not
76
+ * @param outcome TaskEventOutcome
75
77
  */
76
- protected sendNotification(success: boolean): void;
78
+ protected sendNotification(success: boolean, outcome?: TaskEventOutcome): void;
77
79
  /**
78
80
  * Checks data size
79
81
  * @return boolean whether the task contains data or not
@@ -21,8 +21,8 @@ import { EventQueueService } from '../../event-queue/services/event-queue.servic
21
21
  import { AfterAction } from '../../utility/call-chain/after-action';
22
22
  import { UserComparatorService } from '../../user/services/user-comparator.service';
23
23
  import { TaskSetDataRequestContext } from '../models/task-set-data-request-context';
24
+ import { EventOutcomeMessageResource } from '../../resources/interface/message-resource';
24
25
  import { EventService } from '../../event/services/event.service';
25
- import { EventOutcome } from '../../resources/interface/event-outcome';
26
26
  import { ChangedFieldsService } from '../../changed-fields/services/changed-fields.service';
27
27
  import * as i0 from "@angular/core";
28
28
  /**
@@ -88,7 +88,7 @@ export declare class TaskDataService extends TaskHandlingService implements OnDe
88
88
  * @param afterAction the action that should be performed after the request is processed
89
89
  * @param nextEvent indicates to the event queue that the next event can be processed
90
90
  */
91
- protected processErroneousGetDataRequest(gottenTaskId: string, error: HttpErrorResponse, afterAction: AfterAction, nextEvent: AfterAction): void;
91
+ protected processErroneousGetDataRequest(gottenTaskId: string, error: HttpErrorResponse | Error, afterAction: AfterAction, nextEvent: AfterAction): void;
92
92
  /**
93
93
  * Collects all changed data fields and notifies the backend of the changes.
94
94
  *
@@ -125,6 +125,15 @@ export declare class TaskDataService extends TaskHandlingService implements OnDe
125
125
  * @param nextEvent indicates to the event queue that the next event can be processed
126
126
  */
127
127
  protected performSetDataRequest(setTaskId: string, body: TaskSetDataRequestBody, afterAction: AfterAction, nextEvent: AfterAction): void;
128
+ /**
129
+ * Processes a unsuccessful outcome of a `setData` request
130
+ * @param setTaskId the Id of the task whose data was set
131
+ * @param response the resulting Event outcome of the set data request
132
+ * @param afterAction the action that should be performed after the request is processed
133
+ * @param nextEvent indicates to the event queue that the next event can be processed
134
+ * @param body hold the data that was sent in request
135
+ */
136
+ protected processUnsuccessfulSetDataRequest(setTaskId: string, response: EventOutcomeMessageResource, afterAction: AfterAction, nextEvent: AfterAction, body: TaskSetDataRequestBody): void;
128
137
  /**
129
138
  * Processes a successful outcome of a `setData` request
130
139
  * @param setTaskId the Id of the task whose data was set
@@ -133,7 +142,7 @@ export declare class TaskDataService extends TaskHandlingService implements OnDe
133
142
  * @param nextEvent indicates to the event queue that the next event can be processed
134
143
  * @param body hold the data that was sent in request
135
144
  */
136
- protected processSuccessfulSetDataRequest(setTaskId: string, response: EventOutcome, afterAction: AfterAction, nextEvent: AfterAction, body: TaskSetDataRequestBody): void;
145
+ protected processSuccessfulSetDataRequest(setTaskId: string, response: EventOutcomeMessageResource, afterAction: AfterAction, nextEvent: AfterAction, body: TaskSetDataRequestBody): void;
137
146
  /**
138
147
  * Processes an erroneous outcome of a `setData` request
139
148
  * @param setTaskId the Id of the task whose data was set
@@ -1,5 +1,6 @@
1
1
  import { TaskEvent } from './task-event';
2
2
  import { Task } from '../../resources/public-api';
3
+ import { TaskEventOutcome } from '../../event/model/event-outcomes/task-outcomes/task-event-outcome';
3
4
  /**
4
5
  * Holds the information about an event that occurred to some {@link Task} resource.
5
6
  *
@@ -22,11 +23,16 @@ export interface TaskEventNotification {
22
23
  * Success state of the event
23
24
  */
24
25
  success: boolean;
26
+ /**
27
+ * The task eventOutcome from backend
28
+ */
29
+ outcome?: TaskEventOutcome;
25
30
  }
26
31
  /**
27
32
  * @param task affected Task object
28
33
  * @param event the reported Task event
29
34
  * @param success success state of the reported event
35
+ * @param outcome TaskEventOutcome
30
36
  * @returns the notification informing about the event
31
37
  */
32
- export declare function createTaskEventNotification(task: Task, event: TaskEvent, success: boolean): TaskEventNotification;
38
+ export declare function createTaskEventNotification(task: Task, event: TaskEvent, success: boolean, outcome?: TaskEventOutcome): TaskEventNotification;
@@ -121,6 +121,7 @@ export declare abstract class TaskContentService implements OnDestroy {
121
121
  * @param frontendAction the action that should be performed.
122
122
  */
123
123
  performFrontendAction(frontendAction: FrontendActions): void;
124
+ getReferencedFieldTask(field: any): string;
124
125
  private isFieldInTaskRef;
125
126
  private getReferencedTransitionId;
126
127
  private getReferencedTaskId;
@@ -3,14 +3,18 @@ import { HeaderColumn } from '../../header/models/header-column';
3
3
  import { AbstractHeaderComponent } from '../../header/abstract-header.component';
4
4
  import { AbstractSortableViewComponent } from './sortable-view';
5
5
  import { OnDestroy } from '@angular/core';
6
+ import { ActivatedRoute, Params } from '@angular/router';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare abstract class AbstractViewWithHeadersComponent implements OnDestroy {
8
9
  private _sortableView?;
10
+ protected _activatedRoute?: ActivatedRoute;
11
+ config: Params;
9
12
  protected _selectedHeaders$: ReplaySubject<Array<HeaderColumn>>;
10
- protected constructor(_sortableView?: AbstractSortableViewComponent);
13
+ protected constructor(_sortableView?: AbstractSortableViewComponent, _activatedRoute?: ActivatedRoute);
11
14
  get selectedHeaders$(): Observable<Array<HeaderColumn>>;
12
15
  protected initializeHeader(headerComponent: AbstractHeaderComponent): void;
13
16
  ngOnDestroy(): void;
17
+ showHeader(): boolean;
14
18
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractViewWithHeadersComponent, never>;
15
19
  static ɵcmp: i0.ɵɵComponentDeclaration<AbstractViewWithHeadersComponent, "ncc-abstract-view-with-headers", never, {}, {}, never, never>;
16
20
  }
@@ -7,12 +7,14 @@ import { Authority } from '../../resources/interface/authority';
7
7
  import { OverflowService } from '../../header/services/overflow.service';
8
8
  import { NewCaseCreationConfigurationData } from '../../side-menu/content-components/new-case/model/new-case-injection-data';
9
9
  import { OnDestroy } from '@angular/core';
10
+ import { ActivatedRoute } from '@angular/router';
10
11
  import * as i0 from "@angular/core";
11
12
  export declare abstract class AbstractCaseViewComponent extends AbstractViewWithHeadersComponent implements OnDestroy {
12
13
  protected _caseViewService: CaseViewService;
13
14
  protected _overflowService?: OverflowService;
14
15
  protected _authority: Array<Authority>;
15
16
  protected _newCaseCreationConfig: NewCaseCreationConfigurationData;
17
+ protected _activatedRoute?: ActivatedRoute;
16
18
  readonly MINIMAL_OFFSET = 120;
17
19
  readonly headerType: HeaderType;
18
20
  cases$: Observable<Array<Case>>;
@@ -20,13 +22,13 @@ export declare abstract class AbstractCaseViewComponent extends AbstractViewWith
20
22
  canCreate: boolean;
21
23
  authorityToCreate: Array<string>;
22
24
  protected canCreateSub: Subscription;
23
- protected constructor(_caseViewService: CaseViewService, _overflowService?: OverflowService, _authority?: Array<Authority>, _newCaseCreationConfig?: NewCaseCreationConfigurationData);
25
+ protected constructor(_caseViewService: CaseViewService, _overflowService?: OverflowService, _authority?: Array<Authority>, _newCaseCreationConfig?: NewCaseCreationConfigurationData, _activatedRoute?: ActivatedRoute);
24
26
  createNewCase(): Observable<Case>;
25
27
  abstract handleCaseClick(clickedCase: Case): void;
26
28
  hasAuthority(): boolean;
27
29
  getWidth(): string;
28
30
  getOverflowStatus(): boolean;
29
31
  ngOnDestroy(): void;
30
- static ɵfac: i0.ɵɵFactoryDeclaration<AbstractCaseViewComponent, [null, null, null, { optional: true; }]>;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractCaseViewComponent, [null, null, null, { optional: true; }, null]>;
31
33
  static ɵcmp: i0.ɵɵComponentDeclaration<AbstractCaseViewComponent, "ncc-abstract-case-view", never, {}, {}, never, never>;
32
34
  }
@@ -7,6 +7,7 @@ import { CaseViewService } from './service/case-view-service';
7
7
  import { OverflowService } from '../../header/services/overflow.service';
8
8
  import { NewCaseCreationConfigurationData } from '../../side-menu/content-components/new-case/model/new-case-injection-data';
9
9
  import { Observable } from 'rxjs';
10
+ import { ActivatedRoute } from '@angular/router';
10
11
  import * as i0 from "@angular/core";
11
12
  export interface InjectedTabbedCaseViewData extends InjectedTabData {
12
13
  tabViewComponent: Type<any>;
@@ -19,11 +20,12 @@ export declare abstract class AbstractTabbedCaseViewComponent extends AbstractCa
19
20
  protected _autoswitchToTaskTab: boolean;
20
21
  protected _openExistingTab: boolean;
21
22
  protected _newCaseCreationConfig: NewCaseCreationConfigurationData;
23
+ protected _activatedRoute?: ActivatedRoute;
22
24
  private readonly _correctlyInjected;
23
- protected constructor(caseViewService: CaseViewService, _loggerService: LoggerService, _injectedTabData: InjectedTabbedCaseViewData, _overflowService?: OverflowService, _autoswitchToTaskTab?: boolean, _openExistingTab?: boolean, _newCaseCreationConfig?: NewCaseCreationConfigurationData);
25
+ protected constructor(caseViewService: CaseViewService, _loggerService: LoggerService, _injectedTabData: InjectedTabbedCaseViewData, _overflowService?: OverflowService, _autoswitchToTaskTab?: boolean, _openExistingTab?: boolean, _newCaseCreationConfig?: NewCaseCreationConfigurationData, _activatedRoute?: ActivatedRoute);
24
26
  handleCaseClick(clickedCase: Case): void;
25
27
  createNewCase(): Observable<Case>;
26
28
  protected openTab(openCase: Case): void;
27
- static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTabbedCaseViewComponent, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTabbedCaseViewComponent, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, null]>;
28
30
  static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTabbedCaseViewComponent, "ncc-abstract-tabbed-case-view", never, {}, {}, never, never>;
29
31
  }
@@ -18,6 +18,8 @@ export * from './task-view/tabbed-task-view';
18
18
  export * from './abstract/view-with-headers';
19
19
  export * from './abstract/sortable-view';
20
20
  export * from './abstract/page-load-request-context';
21
+ export * from './case-view/models/autoswitch-token';
22
+ export * from './case-view/models/open-existing-tab-token';
21
23
  export * from './case-view/models/new-case-configuration-injection-token';
22
24
  export * from './task-view/models/injection-token-task-endpoint';
23
25
  export * from './task-view/models/task-view-configuration-injection-token';
@@ -37,3 +39,4 @@ export * from './tree-case-view/tree-component/abstract-tree.component';
37
39
  export * from './tree-case-view/tree-component/add-child-node/abstract-add-child-node.component';
38
40
  export * from './tree-case-view/tree-component/remove-node/abstract-remove-node.component';
39
41
  export * from './tree-case-view/tree-task-content/abstract-tree-task-content.component';
42
+ export * from './task-view/abstract-single-task-view.component';
@@ -0,0 +1,25 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { AbstractViewWithHeadersComponent } from '../abstract/view-with-headers';
3
+ import { Observable, Subject } from 'rxjs';
4
+ import { TaskPanelData } from '../../panel/task-panel-list/task-panel-data/task-panel-data';
5
+ import { TaskViewService } from './service/task-view.service';
6
+ import { ActivatedRoute } from '@angular/router';
7
+ import * as i0 from "@angular/core";
8
+ export declare class TaskConst {
9
+ static readonly TRANSITION_ID = "transitionId";
10
+ }
11
+ export declare abstract class AbstractSingleTaskViewComponent extends AbstractViewWithHeadersComponent implements OnDestroy {
12
+ protected taskViewService: TaskViewService;
13
+ initiallyExpanded: boolean;
14
+ preventCollapse: boolean;
15
+ task$: Observable<TaskPanelData>;
16
+ loading$: Observable<boolean>;
17
+ private transitionId;
18
+ private subRoute;
19
+ protected unsubscribe$: Subject<void>;
20
+ protected constructor(taskViewService: TaskViewService, activatedRoute: ActivatedRoute);
21
+ ngOnDestroy(): void;
22
+ private resolveTransitionTask;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSingleTaskViewComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<AbstractSingleTaskViewComponent, "ncc-abstract-single-task-view", never, { "initiallyExpanded": "initiallyExpanded"; "preventCollapse": "preventCollapse"; }, {}, never, never>;
25
+ }
@@ -3,12 +3,13 @@ import { OnDestroy } from '@angular/core';
3
3
  import { TaskPanelData } from '../../panel/task-panel-list/task-panel-data/task-panel-data';
4
4
  import { TaskViewService } from './service/task-view.service';
5
5
  import { AbstractViewWithHeadersComponent } from '../abstract/view-with-headers';
6
+ import { ActivatedRoute } from '@angular/router';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare abstract class AbstractTaskViewComponent extends AbstractViewWithHeadersComponent implements OnDestroy {
8
9
  protected taskViewService: TaskViewService;
9
10
  tasks$: Observable<Array<TaskPanelData>>;
10
11
  loading$: Observable<boolean>;
11
- protected constructor(taskViewService: TaskViewService);
12
+ protected constructor(taskViewService: TaskViewService, _activatedRoute?: ActivatedRoute);
12
13
  ngOnDestroy(): void;
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTaskViewComponent, never>;
14
15
  static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTaskViewComponent, "ncc-abstract-task-view", never, {}, {}, never, never>;
@@ -3,11 +3,12 @@ import { TaskViewService } from './service/task-view.service';
3
3
  import { OnDestroy } from '@angular/core';
4
4
  import { InjectedTabbedTaskViewData } from './models/injected-tabbed-task-view-data';
5
5
  import { Subscription } from 'rxjs';
6
+ import { ActivatedRoute } from '@angular/router';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare abstract class AbstractTabbedTaskViewComponent extends AbstractTaskViewComponent implements OnDestroy {
8
9
  protected _injectedTabData: InjectedTabbedTaskViewData;
9
10
  protected subTaskView: Subscription;
10
- protected constructor(taskViewService: TaskViewService, _injectedTabData: InjectedTabbedTaskViewData);
11
+ protected constructor(taskViewService: TaskViewService, _injectedTabData: InjectedTabbedTaskViewData, _activatedRoute?: ActivatedRoute);
11
12
  ngOnDestroy(): void;
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTabbedTaskViewComponent, never>;
13
14
  static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTabbedTaskViewComponent, "ncc-abstract-tabbed-task-view", never, {}, {}, never, never>;