@netgrif/components-core 6.4.0-beta.3 → 6.4.0-beta.5

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 (57) hide show
  1. package/esm2020/lib/actions/front-action.module.mjs +28 -0
  2. package/esm2020/lib/actions/model/front-action-definition.mjs +2 -0
  3. package/esm2020/lib/actions/model/router-action-definitions.mjs +8 -0
  4. package/esm2020/lib/actions/model/task-action-definitions.mjs +16 -0
  5. package/esm2020/lib/actions/public-api.mjs +6 -0
  6. package/esm2020/lib/actions/services/front-action.service.mjs +27 -0
  7. package/esm2020/lib/data-fields/data-fields.module.mjs +1 -1
  8. package/esm2020/lib/data-fields/models/changed-fields.mjs +1 -1
  9. package/esm2020/lib/event/model/event-constants.mjs +5 -1
  10. package/esm2020/lib/event/services/event.service.mjs +23 -1
  11. package/esm2020/lib/filter/user-filters.service.mjs +1 -1
  12. package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +45 -1
  13. package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +5 -2
  14. package/esm2020/lib/panel/task-panel-single/abstract-single-task.component.mjs +11 -5
  15. package/esm2020/lib/public/factories/public-search-factory.mjs +15 -4
  16. package/esm2020/lib/registry/front-action-registry.service.mjs +34 -0
  17. package/esm2020/lib/registry/public-api.mjs +2 -1
  18. package/esm2020/lib/resources/interface/event-outcome.mjs +1 -1
  19. package/esm2020/lib/side-menu/content-components/injection-tokens.mjs +2 -1
  20. package/esm2020/lib/side-menu/content-components/public-api.mjs +2 -1
  21. package/esm2020/lib/side-menu/content-components/task-view/model/task-view-injection-data.mjs +2 -0
  22. package/esm2020/lib/task/services/task-data.service.mjs +11 -9
  23. package/esm2020/lib/task-content/services/single-task-content.service.mjs +4 -4
  24. package/esm2020/lib/task-content/services/task-content.service.mjs +6 -21
  25. package/esm2020/lib/task-content/services/unlimited-task-content.service.mjs +4 -4
  26. package/esm2020/lib/view/task-view/abstract-single-task-view.component.mjs +18 -34
  27. package/esm2020/public-api.mjs +2 -1
  28. package/fesm2015/netgrif-components-core.mjs +623 -469
  29. package/fesm2015/netgrif-components-core.mjs.map +1 -1
  30. package/fesm2020/netgrif-components-core.mjs +623 -465
  31. package/fesm2020/netgrif-components-core.mjs.map +1 -1
  32. package/lib/actions/front-action.module.d.ts +9 -0
  33. package/lib/actions/model/front-action-definition.d.ts +5 -0
  34. package/lib/actions/model/router-action-definitions.d.ts +2 -0
  35. package/lib/actions/model/task-action-definitions.d.ts +3 -0
  36. package/lib/actions/public-api.d.ts +5 -0
  37. package/lib/actions/services/front-action.service.d.ts +15 -0
  38. package/lib/data-fields/models/changed-fields.d.ts +7 -6
  39. package/lib/event/model/event-constants.d.ts +5 -1
  40. package/lib/event/services/event.service.d.ts +3 -0
  41. package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +12 -0
  42. package/lib/panel/task-panel/abstract-task-panel.component.d.ts +2 -1
  43. package/lib/panel/task-panel-single/abstract-single-task.component.d.ts +5 -3
  44. package/lib/public/factories/public-search-factory.d.ts +3 -0
  45. package/lib/registry/front-action-registry.service.d.ts +13 -0
  46. package/lib/registry/public-api.d.ts +1 -0
  47. package/lib/resources/interface/event-outcome.d.ts +5 -0
  48. package/lib/side-menu/content-components/injection-tokens.d.ts +1 -0
  49. package/lib/side-menu/content-components/public-api.d.ts +1 -0
  50. package/lib/side-menu/content-components/task-view/model/task-view-injection-data.d.ts +4 -0
  51. package/lib/task/services/task-data.service.d.ts +4 -2
  52. package/lib/task-content/services/single-task-content.service.d.ts +2 -2
  53. package/lib/task-content/services/task-content.service.d.ts +6 -16
  54. package/lib/task-content/services/unlimited-task-content.service.d.ts +2 -2
  55. package/lib/view/task-view/abstract-single-task-view.component.d.ts +6 -5
  56. package/package.json +1 -1
  57. package/public-api.d.ts +1 -0
