imm-element-ui 0.4.5 → 0.4.7

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 (46) hide show
  1. package/esm2022/lib/crumb-action/crumb-action.component.mjs +3 -3
  2. package/esm2022/lib/form/form/form.component.mjs +39 -6
  3. package/esm2022/lib/form/form-field/field-utils.mjs +7 -4
  4. package/esm2022/lib/form/form-field/form-field.mjs +7 -4
  5. package/esm2022/lib/form/form-field/form-type.mjs +10 -2
  6. package/esm2022/lib/form/form-type/autocomplete.type.mjs +3 -3
  7. package/esm2022/lib/form/form-type/codemirror.type.mjs +3 -3
  8. package/esm2022/lib/form/form-type/datepicker.type.mjs +3 -3
  9. package/esm2022/lib/form/form-type/image.type.mjs +3 -3
  10. package/esm2022/lib/form/form-type/inputnumber.type.mjs +3 -3
  11. package/esm2022/lib/form/form-type/inputtext.type.mjs +3 -3
  12. package/esm2022/lib/form/form-type/multiselect.type.mjs +3 -3
  13. package/esm2022/lib/form/form-type/radio.type.mjs +3 -3
  14. package/esm2022/lib/form/form-type/rowselector.type.mjs +125 -0
  15. package/esm2022/lib/form/form-type/select.type.mjs +3 -3
  16. package/esm2022/lib/form/form-type/textarea.type.mjs +3 -3
  17. package/esm2022/lib/form/form-type/treeselect.type.mjs +3 -3
  18. package/esm2022/lib/form/form-type/upload.type.mjs +3 -3
  19. package/esm2022/lib/grid/actions/actions.component.mjs +10 -2
  20. package/esm2022/lib/grid/grid/grid.component.mjs +3 -2
  21. package/esm2022/lib/href-btn-list/href-btn-list.component.mjs +3 -3
  22. package/esm2022/lib/page-form/page-form.component.mjs +28 -6
  23. package/esm2022/lib/page-form/page-form.interface.mjs +2 -1
  24. package/esm2022/lib/row-selector/row-selector.component.mjs +3 -3
  25. package/esm2022/lib/search/pop-date/pop-date.component.mjs +3 -3
  26. package/esm2022/lib/search/pop-list/pop-list.component.mjs +2 -2
  27. package/esm2022/lib/search/pop-panel/pop-panel.component.mjs +3 -3
  28. package/esm2022/lib/search/pop-self/pop-self.component.mjs +3 -3
  29. package/esm2022/lib/search/pop-sort/pop-sort.component.mjs +3 -3
  30. package/esm2022/lib/search/pop-tree/pop-tree.component.mjs +3 -3
  31. package/esm2022/lib/search/search/search.component.mjs +3 -3
  32. package/esm2022/lib/search/search-tip/search-tip.component.mjs +3 -3
  33. package/esm2022/lib/search/text-panel/text-panel.component.mjs +3 -3
  34. package/fesm2022/imm-element-ui.mjs +1746 -1551
  35. package/fesm2022/imm-element-ui.mjs.map +1 -1
  36. package/lib/crumb-action/crumb-action.component.d.ts +1 -1
  37. package/lib/form/form/form.component.d.ts +6 -0
  38. package/lib/form/form-field/field-utils.d.ts +1 -1
  39. package/lib/form/form-field/form-field.d.ts +8 -2
  40. package/lib/form/form-field/form-type.d.ts +2 -1
  41. package/lib/form/form-type/rowselector.type.d.ts +30 -0
  42. package/lib/grid/grid/grid.component.d.ts +1 -1
  43. package/lib/page-form/page-form.component.d.ts +6 -3
  44. package/lib/page-form/page-form.interface.d.ts +2 -0
  45. package/package.json +1 -1
  46. package/src/lib/styles/styles.scss +4 -4
@@ -49,7 +49,7 @@ export declare class CrumbActionComponent extends AmComponent implements OnInit
49
49
  listAct(item: any): void;
50
50
  actEvent(item: any): void;
51
51
  toggleAct(event: any): void;
