nuxeo-development-framework 6.1.1 → 6.1.2

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 (32) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +793 -638
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +1 -1
  4. package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +2 -2
  5. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +32 -16
  6. package/esm2015/lib/components/reports/ndf-reports/models/common.js +1 -1
  7. package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
  8. package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
  9. package/esm2015/lib/components/reports/ndf-reports/pipes/check-condition.pipe.js +4 -4
  10. package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +26 -31
  11. package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +16 -21
  12. package/esm2015/lib/components/reports/ndf-reports/services/reports-hooks.service.js +34 -1
  13. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +116 -102
  14. package/esm2015/lib/components/tables/dynamic-table/public-api.js +3 -2
  15. package/esm2015/lib/components/tables/dynamic-table/services/table-hooks.service.js +56 -0
  16. package/esm2015/lib/shared/services/base/base.service.js +9 -10
  17. package/fesm2015/nuxeo-development-framework.js +519 -415
  18. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  19. package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +1 -1
  20. package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +9 -3
  21. package/lib/components/reports/ndf-reports/models/common.d.ts +9 -1
  22. package/lib/components/reports/ndf-reports/models/dynamic-line.d.ts +4 -5
  23. package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +1 -0
  24. package/lib/components/reports/ndf-reports/pipes/check-condition.pipe.d.ts +2 -2
  25. package/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.d.ts +4 -2
  26. package/lib/components/reports/ndf-reports/services/ndf-reports.service.d.ts +6 -6
  27. package/lib/components/reports/ndf-reports/services/reports-hooks.service.d.ts +15 -3
  28. package/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.d.ts +23 -9
  29. package/lib/components/tables/dynamic-table/public-api.d.ts +2 -1
  30. package/lib/components/tables/dynamic-table/services/table-hooks.service.d.ts +13 -0
  31. package/lib/shared/services/base/base.service.d.ts +4 -2
  32. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { Injector } from '@angular/core';
2
- import { GraphChartComponent } from '../../charts-components';
3
2
  import { BaseGraphReport } from '../../base/base-graph.report';
3
+ import { GraphChartComponent } from '../../charts-components';
4
4
  import { DynamicLineChart, DynamicLineChartDefinition, TimeGroups } from '../../models';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class DynamicTimelineReportComponent extends BaseGraphReport<DynamicLineChartDefinition, DynamicLineChart> {
@@ -8,7 +8,7 @@ import { DestroySubject, FluidHeightDirective } from '../../../../../shared';
8
8
  import { AggregationResponse, FilterQueryService, FiltersMapperService, FormQueryModel } from '../../../../ndf-filters';
9
9
  import { NdfTableConfig } from '../../../../tables';
10
10
  import { CriteriaModel, NdfReportsConfig, ReportConfigModel } from '../../models';
11
- import { ChartManagerService, NdfReportsService, ReportConfigurationService, ReportsStateService, ReportTransformService } from '../../services';
11
+ import { ChartManagerService, NdfReportsService, ReportConfigurationService, ReportsHooksService, ReportsStateService, ReportTransformService } from '../../services';
12
12
  import * as i0 from "@angular/core";
13
13
  export declare const slideAnimation: import("@angular/animations").AnimationTriggerMetadata;
14
14
  export declare class NdfReportsComponent extends DestroySubject implements OnInit, OnDestroy, OnChanges {
@@ -23,6 +23,7 @@ export declare class NdfReportsComponent extends DestroySubject implements OnIni
23
23
  private _configurationService;
24
24
  private _router;
25
25
  private _ngZone;
26
+ private _reportsHooksService;
26
27
  fluidDirective: FluidHeightDirective;
27
28
  _isHeightUpdated: boolean;
28
29
  direction: Direction;
@@ -46,6 +47,7 @@ export declare class NdfReportsComponent extends DestroySubject implements OnIni
46
47
  }[];
47
48
  } & Record<string, any>;
48
49
  }>;
50
+ private readonly _triggerFiltersSub;
49
51
  private readonly _detailsFiltersSubject;