@@ -0,0 +1,9 @@
1
+ import { FrontActionRegistryService } from "../registry/front-action-registry.service";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export declare class FrontActionModule {
5
+ constructor(frontActionsRegistry: FrontActionRegistryService);
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<FrontActionModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FrontActionModule, never, [typeof i1.CommonModule], never>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<FrontActionModule>;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { Injector } from "@angular/core";
2
+ import { FrontAction } from "../../data-fields/models/changed-fields";
3
+ export interface FrontActionDefinition {
4
+ call: (injector: Injector, frontAction: FrontAction) => void;
5
+ }
@@ -0,0 +1,2 @@
1
+ import { FrontActionDefinition } from "./front-action-definition";
2
+ export declare const redirectAction: FrontActionDefinition;
@@ -0,0 +1,3 @@
1
+ import { FrontActionDefinition } from "./front-action-definition";
2
+ export declare const validateTaskAction: FrontActionDefinition;
3
+ export declare const reloadTaskAction: FrontActionDefinition;
@@ -0,0 +1,5 @@
1
+ export * from './front-action.module';
2
+ export * from './model/front-action-definition';
3
+ export * from './model/router-action-definitions';
4
+ export * from './model/task-action-definitions';
5
+ export * from './services/front-action.service';
@@ -0,0 +1,15 @@
1
+ import { Injector } from '@angular/core';
2
+ import { FrontActionRegistryService } from "../../registry/front-action-registry.service";
3
+ import { FrontAction } from "../../data-fields/models/changed-fields";
4
+ import { LoggerService } from "../../logger/services/logger.service";
5
+ import * as i0 from "@angular/core";
6
+ export declare class FrontActionService {
7
+ protected _injector: Injector;
8
+ protected _frontActionRegistry: FrontActionRegistryService;
9
+ protected _log: LoggerService;
10
+ constructor(_injector: Injector, _frontActionRegistry: FrontActionRegistryService, _log: LoggerService);
11
+ run(frontAction: FrontAction): void;
12
+ runAll(frontAction: FrontAction[]): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<FrontActionService, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<FrontActionService>;
15
+ }
@@ -35,10 +35,11 @@ export interface Change {
35
35
  [key: string]: Behavior;
36
36
  };
37
37
  [key: string]: any;
38
+ action?: FrontAction[];
39
+ }
40
+ export interface FrontAction {
41
+ id: string;
42
+ args: {
43
+ [k: string]: any;
44
+ };
38
45
  }
39
- /**
40
- * A prototype implementation of frontend actions.
41
- *
42
- * The specifics are subject to change.
43
- */
44
- export declare type FrontendActions = Change;
@@ -2,5 +2,9 @@ export declare enum EventConstants {
2
2
  /**
3
3
  * Changed fields parameter of {@link SetDataEventOutcome}
4
4
  */
5
- CHANGED_FIELDS = "changedFields"
5
+ CHANGED_FIELDS = "changedFields",
6
+ /**
7
+ * Front actions parameter of {@link EventOutcome}
8
+ */
9
+ FRONT_ACTIONS = "frontActions"
6
10
  }
@@ -1,10 +1,13 @@
1
1
  import { EventOutcome } from '../../resources/interface/event-outcome';
