nuxeo-development-framework 5.5.6 → 5.5.8

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 (27) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +307 -134
  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/containers/ndf-reports/ndf-reports.component.js +2 -2
  5. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +2 -2
  6. package/esm2015/lib/components/tables/ndf-table/components/table-columns-toggler/table-columns-toggler.component.js +2 -2
  7. package/esm2015/lib/components/tables/ndf-table/components/text-search/text-search.component.js +4 -4
  8. package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +38 -23
  9. package/esm2015/lib/components/tables/table/dynamic-column/dynamic-column.component.js +10 -5
  10. package/esm2015/lib/components/tables/table/dynamic-component.js +10 -5
  11. package/esm2015/lib/components/tables/table/page-sizes-list/page-sizes-list.component.js +2 -2
  12. package/esm2015/lib/core/services/column-renderer/column-renderer-registry.service.js +102 -0
  13. package/esm2015/lib/core/services/column-renderer/index.js +2 -0
  14. package/esm2015/lib/core/services/extension/extension.service.js +35 -4
  15. package/esm2015/lib/core/services/index.js +2 -1
  16. package/esm2015/lib/shared/services/base/base-editor-config.service.js +34 -19
  17. package/fesm2015/nuxeo-development-framework.js +300 -131
  18. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  19. package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +2 -1
  20. package/lib/components/tables/table/dynamic-column/dynamic-column.component.d.ts +3 -1
  21. package/lib/components/tables/table/dynamic-component.d.ts +3 -1
  22. package/lib/core/services/column-renderer/column-renderer-registry.service.d.ts +61 -0
  23. package/lib/core/services/column-renderer/index.d.ts +1 -0
  24. package/lib/core/services/extension/extension.service.d.ts +33 -0
  25. package/lib/core/services/index.d.ts +1 -0
  26. package/lib/shared/services/base/base-editor-config.service.d.ts +2 -1
  27. package/package.json +1 -1
@@ -46,6 +46,7 @@ export declare class NdfTableComponent extends DestroySubject implements OnChang
46
46
  emptyMessage: string;
47
47
  activeQuery: FormQueryModel;
48
48
  configPath: string;
49
+ styleClass: string;
49
50
  configTransformer: (config: NdfTableConfig) => Observable<NdfTableConfig>;
50
51
  tableKey: string;
51
52
  jsonEditorEnabled: boolean;
@@ -137,5 +138,5 @@ export declare class NdfTableComponent extends DestroySubject implements OnChang
137
138
  */
138
139
  private _loadTableConfig;
139
140
  static ɵfac: i0.ɵɵFactoryDeclaration<NdfTableComponent, never>;
140
- static ɵcmp: i0.ɵɵComponentDeclaration<NdfTableComponent, "app-ndf-table", never, { "rows": "rows"; "totalRecords": "totalRecords"; "autoCalculateHeight": "autoCalculateHeight"; "emptyMessage": "emptyMessage"; "activeQuery": "activeQuery"; "configPath": "configPath"; "configTransformer": "configTransformer"; "tableKey": "tableKey"; "jsonEditorEnabled": "jsonEditorEnabled"; "config": "config"; "customCriteria": "customCriteria"; "searchTerm": "searchTerm"; }, { "onRowSelected": "onRowSelected"; "onRowIndexSelected": "onRowIndexSelected"; "actionOnRow": "actionOnRow"; "onGettingData": "onGettingData"; "onMultiRowSelected": "onMultiRowSelected"; "onLoading": "onLoading"; "onPage": "onPage"; "onInitialized": "onInitialized"; "onLoaded": "onLoaded"; "onQueryChange": "onQueryChange"; "onSort": "onSort"; }, ["actionsTableTemplate", "searchTableTemplate", "filterCustomTemplate"], never>;
141
+ static ɵcmp: i0.ɵɵComponentDeclaration<NdfTableComponent, "app-ndf-table", never, { "rows": "rows"; "totalRecords": "totalRecords"; "autoCalculateHeight": "autoCalculateHeight"; "emptyMessage": "emptyMessage"; "activeQuery": "activeQuery"; "configPath": "configPath"; "styleClass": "styleClass"; "configTransformer": "configTransformer"; "tableKey": "tableKey"; "jsonEditorEnabled": "jsonEditorEnabled"; "config": "config"; "customCriteria": "customCriteria"; "searchTerm": "searchTerm"; }, { "onRowSelected": "onRowSelected"; "onRowIndexSelected": "onRowIndexSelected"; "actionOnRow": "actionOnRow"; "onGettingData": "onGettingData"; "onMultiRowSelected": "onMultiRowSelected"; "onLoading": "onLoading"; "onPage": "onPage"; "onInitialized": "onInitialized"; "onLoaded": "onLoaded"; "onQueryChange": "onQueryChange"; "onSort": "onSort"; }, ["actionsTableTemplate", "searchTableTemplate", "filterCustomTemplate"], never>;
141
142
  }