50
52
  readonly detailsFiltersParams$: Observable<{
51
53
  params?: Record<string, any>;
@@ -72,6 +74,7 @@ export declare class NdfReportsComponent extends DestroySubject implements OnIni
72
74
  reportsKey: string;
73
75
  editorType: "report";
74
76
  navigateRoute: string[];
77
+ loadCondition: (...args: any[]) => boolean;
75
78
  private _isConfigChanged;
76
79
  private _config;
77
80
  set config(config: NdfReportsConfig);
@@ -81,8 +84,11 @@ export declare class NdfReportsComponent extends DestroySubject implements OnIni
81
84
  headerPanelTemplate: TemplateRef<any>;
82
85
  emptyContentTemplate: TemplateRef<any>;
83
86
  trackByFn: (_: number, report: ReportConfigModel) => string | number;
84
- constructor(_translateService: TranslateService, _filtersMapper: FiltersMapperService, _ndfReportsService: NdfReportsService, _chartHelperService: ChartManagerService, _transformService: ReportTransformService, _cdr: ChangeDetectorRef, _filterQueryService: FilterQueryService, _stateService: ReportsStateService, _configurationService: ReportConfigurationService, _router: Router, _ngZone: NgZone);
87
+ constructor(_translateService: TranslateService, _filtersMapper: FiltersMapperService, _ndfReportsService: NdfReportsService, _chartHelperService: ChartManagerService, _transformService: ReportTransformService, _cdr: ChangeDetectorRef, _filterQueryService: FilterQueryService, _stateService: ReportsStateService, _configurationService: ReportConfigurationService, _router: Router, _ngZone: NgZone, _reportsHooksService: ReportsHooksService);
85
88
  ngOnInit(): void;
89
+ triggerUpdate: () => void;
90
+ resetFilters: () => void;
91
+ callLoadCondition(): boolean;
86
92
  ngOnChanges(changes: SimpleChanges): void;
87
93
  onNavigate(data: {
88
94
  report: Record<string, any>;
@@ -111,5 +117,5 @@ export declare class NdfReportsComponent extends DestroySubject implements OnIni
111
117
  private _initReportsConfig;
112
118
  private _resetQueryAndFiltersCriteria;
113
119
  static ɵfac: i0.ɵɵFactoryDeclaration<NdfReportsComponent, never>;
114
- static ɵcmp: i0.ɵɵComponentDeclaration<NdfReportsComponent, "app-ndf-reports", never, { "jsonEditorEnabled": "jsonEditorEnabled"; "reportsKey": "reportsKey"; "navigateRoute": "navigateRoute"; "config": "config"; }, { "onQueryChange": "onQueryChange"; }, ["filterCustomTemplate", "headerPanelTemplate", "emptyContentTemplate"], never>;
120
+ static ɵcmp: i0.ɵɵComponentDeclaration<NdfReportsComponent, "app-ndf-reports", never, { "jsonEditorEnabled": "jsonEditorEnabled"; "reportsKey": "reportsKey"; "navigateRoute": "navigateRoute"; "loadCondition": "loadCondition"; "config": "config"; }, { "onQueryChange": "onQueryChange"; }, ["filterCustomTemplate", "headerPanelTemplate", "emptyContentTemplate"], never>;
115
121
  }
@@ -1,6 +1,7 @@
1
+ import { OperatorValueObject } from '../../../ndf-filters/models/operator-value-object';
1
2
  import { CustomChartOptions } from '../../charts/models';
2
3
  import { CHARTS_TYPES, TIME_GROUPS } from '../constants';
3
- import { OperatorValueObject } from '../../../ndf-filters/models/operator-value-object';
4
+ import { NdfReportsRequest } from './request';
4
5
  export declare type ChartTypes = (typeof CHARTS_TYPES)[keyof typeof CHARTS_TYPES];
5
6
  export declare type TimeGroups = (typeof TIME_GROUPS)[keyof typeof TIME_GROUPS];
6
7
  declare type BaseChartType<Key extends ChartTypes> = Key extends (typeof CHARTS_TYPES)['verticalBar'] | (typeof CHARTS_TYPES)['horizontalBar'] ? 'bar' : Key;
@@ -17,4 +18,11 @@ export declare type CriteriaModel = {
17
18
  }[];
18
19
  } & Record<string, any>;
19
20
  } | null;
21
+ export declare type ActionHookRequest = {
22
+ request: NdfReportsRequest;
23
+ data: {
24
+ params: Record<string, any>;
25
+ payload: Record<string, any>;
26
+ };
27
+ };
20
28
  export {};
@@ -1,11 +1,10 @@
1
1
  import { ChartDataset, Plugin } from 'chart.js';