52
- setSaveClass(): "danger" | "secondary";
52
+ setSaveClass(): "secondary" | "danger";
53
53
  ngOnDestroy(): void;
54
54
  static ɵfac: i0.ɵɵFactoryDeclaration<CrumbActionComponent, never>;
55
55
  static ɵcmp: i0.ɵɵComponentDeclaration<CrumbActionComponent, "app-crumb-action", never, { "isShowCog": { "alias": "isShowCog"; "required": false; "isSignal": true; }; "addVisible": { "alias": "addVisible"; "required": false; "isSignal": true; }; "newUrl": { "alias": "newUrl"; "required": false; "isSignal": true; }; "onExport": { "alias": "onExport"; "required": false; "isSignal": true; }; "outlined": { "alias": "outlined"; "required": false; "isSignal": true; }; "isList": { "alias": "isList"; "required": false; "isSignal": true; }; "authLevel": { "alias": "authLevel"; "required": false; "isSignal": true; }; "actionList": { "alias": "actionList"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "menus": { "alias": "menus"; "required": false; "isSignal": true; }; }, { "saveEvent": "saveEvent"; "cancelEvent": "cancelEvent"; "actionEvent": "actionEvent"; }, ["newBtnTemplateRef"], never, true, never>;
@@ -15,6 +15,9 @@ export interface FormOptions {
15
15
  labelWidth?: string;
16
16
  interactiveLabel?: boolean;
17
17
  extra?: any;
18
+ modelName?: string;
19
+ type?: string;
20
+ fk?: string;
18
21
  }
19
22
  export declare class FormComponent {
20
23
  private cdr;
@@ -32,6 +35,8 @@ export declare class FormComponent {
32
35
  fieldList: FormField[];
33
36
  hookObservers: Function[];
34
37
  labelMinWidth: import("@angular/core").WritableSignal<string | undefined>;
38
+ isMain: boolean;
39
+ subsert: any;
35
40
  actions: ActionService;
36
41
  onResize(): void;
37
42
  constructor(cdr: ChangeDetectorRef, datePipe: DatePipe);
@@ -43,6 +48,7 @@ export declare class FormComponent {
43
48
  handleFieldControl(field: FormField): void;
44
49
  handleValueChange(value: any, field: FormField): void;
45
50
  handleUpsert(key: string, value: any): void;
51
+ handleSubsert(key: string, value: any, field: FormField): void;
46
52
  handleHideExpression(): void;
47
53
  validate(): boolean | undefined;
48
54
  uniqueHook(field: FormField, hook: Observable<(field?: FormField) => void>): void;
@@ -4,7 +4,7 @@ import { I18nService } from '../../service/i18n.service';
4
4
  export declare const fieldUtils: {
5
5
  props: (field: FormField) => FieldProps;
6
6
  label: (field: FormField, i18nService: I18nService) => string | undefined;
7
- triggerHookAndSetValue: (field: FormField, value: any, detectModelChange: boolean, hookObservers: any[], callback: any, datePipe: DatePipe) => void;
7
+ triggerHookAndSetValue: (field: FormField, value: any, emitEvent: boolean, detectModelChange: boolean, hookObservers: any[], callback: any, datePipe: DatePipe) => void;
8
8
  fromFieldValue: (field: FormField, target: any, datePipe: DatePipe) => any;
9
9
  transLog: (rawModel: any, changedModel: any, mainValue: any, isNew: boolean) => string;
10
10
  isFakedChange: (newValue: any, oldValue: any, field: FormField) => boolean;
@@ -2,10 +2,11 @@ import { ElementRef, QueryList, WritableSignal } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { InputTextProps, InputNumberProps, SelectProps, TreeSelectProps, DatePickerProps, AutoCompleteProps, MultiSelectProps, RadioProps, TextAreaProps, UploadProps, ImageProps, CodeMirrorProps } from './form-type';
4
4
  import { FieldControl } from './field-control';
5
+ import { FormComponent } from '../form/form.component';
5
6
  import * as i0 from "@angular/core";
6
7
  export interface FormField {
7
8
  key?: string;
8
- type?: 'inputtext' | 'inputnumber' | 'select' | 'treeselect' | 'datepicker' | 'autocomplete' | 'multiselect' | 'radio' | 'textarea' | 'upload' | 'image' | 'codemirror';
9
+ type?: 'inputtext' | 'inputnumber' | 'select' | 'treeselect' | 'datepicker' | 'autocomplete' | 'multiselect' | 'radio' | 'textarea' | 'upload' | 'image' | 'codemirror' | 'rowselector';
9
10
  default?: any;
10
11
  id?: string;
11
12
  name?: string;
@@ -26,6 +27,7 @@ export interface FormField {
26
27
  uploadProps?: UploadProps;
27
28
  imageProps?: ImageProps;
28
29
  codeMirrorProps?: CodeMirrorProps;
30
+ rowSelectorProps?: any;
29
31
  hide?: boolean;
30
32
  hideExpression?: (model: any, field?: FormField) => boolean;
31
33
  hook?: Observable<(field?: FormField) => void>;
@@ -35,7 +37,7 @@ export interface FormField {
35
37
  uuid?: string;
36
38
  labelMinWidth?: WritableSignal<string | undefined>;
37
39
  interactiveLabel?: boolean;
38
- form?: any;
40
+ form?: FormComponent;
39
41
  }
40
42
  export interface FieldProps {
41
43
  type?: string;
@@ -79,6 +81,10 @@ export declare class FormFieldComponent {
79
81
  constructor();
80
82
  ngOnInit(): void;
81
83
  labelClass(): string;
84
+ getStyle(): {
85
+ width: string | undefined;
86
+ maxWidth: string;
87
+ };
82
88
  getFieldComponents(): QueryList<FormFieldComponent> | undefined;
83
89
  getFieldLabel(): ElementRef<any> | undefined;
84
90
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
@@ -11,8 +11,9 @@ import { TextAreaProps } from '../form-type/textarea.type';
11
11
  import { UploadProps } from '../form-type/upload.type';
12
12
  import { ImageProps } from '../form-type/image.type';
13
13
  import { CodeMirrorProps } from '../form-type/codemirror.type';
14
+ import { RowSelectorProps } from '../form-type/rowselector.type';
14
15
  import * as i0 from "@angular/core";
15
- export { InputTextProps, InputNumberProps, SelectProps, TreeSelectProps, DatePickerProps, AutoCompleteProps, MultiSelectProps, RadioProps, TextAreaProps, UploadProps, ImageProps, CodeMirrorProps, };
16
+ export { InputTextProps, InputNumberProps, SelectProps, TreeSelectProps, DatePickerProps, AutoCompleteProps, MultiSelectProps, RadioProps, TextAreaProps, UploadProps, ImageProps, CodeMirrorProps, RowSelectorProps, };
16
17
  export declare class FormTypeComponent {
17
18
  field: import("@angular/core").InputSignal<FormField | undefined>;
18
19
  constructor();
@@ -0,0 +1,30 @@
1
+ import { ViewContainerRef, ElementRef, Renderer2 } from '@angular/core';
2
+ import { FormField, FieldProps } from '../form-field/form-field';
3
+ import { ActionService } from '../../service/action.service';
4
+ import { FormComponent } from '../form/form.component';
5
+ import { AmComponent } from '../../am/am.component';
6
+ import * as i0 from "@angular/core";
7
+ export interface RowSelectorProps extends FieldProps {
8
+ pageCode?: string;
9
+ preSearch?: any;
10
+ searchPrm?: any;
11
+ callback?: (data: any, form: FormComponent) => void;
12
+ }
13
+ export declare class RowSelectorComponent extends AmComponent {
14
+ private action;
15
+ private renderer;
16
+ container: ViewContainerRef;
17
+ selectorRef: ElementRef;
18
+ field: import("@angular/core").InputSignal<FormField | undefined>;
19
+ props: RowSelectorProps;
20
+ text?: string;
21
+ use: any;
22
+ constructor(action: ActionService, renderer: Renderer2);
23
+ handleDisabled(): void;
24
+ handleModelChange(): void;
25
+ onSelectorShow(): void;
26
+ createRowSelector(): void;
27
+ handlePopGridOptions(gridOptions: any): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<RowSelectorComponent, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<RowSelectorComponent, "form-rowselector", never, { "field": { "alias": "field"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
30
+ }
@@ -246,7 +246,7 @@ export declare class GridComponent {
246
246
  rawPrm?: Search;
247
247
  deleteEmit: import("@angular/core").OutputEmitterRef<number[]>;
248
248
  addEmit: import("@angular/core").OutputEmitterRef<void>;
249
- addType: import("@angular/core").InputSignal<"handle" | "select" | "none" | undefined>;
249
+ addType: import("@angular/core").InputSignal<"select" | "none" | "handle" | undefined>;
250
250
  selectData: import("@angular/core").InputSignal<any[] | undefined>;
251
251
  showAct: import("@angular/core").InputSignal<boolean>;
252
252
  actPos: import("@angular/core").InputSignal<"top" | "bottom">;
@@ -1,11 +1,11 @@
1
1
  import { UserHistoryService } from '../service/userHistory.service';
2
- import { OnInit } from '@angular/core';
2
+ import { OnInit, 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, GridList } from './page-form.interface';
8
+ import { HrefBtnList } from './page-form.interface';
9
9
  import { I18nService } from '../service/i18n.service';
10
10
  import { PermissionBtn } from './page-form.interface';
11
11
  import { ActionService } from '../service/action.service';
@@ -13,8 +13,9 @@ import * as i0 from "@angular/core";
13
13
  export declare class PageFormComponent extends AmComponent implements OnInit {
14
14
  cForm: FormComponent;
15
15
  customGrid: GridComponent;
16
+ tabForm: QueryList<FormComponent>;
16
17
  addVisible: import("@angular/core").InputSignal<boolean | undefined>;
17
- gridList: import("@angular/core").InputSignal<GridList[]>;
18
+ gridList: import("@angular/core").InputSignal<any[]>;
18
19
  form: import("@angular/core").InputSignal<FormOptions>;
19
20
  getPrmInput: import("@angular/core").InputSignal<Get>;
20
21
  statusSteps: import("@angular/core").InputSignal<Step[]>;
@@ -37,6 +38,7 @@ export declare class PageFormComponent extends AmComponent implements OnInit {
37
38
  authLevel: import("@angular/core").InputSignal<number>;
38
39
  hrefs: any[];
39
40
  action: ActionService;
41
+ subFormModel: any;
40
42
  constructor();
41
43
  ngOnInit(): void;
42
44
  submitForm(): any;
@@ -51,6 +53,7 @@ export declare class PageFormComponent extends AmComponent implements OnInit {
51
53
  authClick(btn: any): void;
52
54
  statusChange(value: any, customSteps: StepsComponent): void;
53
55
  formDisFunc(): void;
56
+ tabClick(): void;
54
57
  static ɵfac: i0.ɵɵFactoryDeclaration<PageFormComponent, never>;
55
58
  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; }; "authLevel": { "alias": "authLevel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
56
59
  }
@@ -26,5 +26,7 @@ export interface GridList {
26
26
  deleteFunc?: Function;
27
27
  selectData?: any[];
28
28
  uniqueField?: string;
29
+ [propName: string]: any;
30
+ type?: string;
29
31
  }
30
32
  export declare const formTypeToProps: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imm-element-ui",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0"
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  :host ::ng-deep {
4
2
  .p-disabled,
5
3
  .p-component:disabled {
@@ -204,6 +202,10 @@
204
202
  .p-inputnumber.ng-hovered:not(.p-disabled) > .p-inputtext {
205
203
  border-bottom: 1px solid var(--p-primary-color);
206
204
  }
205
+ .ng-invalid.ng-dirty > .p-datepicker .p-inputtext {
206
+ background: var(--p-red-200) !important;
207
+ border-bottom: 1px solid var(--p-red-500) !important;
208
+ }
207
209
  .ng-hovered > .p-datepicker:not(.p-disabled) .p-inputtext {
208
210
  border-bottom: 1px solid var(--p-primary-color);
209
211
  }
@@ -228,5 +230,3 @@
228
230
  background-color: #fff;
229
231
  }
230
232
  }
231
-
232
-