@@ -1,8 +1,10 @@
1
1
  import { ChangeDetectorRef, ComponentFactoryResolver, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewContainerRef } from '@angular/core';
2
2
  import { ExtensionService } from '../../../../core/services/extension/extension.service';
3
+ import { ColumnRendererRegistryService } from '../../../../core/services';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class DynamicColumnComponent implements OnInit, OnChanges, OnDestroy {
5
6
  private extensions;
7
+ private _columnRegister;
6
8
  private componentFactoryResolver;
7
9
  private cdr;
8
10
  content: ViewContainerRef;
@@ -10,7 +12,7 @@ export declare class DynamicColumnComponent implements OnInit, OnChanges, OnDest
10
12
  context: any;
11
13
  column: any;
12
14
  private componentRef;
13
- constructor(extensions: ExtensionService, componentFactoryResolver: ComponentFactoryResolver, cdr: ChangeDetectorRef);
15
+ constructor(extensions: ExtensionService, _columnRegister: ColumnRendererRegistryService, componentFactoryResolver: ComponentFactoryResolver, cdr: ChangeDetectorRef);
14
16
  ngOnInit(): void;
15
17
  ngOnChanges(changes: SimpleChanges): void;
16
18
  ngOnDestroy(): void;
@@ -1,8 +1,10 @@
1
1
  import { ComponentFactoryResolver, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { ExtensionService } from '../../../core/services/extension/extension.service';
3
+ import { ColumnRendererRegistryService } from '../../../core/services';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class DynamicCustomComponent implements OnInit, OnChanges, OnDestroy {
5
6
  private _extensions;
7
+ private _columnRegister;
6
8
  private _factoryResolver;
7
9
  private _vcr;
8
10
  componentName: string;
@@ -10,7 +12,7 @@ export declare class DynamicCustomComponent implements OnInit, OnChanges, OnDest
10
12
  rowAction: EventEmitter<any>;
11
13
  onClick: EventEmitter<any>;
12
14
  private _componentRef;
13
- constructor(_extensions: ExtensionService, _factoryResolver: ComponentFactoryResolver);
15
+ constructor(_extensions: ExtensionService, _columnRegister: ColumnRendererRegistryService, _factoryResolver: ComponentFactoryResolver);
14
16
  ngOnInit(): void;
15
17
  ngOnChanges(changes: SimpleChanges): void;
16
18
  private updateInstance;
@@ -0,0 +1,61 @@
1
+ import { Type } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare type CategoryType = 'common' | 'custom';
4
+ export interface ColumnTypeDefinition {
5
+ name: string;
6
+ type: string;
7
+ app?: string;
8
+ description?: string;
9
+ icon?: string;
10
+ component: Type<any>;
11
+ category: CategoryType;
12
+ }
13
+ export declare class ColumnRendererRegistryService {
14
+ private registry;
15
+ register(columns: ColumnTypeDefinition | ColumnTypeDefinition[]): void;
16
+ /**
17
+ * Retrieves a column type definition by its unique type key.
18
+ * @param type The column type identifier
19
+ */
20
+ get(type: string): ColumnTypeDefinition | undefined;
21
+ /**
22
+ * Returns all registered column type definitions.
23
+ */
24
+ getAll(): ColumnTypeDefinition[];
25
+ /**
26
+ * Gets column types filtered by app
27
+ */
28
+ getByApp(app: string): ColumnTypeDefinition[];
29
+ /**
30
+ * Returns only the component associated with a column type.
31
+ * @param type The column type identifier
32
+ */
33
+ getComponent(type: string): Type<unknown> | undefined;
34
+ /**
35
+ * Gets all column types filtered by category
36
+ */
37
+ getByCategory(category: string): ColumnTypeDefinition[];
38
+ /**
39
+ * Returns all unique categories
40
+ */
41
+ getCategories(): string[];
42
+ /**
43
+ * Returns column types grouped by category
44
+ */
45
+ getGroupedByCategory(): Record<string, ColumnTypeDefinition[]>;
46
+ /**
47
+ * Gets column types filtered by multiple categories
48
+ */
49
+ getByCategories(categories: string[]): ColumnTypeDefinition[];
50
+ /**
51
+ * Checks if a column type exists
52
+ */
53
+ has(type: string): boolean;
54
+ /**
55
+ * Clears all registered column types (mainly for testing or hot reload scenarios).
56
+ */
57
+ clear(): void;
58
+ private _set;
59
+ static ɵfac: i0.ɵɵFactoryDeclaration<ColumnRendererRegistryService, never>;
60
+ static ɵprov: i0.ɵɵInjectableDeclaration<ColumnRendererRegistryService>;
61
+ }
@@ -0,0 +1 @@
1
+ export * from './column-renderer-registry.service';
@@ -41,6 +41,39 @@ export declare class ExtensionService {
41
41
  /**
42
42
  * Adds one or more new components to the existing set.
43
43
  * @param values The new components to add
44
+ * @deprecated This method is deprecated for column components and will be removed in a future version.
45
+ * Use `ColumnRendererRegistryService.register()` instead for registering column components.
46
+ *
47
+ * @example
48
+ * // For columns (deprecated)
49
+ * this.setComponents({ 'common.components.text': TextComponent, 'number': NumberComponent });
50
+ *
51
+ * // For columns (recommended - single)
52
+ * this.columnRegistry.register({
53
+ * name: 'Text Column',
54
+ * type: 'common.text',
55
+ * category: 'basic',
56
+ * component: TextComponent
57
+ * });
58
+ *
59
+ * // For columns (recommended - multiple)
60
+ * this.columnRegistry.register([
61
+ * {
62
+ * name: 'Text Column',
63
+ * type: 'common.text',
64
+ * category: 'basic',
65
+ * component: TextComponent
66
+ * },
67
+ * {
68
+ * name: 'Number Column',
69
+ * type: 'common.number',
70
+ * category: 'basic',
71
+ * component: NumberComponent
72
+ * }
73
+ * ]);
74
+ *
75
+ * // For viewer components (still supported)
76
+ * this.setComponents({ 'viewer.components.pdf': PdfViewerComponent });
44
77
  */
45
78
  setComponents(values: {
46
79
  [key: string]: Type<{}>;
@@ -1,3 +1,4 @@
1
1
  export * from './ndf-transform.service';
2
2
  export * from './nuxeo/nuxeo.service';
3
3
  export * from './roles/roles.service';
4
+ export * from './column-renderer';
@@ -25,7 +25,8 @@ export declare class BaseEditorConfigService extends BaseService {
25
25
  injector: Injector;
26
26
  protected appConfigService: AppConfigService;
27
27
  constructor(injector: Injector);
28
- fetchData({ key, type, app, localPath }: ConfigRequestModel): Observable<ConfigResponseModel>;
28
+ fetchData({ key, type, app, localPath, }: ConfigRequestModel): Observable<ConfigResponseModel>;
29
+ private _getDataFromLocal;
29
30
  private _parseData;
30
31
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseEditorConfigService, never>;
31
32
  static ɵprov: i0.ɵɵInjectableDeclaration<BaseEditorConfigService>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxeo-development-framework",
3
- "version": "5.5.6",
3
+ "version": "5.5.8",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "12.2.3",
6
6
  "@angular/common": "12.2.3",