2
+ import { FrontAction } from '../../data-fields/models/changed-fields';
2
3
  import { ChangedFieldsMap } from './interfaces/changed-fields-map';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class EventService {
5
6
  constructor();
6
7
  parseChangedFieldsFromOutcomeTree(outcome: EventOutcome): ChangedFieldsMap;
7
8
  private parseChangedFieldsFromOutcomeTreeRecursive;
9
+ parseFrontActionsFromOutcomeTree(outcome: EventOutcome): Array<FrontAction>;
10
+ private parseFrontActionsFromOutcomeTreeRecursive;
8
11
  static ɵfac: i0.ɵɵFactoryDeclaration<EventService, never>;
9
12
  static ɵprov: i0.ɵɵInjectableDeclaration<EventService>;
10
13
  }
@@ -78,6 +78,10 @@ export declare abstract class AbstractNavigationDoubleDrawerComponent implements
78
78
  * List of hidden items
79
79
  * */
80
80
  moreItems: Array<NavigationItem>;
81
+ /**
82
+ * List of custom items in more menu
83
+ * */
84
+ hiddenCustomItems: Array<NavigationItem>;
81
85
  itemsOrder: MenuOrder;
82
86
  protected _breakpointSubscription: Subscription;
83
87
  protected _currentNodeSubscription: Subscription;
@@ -91,6 +95,11 @@ export declare abstract class AbstractNavigationDoubleDrawerComponent implements
91
95
  nodeLoading$: LoadingEmitter;
92
96
  protected _configLeftMenu: ConfigDoubleMenu;
93
97
  protected _configRightMenu: ConfigDoubleMenu;
98
+ protected _childCustomViews: {
99
+ [uri: string]: {
100
+ [key: string]: NavigationItem;
101
+ };
102
+ };
94
103
  protected constructor(_router: Router, _activatedRoute: ActivatedRoute, _breakpoint: BreakpointObserver, _languageService: LanguageService, _translateService: TranslateService, _userService: UserService, _accessService: AccessService, _log: LoggerService, _config: ConfigurationService, _uriService: UriService, _impersonationUserSelect: ImpersonationUserSelectService, _impersonation: ImpersonationService, _dynamicRoutingService: DynamicNavigationRouteProviderService);
95
104
  ngOnInit(): void;
96
105
  get currentNode(): UriNodeResource;
@@ -128,6 +137,7 @@ export declare abstract class AbstractNavigationDoubleDrawerComponent implements
128
137
  loadMoreItems(): void;
129
138
  isAscending(): boolean;
130
139
  switchOrder(): void;
140
+ protected resolveCustomViewsInRightSide(): void;
131
141
  protected resolveItemCaseToNavigationItem(itemCase: Case): NavigationItem | undefined;
132
142
  private getTranslation;
133
143
  protected resolveAccessRoles(filter: Case, roleType: string): Array<RoleAccess> | undefined;
@@ -142,6 +152,8 @@ export declare abstract class AbstractNavigationDoubleDrawerComponent implements
142
152
  uriNodeTrackBy(index: number, node: UriNodeResource): string;
143
153
  itemsTrackBy(index: number, item: NavigationItem): string;
144
154
  onResizeEvent(event: ResizeEvent): void;
155
+ protected resolveUriForChildViews(configPath: string, childView: View): void;
156
+ protected resolveHiddenMenuItemFromChildViews(configPath: string, childView: View): void;
145
157
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractNavigationDoubleDrawerComponent, never>;
146
158
  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"; "includeImpersonation": "includeImpersonation"; "allClosable": "allClosable"; "folderIcon": "folderIcon"; "openedFolderIcon": "openedFolderIcon"; "filterIcon": "filterIcon"; "foldersCategoryName": "foldersCategoryName"; "viewsCategoryName": "viewsCategoryName"; }, {}, never, never>;
147
159
  }
@@ -67,6 +67,7 @@ export declare abstract class AbstractTaskPanelComponent extends AbstractPanelWi
67
67
  responsiveBody: boolean;
68
68
  preventCollapse: boolean;
69
69
  hidePanelHeader: boolean;
70
+ hideActionRow: boolean;
70
71
  actionButtonTemplates: Array<TemplateRef<any>>;
