imm-element-ui 2.2.6 → 2.2.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.
@@ -0,0 +1 @@
1
+ export * from './types';
@@ -0,0 +1 @@
1
+ export * from './payload.type';
@@ -0,0 +1,6 @@
1
+ export type UpdateByKeyPayload<T extends Record<string, unknown>> = {
2
+ [K in keyof T]: {
3
+ key: K;
4
+ value: T[K];
5
+ };
6
+ }[keyof T];
@@ -0,0 +1,7 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PageFormSlotDirective {
4
+ templateRef: TemplateRef<any>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<PageFormSlotDirective, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PageFormSlotDirective, "ng-template[pageFormSlot]", never, {}, {}, never, never, true, never>;
7
+ }
@@ -1,18 +1,21 @@
1
1
  import { UserHistoryService } from '../service/userHistory.service';
2
- import { OnInit, QueryList } from '@angular/core';
2
+ import { OnInit, OnDestroy, QueryList } from '@angular/core';
3
3
  import { FormComponent, FormOptions } from '../form/form/form.component';
4
4
  import { StepsComponent, Step } from '../steps/steps.component';
5
5
  import { GridComponent, GridOptions } from '../grid/grid/grid.component';
6
6
  import { AmComponent, Get } from '../am/am.component';
7
7
  import { Search } from '../am/am.component';
8
- import { HrefBtnList } from './page-form.interface';
8
+ import { HrefBtnList, GridList, PageFormSlotContext } from './page-form.interface';
9
9
  import { PermissionBtn } from './page-form.interface';
10
10
  import { ActionService } from '../service/action.service';
11
+ import { PageFormService } from '../service/page-form.service';
12
+ import { PageFormSlotDirective } from './page-form-slot.directive';
11
13
  import * as i0 from "@angular/core";