2
+ import { CustomChartOptions } from '../../charts';
2
3
  import { BaseReportConfig } from './base';
4
+ import { TimeGroups } from './common';
3
5
  import { GraphDialogConfig } from './graph-definition';
4
- import { NdfReportsRequest } from './request';
5
6
  import { ReportDataSource } from './report-data-source';
6
- import { TimeGroups } from './common';
7
- import { CustomChartOptions } from '../../charts';
8
- import { EvaluatedString } from '../../../../shared';
7
+ import { NdfReportsRequest } from './request';
9
8
  /**
10
9
  * Base configuration for chart reports that include dialog options
11
10
  */
@@ -38,7 +37,7 @@ export declare type DynamicLineChartDefinition = ReportChartConfig & {
38
37
  print?: boolean;
39
38
  request: NdfReportsRequest & {
40
39
  actions?: {
41
- beforeSubmit?: EvaluatedString<'payload'>;
40
+ beforeSubmit?: string;
42
41
  };
43
42
  };
44
43
  datasource: ({
@@ -16,6 +16,7 @@ export declare type NdfReportsFilters = {
16
16
  visible?: boolean;
17
17
  togglePanel?: boolean;
18
18
  reload?: NdfReportsFiltersReloadConfig;
19
+ condition?: EvaluatedString;
19
20
  };
20
21
  export declare type ReportsDefinition = {
21
22
  condition?: EvaluatedString;
@@ -1,8 +1,8 @@
1
1
  import { PipeTransform } from '@angular/core';
2
- import { NdfReportsConfig, ReportsDefinition } from '../models';
2
+ import { NdfReportsConfig } from '../models';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CheckConditionPipe implements PipeTransform {
5
- transform(activeQuery: Record<string, any>, reports: ReportsDefinition, config: NdfReportsConfig): boolean;
5
+ transform(activeQuery: Record<string, any>, condition: string, config: NdfReportsConfig): boolean;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckConditionPipe, never>;
7
7
  static ɵpipe: i0.ɵɵPipeDeclaration<CheckConditionPipe, "checkCondition">;
8
8
  }
@@ -1,15 +1,17 @@
1
1
  import { CriteriaModel, DynamicLineChart, TimeGroups } from '../models';
2
- import { NdfReportsService } from './index';
2
+ import { NdfReportsService } from './ndf-reports.service';
3
+ import { ReportsHooksService } from './reports-hooks.service';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class DynamicTimelineReportService {
5
6
  private _ndfReportsService;
7
+ private _reportsHooksService;
6
8
  _isInitialized: boolean;
7
9
  isLoadingResult: boolean;
8
10
  private readonly _selectedGroupSub;
9
11
  selectedGroup$: import("rxjs").Observable<TimeGroups>;
10
12
  private readonly _rebuildTriggerSub;
11
13
  rebuild$: import("rxjs").Observable<boolean>;
12
- constructor(_ndfReportsService: NdfReportsService);
14
+ constructor(_ndfReportsService: NdfReportsService, _reportsHooksService: ReportsHooksService);
13
15
  payload: CriteriaModel;
14
16
  changeGroup(group: TimeGroups): void;
15
17
  rebuild(): void;
@@ -1,9 +1,7 @@
1
1
  import { Injector } from '@angular/core';
2
- import { ApiResponseModel } from '../../../../core/models';
3
2
  import { BaseService } from '../../../../shared/services';
4
3
  import { NdfReportsRequest } from '../models';
5
4
  import { ReportsDataTransformers } from './reports-data-transformers.service';
6
- import { ReportsHooksService } from './reports-hooks.service';
7
5
  import * as i0 from "@angular/core";
8
6
  export declare type predicateListValue = {
9
7
  name: string;
@@ -21,12 +19,14 @@ export declare type ReportBeforeSubmitPayload = CriteriaType & {
21
19
  };
22
20
  export declare class NdfReportsService extends BaseService {
23
21
  private _reportsDataTransformers;
24
- private _reportsHooksService;
25
- constructor(injector: Injector, _reportsDataTransformers: ReportsDataTransformers, _reportsHooksService: ReportsHooksService);
26
- getData(request: NdfReportsRequest, criteria?: CriteriaType): import("rxjs").Observable<ApiResponseModel<Record<string, any>>>;
22
+ constructor(injector: Injector, _reportsDataTransformers: ReportsDataTransformers);
23
+ getData(request: NdfReportsRequest, criteria?: Record<string, any>): import("rxjs").Observable<any>;
27
24
  private _query;
28
25
  private _customQuery;
29
- private _prepareRequest;
26
+ prepareRequest(request: NdfReportsRequest, criteria: CriteriaType): {
27
+ params: Record<string, any>;
28
+ payload: any;
29
+ };
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<NdfReportsService, never>;
31
31
  static ɵprov: i0.ɵɵInjectableDeclaration<NdfReportsService>;
32
32
  }
@@ -1,12 +1,24 @@
1
+ import { ActionHookRequest } from '../models';
1
2
  import * as i0 from "@angular/core";
2
- export declare type BeforeSubmitHook<T> = (payload: T) => T | Promise<T>;
3
+ export declare type ReportsBeforeSubmitHook<T> = (payload: T) => T | Promise<T>;
4
+ export declare type ReportsActionContext = {
5
+ config: Record<string, any>;
6
+ criteria: Record<string, any>;
7
+ request: ActionHookRequest['request'];
8
+ data: ActionHookRequest['data'];
9
+ };
10
+ export declare type ReportsAction<T = ActionHookRequest> = (context: ReportsActionContext) => T | Promise<T>;
3
11
  export declare class ReportsHooksService {
4
12
  private beforeSubmitHooks;
5
- registerBeforeSubmit<T = any>(handler: BeforeSubmitHook<T>): void;
6
- unregisterBeforeSubmit<T>(handler: BeforeSubmitHook<T>): void;
13
+ private reportsActions;
14
+ registerBeforeSubmit<T = any>(handler: ReportsBeforeSubmitHook<T>): void;
15
+ unregisterBeforeSubmit<T>(handler: ReportsBeforeSubmitHook<T>): void;
7
16
  clearBeforeSubmitHooks(): void;
8
17
  executeBeforeSubmit<T extends Record<string, any>>(payload: T): Promise<T>;
9
18
  evaluate<T extends Record<string, any>>(expr: string, payload: T): T;
19
+ registerBeforeSubmitAction<T>(name: string, action: ReportsAction<ActionHookRequest>): void;
20
+ unregisterBeforeSubmitAction(name: string): void;
21
+ executeBeforeSubmitAction(name: string, context: ReportsActionContext): Promise<ActionHookRequest>;
10
22
  static ɵfac: i0.ɵɵFactoryDeclaration<ReportsHooksService, never>;
11
23
  static ɵprov: i0.ɵɵInjectableDeclaration<ReportsHooksService>;
12
24
  }
@@ -1,12 +1,27 @@
1
1
  import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
2
- import { Subscription } from 'rxjs';
2
+ import { PageEvent } from '@angular/material/paginator/paginator';
3
3
  import { AdapterService } from '../../../../core/adapters/adapter.service';
4
4
  import { CallApiService } from '../../../../core/services/callApi/call-api.service';
5
- import { DynamicTableService } from '../services/dynamic-table.service';
6
- import { PageEvent } from '@angular/material/paginator/paginator';
7
- import { EvaluatedString } from '../../../../shared';
8
5
  import { NuxeoService } from '../../../../core/services/nuxeo/nuxeo.service';
6
+ import { DestroySubject, EvaluatedString } from '../../../../shared';
7
+ import { DynamicTableService } from '../services/dynamic-table.service';
8
+ import { TableHooksService } from '../services/table-hooks.service';
9
9
  import * as i0 from "@angular/core";
10
+ export declare type TableProviderRequest = {
11
+ query: {
12
+ pageProvider: string;
13
+ [key: string]: any;
14
+ };
15
+ options: {
16
+ headers: Record<string, string>;
17
+ };
18
+ };
19
+ export declare type TableCustomRequest = {
20
+ url: string;
21
+ params: Record<string, any>;
22
+ headers: Record<string, string>;
23
+ payload: Record<string, any>;
24
+ };
10
25
  /**
11
26
  * this component is an additional layer that uses [Table Component]{@link TableComponent} internally,
12
27
  * you can use this component to configure a page provider listing out of the box easily,
@@ -34,12 +49,13 @@ import * as i0 from "@angular/core";
34
49
  * (actionOnRow)="performAction($event)">
35
50
  * </cts-dynamic-table>
36
51
  */
37
- export declare class DynamicTableComponent implements OnInit, OnDestroy {
52
+ export declare class DynamicTableComponent extends DestroySubject implements OnInit, OnDestroy {
38
53
  private adapter;
39
54
  private callApi;
40
55
  private nuxeoService;
41
56
  private dynamicTableService;
42
57
  private cdr;
58
+ private _tableHooksService;
43
59
  /** event to emit when selecting single row */
44
60
  onRowSelected: EventEmitter<any>;
45
61
  /** event to emit when selecting single row to catch index*/
@@ -131,7 +147,6 @@ export declare class DynamicTableComponent implements OnInit, OnDestroy {
131
147
  };
132
148
  rows: any[];
133
149
  totalRecords: number;
134
- myDataSubscription: Subscription;
135
150
  loading: any;
136
151
  sorting: boolean;
137
152
  pageSizes: Array<{
@@ -139,12 +154,11 @@ export declare class DynamicTableComponent implements OnInit, OnDestroy {
139
154
  size: number;
140
155
  }>;
141
156
  initialized: boolean;
142
- constructor(adapter: AdapterService, callApi: CallApiService, nuxeoService: NuxeoService, dynamicTableService: DynamicTableService, cdr: ChangeDetectorRef);
157
+ constructor(adapter: AdapterService, callApi: CallApiService, nuxeoService: NuxeoService, dynamicTableService: DynamicTableService, cdr: ChangeDetectorRef, _tableHooksService: TableHooksService);
143
158
  ngOnInit(): void;
144
- ngOnDestroy(): void;
145
159
  ngOnChanges(changes: SimpleChanges): void;
146
160
  private _resetPageNumber;
147
- getData(payload?: Record<string, any>, headers?: Record<string, any>): void;
161
+ getData(payload?: Record<string, any>, headers?: Record<string, any>): Promise<void>;
148
162
  rowDetails(event: any): void;
149
163
  indexDetails(event: any): void;
150
164
  performAction(action: any): void;
@@ -1,4 +1,5 @@
1
- export * from './services/dynamic-table.service';
2
1
  export * from './directives/empty-state.directive';
3
2
  export * from './dynamic-table.module';
4
3
  export * from './dynamic-table/dynamic-table.component';
4
+ export * from './services/dynamic-table.service';
5
+ export * from './services/table-hooks.service';
@@ -0,0 +1,13 @@
1
+ import { TableCustomRequest, TableProviderRequest } from '../dynamic-table/dynamic-table.component';
2
+ import * as i0 from "@angular/core";
3
+ export declare type TableBeforeSubmitHook<T> = (payload: T) => T | Promise<T>;
4
+ export declare class TableHooksService {
5
+ private beforeSubmitHooks;
6
+ registerBeforeSubmit<T = TableProviderRequest | TableCustomRequest>(handler: TableBeforeSubmitHook<T>): void;
7
+ unregisterBeforeSubmit<T>(handler: TableBeforeSubmitHook<T>): void;
8
+ clearBeforeSubmitHooks(): void;
9
+ executeBeforeSubmit<T extends Record<string, any>>(payload: T): Promise<T>;
10
+ evaluate<T extends Record<string, any>>(expr: string, payload: T): T;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableHooksService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<TableHooksService>;
13
+ }
@@ -1,12 +1,14 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { TranslateService } from '@ngx-translate/core';
3
3
  import { Observable } from 'rxjs';
4
- import { CachedFullHttpOptions, CachedFullQueryOptions, CachedHttpOptions, CachedQueryOptions, OperationOptions, QueryOptions, RequestOptions } from './models';
5
- import { HttpBaseService } from './http-base.service';
6
4
  import { AdapterService } from '../../../core/adapters/adapter.service';
5
+ import { CallApiService } from '../../../core/services/callApi/call-api.service';
6
+ import { HttpBaseService } from './http-base.service';
7
+ import { CachedFullHttpOptions, CachedFullQueryOptions, CachedHttpOptions, CachedQueryOptions, OperationOptions, QueryOptions, RequestOptions } from './models';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare abstract class BaseService extends HttpBaseService {
9
10
  #private;
11
+ protected readonly _callApiService: CallApiService;
10
12
  protected adapterService: AdapterService;
11
13
  protected translateService: TranslateService;
12
14
  get user(): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxeo-development-framework",
3
- "version": "6.1.1",
3
+ "version": "6.1.2",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "12.2.3",
6
6
  "@angular/common": "12.2.3",