71
72
  actionRowJustifyContent: 'space-between' | 'flex-start' | 'flex-end' | 'center' | 'space-around' | 'initial' | 'start' | 'end' | 'left' | 'right' | 'revert' | 'inherit' | 'unset';
72
73
  showMoreMenu: boolean;
@@ -120,5 +121,5 @@ export declare abstract class AbstractTaskPanelComponent extends AbstractPanelWi
120
121
  isForceOpen(): boolean;
121
122
  getContentMinHeight(): string;
122
123
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTaskPanelComponent, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, null, null, null, null, { optional: true; }, { optional: true; }]>;
123
- static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTaskPanelComponent, "ncc-abstract-legal-notice", never, { "taskListVirtualScroll": "taskListVirtualScroll"; "panelContentComponent": "panelContentComponent"; "selectedHeaders$": "selectedHeaders$"; "first": "first"; "last": "last"; "responsiveBody": "responsiveBody"; "preventCollapse": "preventCollapse"; "hidePanelHeader": "hidePanelHeader"; "actionButtonTemplates": "actionButtonTemplates"; "actionRowJustifyContent": "actionRowJustifyContent"; "showMoreMenu": "showMoreMenu"; "forceLoadDataOnOpen": "forceLoadDataOnOpen"; "textEllipsis": "textEllipsis"; "taskPanelData": "taskPanelData"; }, { "taskEvent": "taskEvent"; "panelRefOutput": "panelRefOutput"; }, never, never>;
124
+ static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTaskPanelComponent, "ncc-abstract-legal-notice", never, { "taskListVirtualScroll": "taskListVirtualScroll"; "panelContentComponent": "panelContentComponent"; "selectedHeaders$": "selectedHeaders$"; "first": "first"; "last": "last"; "responsiveBody": "responsiveBody"; "preventCollapse": "preventCollapse"; "hidePanelHeader": "hidePanelHeader"; "hideActionRow": "hideActionRow"; "actionButtonTemplates": "actionButtonTemplates"; "actionRowJustifyContent": "actionRowJustifyContent"; "showMoreMenu": "showMoreMenu"; "forceLoadDataOnOpen": "forceLoadDataOnOpen"; "textEllipsis": "textEllipsis"; "taskPanelData": "taskPanelData"; }, { "taskEvent": "taskEvent"; "panelRefOutput": "panelRefOutput"; }, never, never>;
124
125
  }
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
2
- import { Observable, Subject } from 'rxjs';
2
+ import { Observable } from 'rxjs';
3
3
  import { TaskPanelData } from '../task-panel-list/task-panel-data/task-panel-data';
4
4
  import { MatExpansionPanel } from '@angular/material/expansion';
5
5
  import { HeaderColumn } from '../../header/models/header-column';