12
- export declare class PageFormComponent extends AmComponent implements OnInit {
14
+ export declare class PageFormComponent extends AmComponent implements OnInit, OnDestroy {
13
15
  cForm: FormComponent;
14
16
  customGrid: QueryList<GridComponent>;
15
17
  tabForm: QueryList<FormComponent>;
18
+ pageFormSlot?: PageFormSlotDirective;
16
19
  showLog: import("@angular/core").Signal<boolean>;
17
20
  addVisible: import("@angular/core").InputSignal<boolean | undefined>;
18
21
  gridList: import("@angular/core").InputSignal<any[]>;
@@ -31,6 +34,7 @@ export declare class PageFormComponent extends AmComponent implements OnInit {
31
34
  saveFunc: import("@angular/core").InputSignal<any>;
32
35
  configNewPath: import("@angular/core").InputSignal<any>;
33
36
  userHistoryService: UserHistoryService;
37
+ pageFormService: PageFormService<Record<string, unknown>>;
34
38
  indexValue: number;
35
39
  visible: boolean;
36
40
  dialogSearchPrm: Search;
@@ -47,9 +51,14 @@ export declare class PageFormComponent extends AmComponent implements OnInit {
47
51
  selectionKeys: any[];
48
52
  subDeleteIds: any[];
49
53
  stepsVisible: boolean;
54
+ private destroy$;
50
55
  onResize(): void;
51
56
  constructor();
52
57
  ngOnInit(): void;
58
+ ngOnDestroy(): void;
59
+ private bindPageFormService;
60
+ private mergePageFormData;
61
+ private syncSubFormModelFromData;
53
62
  ngAfterViewInit(): void;
54
63
  submitForm(): any;
55
64
  delRows(e: any): void;
@@ -70,6 +79,7 @@ export declare class PageFormComponent extends AmComponent implements OnInit {
70
79
  setDisabled(): void;
71
80
  tabClick(): void;
72
81
  toggleLog(): void;
82
+ getPageFormSlotContext(grid: GridList, index: number): PageFormSlotContext;
73
83
  static ɵfac: i0.ɵɵFactoryDeclaration<PageFormComponent, never>;
74
- static ɵcmp: i0.ɵɵComponentDeclaration<PageFormComponent, "app-page-form", never, { "addVisible": { "alias": "addVisible"; "required": false; "isSignal": true; }; "gridList": { "alias": "gridList"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": true; "isSignal": true; }; "getPrmInput": { "alias": "getPrmInput"; "required": true; "isSignal": true; }; "statusSteps": { "alias": "statusSteps"; "required": false; "isSignal": true; }; "statusKey": { "alias": "statusKey"; "required": false; "isSignal": true; }; "hrefBtnList": { "alias": "hrefBtnList"; "required": false; "isSignal": true; }; "setTitle": { "alias": "setTitle"; "required": false; "isSignal": true; }; "actionList": { "alias": "actionList"; "required": false; "isSignal": true; }; "modelLog": { "alias": "modelLog"; "required": false; "isSignal": true; }; "formDisabled": { "alias": "formDisabled"; "required": false; "isSignal": true; }; "statusConf": { "alias": "statusConf"; "required": false; "isSignal": true; }; "formDetail": { "alias": "formDetail"; "required": false; "isSignal": true; }; "saveFunc": { "alias": "saveFunc"; "required": false; "isSignal": true; }; "configNewPath": { "alias": "configNewPath"; "required": false; "isSignal": true; }; "authLevel": { "alias": "authLevel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<PageFormComponent, "app-page-form", never, { "addVisible": { "alias": "addVisible"; "required": false; "isSignal": true; }; "gridList": { "alias": "gridList"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": true; "isSignal": true; }; "getPrmInput": { "alias": "getPrmInput"; "required": true; "isSignal": true; }; "statusSteps": { "alias": "statusSteps"; "required": false; "isSignal": true; }; "statusKey": { "alias": "statusKey"; "required": false; "isSignal": true; }; "hrefBtnList": { "alias": "hrefBtnList"; "required": false; "isSignal": true; }; "setTitle": { "alias": "setTitle"; "required": false; "isSignal": true; }; "actionList": { "alias": "actionList"; "required": false; "isSignal": true; }; "modelLog": { "alias": "modelLog"; "required": false; "isSignal": true; }; "formDisabled": { "alias": "formDisabled"; "required": false; "isSignal": true; }; "statusConf": { "alias": "statusConf"; "required": false; "isSignal": true; }; "formDetail": { "alias": "formDetail"; "required": false; "isSignal": true; }; "saveFunc": { "alias": "saveFunc"; "required": false; "isSignal": true; }; "configNewPath": { "alias": "configNewPath"; "required": false; "isSignal": true; }; "authLevel": { "alias": "authLevel"; "required": false; "isSignal": true; }; }, {}, ["pageFormSlot"], never, true, never>;
75
85
  }
@@ -1,6 +1,7 @@
1
1
  import { GridOptions } from '../grid/grid/grid.component';
2
2
  import { Search } from '../am/am.component';
3
3
  import { Button } from 'primeng/button';
4
+ import type { PageFormComponent } from './page-form.component';
4
5
  export interface HrefBtnList extends Partial<Button> {
5
6
  url?: string;
6
7
  i18nKey?: string;
@@ -19,6 +20,7 @@ export interface GridList {
19
20
  subTableSource?: 'handle' | 'select';
20
21
  selectOptions?: GridOptions;
21
22
  subDataKey: string;
23
+ slotKey?: string;
22
24
  title?: string;
23
25
  i18nKey?: string;
24
26
  selectDataCb?: Function;
@@ -29,4 +31,15 @@ export interface GridList {
29
31
  [propName: string]: any;
30
32
  type?: string;
31
33
  }
34
+ export interface PageFormSlotContext {
35
+ $implicit: GridList;
36
+ slotKey: string;
37
+ grid: GridList;
38
+ index: number;
39
+ pageForm: PageFormComponent;
40
+ data: Record<string, unknown>;
41
+ model: unknown;
42
+ upsert: unknown;
43
+ active: boolean;
44
+ }
32
45
  export declare const formTypeToProps: any;
@@ -0,0 +1,14 @@
1
+ import { Observable } from 'rxjs';
2
+ import { UpdateByKeyPayload } from '../core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PageFormService<TData extends Record<string, unknown> = Record<string, unknown>> {
5
+ private updateDataSubject;
6
+ private updateDataByKeySubject;
7
+ readonly updateData$: Observable<TData>;
8
+ readonly updateDataByKey$: Observable<UpdateByKeyPayload<TData>>;
9
+ constructor();
10
+ updateData(data: TData): void;
11
+ updateDataByKey<K extends keyof TData>(key: K, value: TData[K]): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<PageFormService<any>, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<PageFormService<any>>;
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imm-element-ui",
3
- "version": "2.2.6",
3
+ "version": "2.2.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0"
package/public-api.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './lib/form/form/form.component';
3
3
  export * from './lib/form/form-field';
4
4
  export * from './lib/form/form-type';
5
5
  export * from './lib/page-form/page-form.interface';
6
+ export * from './lib/page-form/page-form-slot.directive';
6
7
  export * from './lib/crumb-action/crumb-action.component';
7
8
  export * from './lib/grid/pager/pager.component';
8
9
  export * from './lib/grid/grid/grid.component';
@@ -28,6 +29,7 @@ export * from './lib/row-selector/row-selector.component';
28
29
  export * from './lib/search/search/search.component';
29
30
  export * from './lib/page-form/page-form.interface';
30
31
  export * from './lib/service/userHistory.service';
32
+ export * from './lib/service/page-form.service';
31
33
  export * from './lib/theme-config/theme-config.compoent';
32
34
  export * from './lib/log/log.component';
33
35
  export * from './lib/import/import.component';