@@ -11,7 +11,6 @@ import * as i0 from "@angular/core";
11
11
  export declare abstract class AbstractSingleTaskComponent implements OnDestroy {
12
12
  protected _log: LoggerService;
13
13
  protected _route: ActivatedRoute;
14
- protected _unsubscribe$: Subject<void>;
15
14
  protected _taskPanelRef: MatExpansionPanel;
16
15
  task$: Observable<TaskPanelData>;
17
16
  loading$: Observable<boolean>;
@@ -21,9 +20,12 @@ export declare abstract class AbstractSingleTaskComponent implements OnDestroy {
21
20
  textEllipsis: boolean;
22
21
  preventCollapse: boolean;
23
22
  hidePanelHeader: boolean;
23
+ hideActionRow: boolean;
24
24
  noTaskSection: TemplateRef<any>;
25
25
  pageHeader: TemplateRef<any>;
26
26
  pageFooter: TemplateRef<any>;
27
+ showPageHeader: boolean;
28
+ showPageFooter: boolean;
27
29
  headerTitle: string;
28
30
  footerText: string;
29
31
  actionButtonTemplates: Array<TemplateRef<any>>;
@@ -39,5 +41,5 @@ export declare abstract class AbstractSingleTaskComponent implements OnDestroy {
39
41
  */
40
42
  emitTaskEvent(event: TaskEventNotification): void;
41
43
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSingleTaskComponent, [null, null, { optional: true; }]>;
42
- 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"; "noTaskSection": "noTaskSection"; "pageHeader": "pageHeader"; "pageFooter": "pageFooter"; "headerTitle": "headerTitle"; "footerText": "footerText"; "actionButtonTemplates": "actionButtonTemplates"; "actionRowJustifyContent": "actionRowJustifyContent"; }, { "taskEvent": "taskEvent"; }, never, never>;
44
+ 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"; "hideActionRow": "hideActionRow"; "noTaskSection": "noTaskSection"; "pageHeader": "pageHeader"; "pageFooter": "pageFooter"; "showPageHeader": "showPageHeader"; "showPageFooter": "showPageFooter"; "headerTitle": "headerTitle"; "footerText": "footerText"; "actionButtonTemplates": "actionButtonTemplates"; "actionRowJustifyContent": "actionRowJustifyContent"; }, { "taskEvent": "taskEvent"; }, never, never>;
43
45
  }
@@ -5,6 +5,9 @@ import { SnackBarService } from '../../snack-bar/services/snack-bar.service';
5
5
  import { SimpleFilter } from '../../filter/models/simple-filter';
6
6
  import { TranslateService } from '@ngx-translate/core';
7
7
  import { PublicTaskLoadingService } from '../../view/task-view/service/public-task-loading.service';
8
+ export declare const CASE_ID = "caseId";
9
+ export declare const PETRI_NET_ID = "petriNetId";
10
+ export declare const TRANSITION_ID = "transitionId";
8
11
  export declare const publicBaseFilterFactory: (router: Router, route: ActivatedRoute, process: ProcessService, caseResourceService: CaseResourceService, snackBarService: SnackBarService, translate: TranslateService, publicTaskLoadingService: PublicTaskLoadingService) => {
9
12
  filter: SimpleFilter;
10
13
  };
@@ -0,0 +1,13 @@
1
+ import { FrontActionDefinition } from "../actions/model/front-action-definition";
2
+ import * as i0 from "@angular/core";
3
+ export declare class FrontActionRegistryService {
4
+ private _registry;
5
+ constructor();
6
+ get registry(): Map<string, FrontActionDefinition>;
7
+ set registry(value: Map<string, FrontActionDefinition>);
8
+ register(key: string, fn: FrontActionDefinition): void;
9
+ contains(key: string): boolean;
10
+ get(key: string): FrontActionDefinition;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<FrontActionRegistryService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<FrontActionRegistryService>;
13
+ }
@@ -1 +1,2 @@
1
1
  export * from './component-registry.service';
2
+ export * from './front-action-registry.service';
@@ -1,3 +1,4 @@
1
+ import { FrontAction } from "../../data-fields/models/changed-fields";
1
2
  export interface EventOutcome {
2
3
  /**
3
4
  * Message associated with triggered event, defined in petri net xml file.
@@ -7,4 +8,8 @@ export interface EventOutcome {
7
8
  * Array of event outcomes, result of events that were triggered by parent event
8
9
  */
9
10
  outcomes?: Array<EventOutcome>;
11
+ /**
12
+ * Array of front actions
13
+ */
14
+ frontActions?: Array<FrontAction>;
10
15
  }
@@ -8,3 +8,4 @@ export declare const NAE_SAVE_FILTER_COMPONENT: InjectionToken<ComponentType<unk
8
8
  export declare const NAE_LOAD_FILTER_COMPONENT: InjectionToken<ComponentType<unknown>>;
9
9
  export declare const NAE_USER_IMPERSONATE_COMPONENT: InjectionToken<ComponentType<unknown>>;
10
10
  export declare const NAE_ADMIN_IMPERSONATE_COMPONENT: InjectionToken<ComponentType<unknown>>;
11
+ export declare const NAE_TASK_VIEW_COMPONENT: InjectionToken<ComponentType<unknown>>;
@@ -21,3 +21,4 @@ export * from './load-filter/model/load-filter-injection-data';
21
21
  export * from './injection-tokens';
22
22
  export * from './new-case/model/new-case-injection-data';
23
23
  export * from './user-impersonate/model/user-impersonate-injection-data';
24
+ export * from './task-view/model/task-view-injection-data';
@@ -0,0 +1,4 @@
1
+ import { SideMenuInjectionData } from "../../../models/side-menu-injection-data";
2
+ export interface TaskViewInjectionData extends SideMenuInjectionData {
3
+ taskIds: string[];
4
+ }
@@ -24,6 +24,7 @@ import { TaskSetDataRequestContext } from '../models/task-set-data-request-conte
24
24
  import { EventOutcomeMessageResource } from '../../resources/interface/message-resource';
25
25
  import { EventService } from '../../event/services/event.service';
26
26
  import { ChangedFieldsService } from '../../changed-fields/services/changed-fields.service';
27
+ import { FrontActionService } from "../../actions/services/front-action.service";
27
28
  import * as i0 from "@angular/core";
28
29
  /**
29
30
  * Handles the loading and updating of data fields and behaviour of
@@ -43,9 +44,10 @@ export declare class TaskDataService extends TaskHandlingService implements OnDe
43
44
  protected _userComparator: UserComparatorService;
44
45
  protected _eventService: EventService;
45
46
  protected _changedFieldsService: ChangedFieldsService;
47
+ protected _frontActionService: FrontActionService;
46
48
  protected _updateSuccess$: Subject<boolean>;
47
49
  protected _dataReloadSubscription: Subscription;
48
- constructor(_taskState: TaskRequestStateService, _translate: TranslateService, _log: LoggerService, _snackBar: SnackBarService, _taskResourceService: TaskResourceService, _fieldConverterService: FieldConverterService, _taskEvent: TaskEventService, _taskOperations: TaskOperations, _selectedCaseService: SelectedCaseService, _taskContentService: TaskContentService, _afterActionFactory: CallChainService, _eventQueue: EventQueueService, _userComparator: UserComparatorService, _eventService: EventService, _changedFieldsService: ChangedFieldsService);
50
+ constructor(_taskState: TaskRequestStateService, _translate: TranslateService, _log: LoggerService, _snackBar: SnackBarService, _taskResourceService: TaskResourceService, _fieldConverterService: FieldConverterService, _taskEvent: TaskEventService, _taskOperations: TaskOperations, _selectedCaseService: SelectedCaseService, _taskContentService: TaskContentService, _afterActionFactory: CallChainService, _eventQueue: EventQueueService, _userComparator: UserComparatorService, _eventService: EventService, _changedFieldsService: ChangedFieldsService, _frontActionService: FrontActionService);
49
51
  ngOnDestroy(): void;
50
52
  /**
51
53
  * Contains information about the success or failure of backend
@@ -185,6 +187,6 @@ export declare class TaskDataService extends TaskHandlingService implements OnDe
185
187
  protected sendNotification(event: TaskEvent.GET_DATA | TaskEvent.SET_DATA, success: boolean): void;
186
188
  private revertToPreviousValue;
187
189
  private clearWaitingForResponseFlag;
188
- static ɵfac: i0.ɵɵFactoryDeclaration<TaskDataService, [null, null, null, null, null, null, null, null, { optional: true; }, null, null, null, null, null, null]>;
190
+ static ɵfac: i0.ɵɵFactoryDeclaration<TaskDataService, [null, null, null, null, null, null, null, null, { optional: true; }, null, null, null, null, null, null, null]>;
189
191
  static ɵprov: i0.ɵɵInjectableDeclaration<TaskDataService>;
190
192
  }
@@ -1,4 +1,4 @@
1
- import { OnDestroy } from '@angular/core';
1
+ import { Injector, OnDestroy } from '@angular/core';
2
2
  import { TaskContentService } from './task-content.service';
3
3
  import { FieldConverterService } from './field-converter.service';
4
4
  import { SnackBarService } from '../../snack-bar/services/snack-bar.service';
@@ -20,7 +20,7 @@ export declare class SingleTaskContentService extends TaskContentService impleme
20
20
  * `bufferSize` of the `ReplaySubject` instance is set to 1.
21
21
  */
22
22
  protected _task$: ReplaySubject<Task>;
23
- constructor(_fieldConverterService: FieldConverterService, _snackBarService: SnackBarService, _translate: TranslateService, _logger: LoggerService);
23
+ constructor(_fieldConverterService: FieldConverterService, _snackBarService: SnackBarService, _translate: TranslateService, _logger: LoggerService, _injector: Injector);
24
24
  /**
25
25
  * @returns the Task object if set and `undefined` otherwise
26
26
  */
@@ -5,7 +5,7 @@ import { Task } from '../../resources/interface/task';
5
5
  import { LoggerService } from '../../logger/services/logger.service';
6
6
  import { SnackBarService } from '../../snack-bar/services/snack-bar.service';
7
7
  import { TranslateService } from '@ngx-translate/core';
8
- import { ChangedFields, FrontendActions } from '../../data-fields/models/changed-fields';
8
+ import { Change, ChangedFields } from '../../data-fields/models/changed-fields';
9
9
  import { FieldConverterService } from './field-converter.service';
10
10
  import { TaskEventOutcome } from '../../event/model/event-outcomes/task-outcomes/task-event-outcome';
11
11
  import { DataField } from '../../data-fields/models/abstract-data-field';
@@ -24,12 +24,12 @@ export declare abstract class TaskContentService implements OnDestroy {
24
24
  protected _snackBarService: SnackBarService;
25
25
  protected _translate: TranslateService;
26
26
  protected _logger: LoggerService;
27
- private static readonly FRONTEND_ACTIONS_KEY;
28
- private static readonly VALIDATE_FRONTEND_ACTION;
27
+ static readonly FRONTEND_ACTIONS_KEY = "_frontend_actions";
28
+ static readonly ACTION = "action";
29
29
  $shouldCreate: ReplaySubject<Array<DataGroup>>;
30
30
  $shouldCreateCounter: BehaviorSubject<number>;
31
31
  protected _task: Task;
32
- protected _taskDataReloadRequest$: Subject<FrontendActions>;
32
+ protected _taskDataReloadRequest$: Subject<Change>;
33
33
  protected _isExpanding$: BehaviorSubject<boolean>;
34
34
  private _taskFieldsIndex;
35
35
  private _referencedTaskAndCaseIds;
@@ -53,7 +53,7 @@ export declare abstract class TaskContentService implements OnDestroy {
53
53
  /**
54
54
  * Stream that emits every time a data reload is requested.
55
55
  */
56
- get taskDataReloadRequest$(): Observable<FrontendActions>;
56
+ get taskDataReloadRequest$(): Observable<Change>;
57
57
  get taskFieldsIndex(): {
58
58
  [p: string]: TaskFields;
59
59
  };
@@ -87,7 +87,7 @@ export declare abstract class TaskContentService implements OnDestroy {
87
87
  * A snackbar will also be displayed to the user, informing them of the fact that the fields are invalid.
88
88
  * @returns whether the task is valid or not
89
89
  */
90
- validateTaskData(): boolean;
90
+ validateTaskData(taskId?: string): boolean;
91
91
  /**
92
92
  * Finds invalid data of task
93
93
  *
@@ -111,16 +111,6 @@ export declare abstract class TaskContentService implements OnDestroy {
111
111
  updateFromChangedFields(chFields: ChangedFields): void;
112
112
  private updateField;
113
113
  private updateReferencedField;
114
- /**
115
- * Performs the specific frontend action.
116
- *
117
- * A prototype implementation of frontend actions.
118
- *
119
- * The specifics are subject to change. It is very likely that this method will be moved to a different service.
120
- *
121
- * @param frontendAction the action that should be performed.
122
- */
123
- performFrontendAction(frontendAction: FrontendActions): void;
124
114
  private isFieldInTask;
125
115
  private getReferencedTaskId;
126
116
  private getReferencedTransitionId;
@@ -1,4 +1,4 @@
1
- import { OnDestroy } from '@angular/core';
1
+ import { Injector, OnDestroy } from '@angular/core';
2
2
  import { TaskContentService } from './task-content.service';
3
3
  import { Observable, ReplaySubject } from 'rxjs';
4
4
  import { Task } from '../../resources/interface/task';
@@ -20,7 +20,7 @@ export declare class UnlimitedTaskContentService extends TaskContentService impl
20
20
  * `bufferSize` of the `ReplaySubject` instance is set to 1.
21
21
  */
22
22
  protected _task$: ReplaySubject<Task>;
23
- constructor(_fieldConverterService: FieldConverterService, _snackBarService: SnackBarService, _translate: TranslateService, _logger: LoggerService);
23
+ constructor(_fieldConverterService: FieldConverterService, _snackBarService: SnackBarService, _translate: TranslateService, _logger: LoggerService, _injector: Injector);
24
24
  /**
25
25
  * @returns the Task object if set and `undefined` otherwise
26
26
  */
@@ -1,29 +1,30 @@
1
1
  import { EventEmitter, OnDestroy } from '@angular/core';
2
2
  import { AbstractViewWithHeadersComponent } from '../abstract/view-with-headers';
3
- import { Observable, ReplaySubject, Subscription } from 'rxjs';
3
+ import { Observable, Subscription } from 'rxjs';
4
4
  import { TaskPanelData } from '../../panel/task-panel-list/task-panel-data/task-panel-data';
5
5
  import { TaskViewService } from './service/task-view.service';
6
6
  import { ActivatedRoute } from '@angular/router';
7
- import { AsyncPipe } from "@angular/common";
7
+ import { BaseFilter } from "../../search/models/base-filter";
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class TaskConst {
10
10
  static readonly TRANSITION_ID = "transitionId";
11
11
  }
12
12
  export declare abstract class AbstractSingleTaskViewComponent extends AbstractViewWithHeadersComponent implements OnDestroy {
13
13
  protected taskViewService: TaskViewService;
14
+ protected baseFilter: BaseFilter;
14
15
  initiallyExpanded: boolean;
15
16
  preventCollapse: boolean;
16
17
  noTaskPresent: EventEmitter<void>;
17
- taskPanelData: ReplaySubject<TaskPanelData>;
18
+ taskPanelData: Observable<TaskPanelData>;
18
19
  loading$: Observable<boolean>;
19
20
  private transitionId;
20
21
  private subRoute;
21
22
  protected subPanelData: Subscription | undefined;
22
23
  protected subLoading: Subscription | undefined;
23
- protected constructor(taskViewService: TaskViewService, activatedRoute: ActivatedRoute, async: AsyncPipe);
24
+ protected constructor(taskViewService: TaskViewService, activatedRoute: ActivatedRoute, baseFilter: BaseFilter);
24
25
  ngOnDestroy(): void;
25
26
  get task$(): Observable<TaskPanelData>;
26
- private resolveTransitionTask;
27
+ private isTaskMatchingFilter;
27
28
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSingleTaskViewComponent, never>;
28
29
  static ɵcmp: i0.ɵɵComponentDeclaration<AbstractSingleTaskViewComponent, "ncc-abstract-single-task-view", never, { "initiallyExpanded": "initiallyExpanded"; "preventCollapse": "preventCollapse"; }, { "noTaskPresent": "noTaskPresent"; }, never, never>;
29
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netgrif/components-core",
3
- "version": "6.4.0-beta.3",
3
+ "version": "6.4.0-beta.5",
4
4
  "description": "Netgrif Application engine frontend core Angular library",
5
5
  "homepage": "https://components.netgrif.com",
6
6
  "license": "SEE LICENSE IN LICENSE",
package/public-api.d.ts CHANGED
@@ -39,3 +39,4 @@ export * from './lib/changed-fields/public-api';
39
39
  export * from './lib/event/public-api';
40
40
  export * from './lib/impersonation/public-api';
41
41
  export * from './lib/registry/public-api';
42
+ export * from './lib/actions/public-api';