@one-paragon/angular-utilities 2.2.2 → 2.2.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@one-paragon/angular-utilities",
3
- "version": "2.2.2",
3
+ "version": "2.2.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "19.2.1",
6
6
  "@angular/core": "19.2.1",
@@ -1,10 +1,11 @@
1
1
  import { ControlValueAccessor } from '@angular/forms';
2
2
  import { FieldType } from '../../../interfaces/report-def';
3
+ import { KeyValue } from '@angular/common';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class InListFilterComponent implements ControlValueAccessor {
5
6
  private ref;
6
7
  private tableState;
7
- value: string[];
8
+ value: (string | number)[];
8
9
  FieldType: typeof FieldType;
9
10
  writeValue(obj: string[]): void;
10
11
  onChange: (_: any) => void;
@@ -12,12 +13,10 @@ export declare class InListFilterComponent implements ControlValueAccessor {
12
13
  onTouched: () => void;
13
14
  registerOnTouched(fn: any): void;
14
15
  $key: import("@angular/core").InputSignal<string>;
15
- $selectedKeys: import("@angular/core").WritableSignal<string[]>;
16
+ $selectedKeys: import("@angular/core").WritableSignal<(string | number)[]>;
16
17
  $metaData: import("@angular/core").Signal<import("../../../interfaces/report-def").MetaData>;
17
- $keyValues: import("@angular/core").Signal<{
18
- [key: number]: string;
19
- }>;
20
- selectFilterChanged($event: any, val: string): void;
18
+ $keyValues: import("@angular/core").Signal<KeyValue<string, any>[]>;
19
+ selectFilterChanged($event: any, val: any): void;
21
20
  static ɵfac: i0.ɵɵFactoryDeclaration<InListFilterComponent, never>;
22
21
  static ɵcmp: i0.ɵɵComponentDeclaration<InListFilterComponent, "tb-in-list-filter , [tb-in-list-filter]", never, { "$key": { "alias": "key"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
23
22
  }
@@ -30,7 +30,7 @@ export type FilterType = typeof FilterType[keyof typeof FilterType];
30
30
  export type SubFilterTypes<T extends typeof FilterType[keyof typeof FilterType]> = T;
31
31
  export type StringFilterTypes = SubFilterTypes<'Equals' | 'Contains' | 'Does Not Contain' | 'Start With' | 'Ends With' | 'Is Blank' | 'In'>;
32
32
  export type NumberFilterTypes = SubFilterTypes<'Equals' | 'Does Not Equal' | 'Greater Than' | 'Less Than' | 'Between' | 'Is Blank' | 'In'>;
33
- export type DateFilterTypes = SubFilterTypes<'Is on' | 'Is Not On' | 'On or After' | 'On or Before' | 'Between' | 'Is Blank'>;
33
+ export type DateFilterTypes = SubFilterTypes<'Is on' | 'Is Not On' | 'On or After' | 'On or Before' | 'Between' | 'Is Blank' | 'In'>;
34
34
  export type DateTimeFilterTypes = SubFilterTypes<'Is At' | 'Is Not At' | 'At or After' | 'At or Before' | 'Between' | DateFilterTypes>;
35
35
  export type BooleanFilterTypes = SubFilterTypes<'Is' | 'Is Blank'>;
36
36
  export type EnumFilterTypes = SubFilterTypes<'In' | 'Is Blank'>;
@@ -39,7 +39,6 @@ export declare enum Target {
39
39
  }
40
40
  interface BaseMeta<T = any> {
41
41
  displayName?: string;
42
- additional?: Additional<T>;
43
42
  order?: number;
44
43
  preSort?: SortDef;
45
44
  sortLogic?: {
@@ -62,7 +61,7 @@ interface BaseMeta<T = any> {
62
61
  noFilter?: boolean;
63
62
  customCell?: boolean;
64
63
  /**
65
- * @deprecated Please use map instead
64
+ * @deprecated Use `map`
66
65
  */
67
66
  transform?: ((o: T, ...args: any[]) => any) | ((o: string, ...args: any[]) => any) | PipeTransform;
68
67
  click?: (element: T, key?: string, event?: MouseEvent) => void;
@@ -75,18 +74,48 @@ interface BaseMeta<T = any> {
75
74
  type Path<T, U = never, P = never> = (T extends P ? never : T extends object ? {
76
75
  [K in keyof T]: K extends string | number ? `${K}` | (T[K] extends (Array<any> | undefined) ? `${K}.${keyof Array<any> & (string | number)}` : `${K}.${Path<T[K], T[K], P | U>}`) : never;
77
76
  }[keyof T] : never);
78
- export interface MappedMetaData<T = any, AdditionalFields extends string[] = []> extends BaseMeta<T> {
77
+ export interface BaseMappedMetaData<T = any, AdditionalFields extends string[] = []> extends BaseMeta<T> {
79
78
  key: (Path<T> | AdditionalFields[number]) & string;
80
- fieldType: Exclude<typeof FieldType[keyof typeof FieldType], FieldType.NotMapped | FieldType.Expression>;
81
79
  /**
82
- * if used with map, `mapItem` will only be used where the row is not available, ex. group header
83
- */
80
+ * if used with map, `mapItem` will only be used where the row is not available, ex. group header
81
+ */
82
+ mapItem?: (i: any) => any;
83
+ }
84
+ export interface MappedMetaData<T = any, AdditionalFields extends string[] = []> extends BaseMappedMetaData<T, AdditionalFields> {
85
+ fieldType: FieldType.String | FieldType.PhoneNumber | FieldType.ImageUrl | FieldType.Link | FieldType.Hidden | FieldType.Unknown;
86
+ additional?: Additional<T>;
84
87
  mapItem?: (i: string) => any;
85
88
  }
86
- export type MetaData<T = any, AdditionalFields extends string[] = []> = MappedMetaData<T, AdditionalFields> | NotMappedMetaData<T>;
89
+ export interface MappedNumberMetaData<T = any, AdditionalFields extends string[] = []> extends BaseMappedMetaData<T, AdditionalFields> {
90
+ fieldType: FieldType.Number | FieldType.Currency;
91
+ mapItem?: (i: number) => any;
92
+ additional?: NumberAdditional<T>;
93
+ }
94
+ export interface MappedEnumMetaData<T = any, AdditionalFields extends string[] = []> extends BaseMappedMetaData<T, AdditionalFields> {
95
+ fieldType: FieldType.Enum;
96
+ mapItem?: (i: number) => any;
97
+ additional?: EnumAdditional<T>;
98
+ }
99
+ export interface MappedDateMetaData<T = any, AdditionalFields extends string[] = []> extends BaseMappedMetaData<T, AdditionalFields> {
100
+ fieldType: FieldType.Date | FieldType.DateTime;
101
+ mapItem?: (i: Date) => any;
102
+ additional?: Additional<T, Date>;
103
+ }
104
+ export interface MappedBooleanMetaData<T = any, AdditionalFields extends string[] = []> extends BaseMappedMetaData<T, AdditionalFields> {
105
+ fieldType: FieldType.Boolean;
106
+ mapItem?: (i: boolean) => any;
107
+ additional?: BooleanAdditional<T>;
108
+ }
109
+ export interface MappedArrayMetaData<T = any, AdditionalFields extends string[] = []> extends BaseMappedMetaData<T, AdditionalFields> {
110
+ fieldType: FieldType.Array;
111
+ mapItem?: (i: string) => any;
112
+ additional?: ArrayAdditional<T>;
113
+ }
114
+ export type MetaData<T = any, AdditionalFields extends string[] = []> = MappedMetaData<T, AdditionalFields> | NotMappedMetaData<T> | MappedNumberMetaData<T, AdditionalFields> | MappedEnumMetaData<T, AdditionalFields> | MappedBooleanMetaData<T, AdditionalFields> | MappedDateMetaData<T, AdditionalFields> | MappedArrayMetaData<T, AdditionalFields>;
87
115
  export interface NotMappedMetaData<T = any> extends BaseMeta<T> {
88
116
  key: string;
89
117
  fieldType: FieldType.NotMapped | FieldType.Expression;
118
+ additional?: Additional<T>;
90
119
  }
91
120
  export interface ReportDef<DataType = any> {
92
121
  data: DataType[];
@@ -98,8 +127,8 @@ export interface SortDef {
98
127
  direction: SortDirection;
99
128
  precedence?: number;
100
129
  }
101
- export interface FilterOptions {
102
- filterableValues: string[];
130
+ export interface FilterOptions<T = string> {
131
+ filterableValues: T[];
103
132
  }
104
133
  export interface DateTimeOptions {
105
134
  format?: string;
@@ -107,7 +136,7 @@ export interface DateTimeOptions {
107
136
  includeMilliseconds: boolean;
108
137
  }
109
138
  type interpolatedRoute = string;
110
- export interface Additional<T = any> {
139
+ interface BaseAdditional<T = any> {
111
140
  link?: {
112
141
  base?: string;
113
142
  urlKey?: string;
@@ -125,13 +154,9 @@ export interface Additional<T = any> {
125
154
  queryParamsHandling?: QueryParamsHandling;
126
155
  };
127
156
  };
128
- footer?: {
129
- type: 'sum';
130
- };
131
157
  export?: TableBuilderExport;
132
158
  dateFormat?: string;
133
159
  dateTimeOptions?: DateTimeOptions;
134
- filterOptions?: FilterOptions;
135
160
  styles?: StylerStyle<T>;
136
161
  columnPartStyles?: {
137
162
  header?: Dictionary<string>;
@@ -143,9 +168,36 @@ export interface Additional<T = any> {
143
168
  header?: Dictionary<Predicate<T> | true>;
144
169
  footer?: Dictionary<Predicate<T> | true>;
145
170
  };
171
+ footer?: {
172
+ type: any;
173
+ };
174
+ }
175
+ export interface Additional<T = any, V = string> extends BaseAdditional<T> {
176
+ filterOptions?: FilterOptions<V>;
177
+ footer?: {
178
+ type: never;
179
+ };
180
+ }
181
+ interface NumberAdditional<T = any> extends BaseAdditional<T> {
182
+ filterOptions?: FilterOptions<number>;
183
+ footer?: {
184
+ type: 'sum';
185
+ };
186
+ }
187
+ interface EnumAdditional<T = any> extends BaseAdditional<T> {
188
+ filterOptions?: FilterOptions<number>;
146
189
  enumMap?: {
147
190
  [key: number]: string;
148
191
  };
192
+ footer?: {
193
+ type: never;
194
+ };
195
+ }
196
+ interface BooleanAdditional<T = any> extends BaseAdditional<T> {
197
+ filterOptions?: FilterOptions<never>;
198
+ footer?: {
199
+ type: never;
200
+ };
149
201
  boolean?: {
150
202
  showForFalse?: true | {
151
203
  icon: string;
@@ -159,7 +211,7 @@ export declare enum ArrayStyle {
159
211
  CommaDelimited = 0,
160
212
  NewLine = 1
161
213
  }
162
- export interface ArrayAdditional extends Additional {
214
+ export interface ArrayAdditional<T = any> extends Additional<T> {
163
215
  limit?: number;
164
216
  arrayStyle?: ArrayStyle;
165
217
  }
@@ -5,3 +5,5 @@ export declare function isPipe(o: any): o is PipeTransform;
5
5
  export declare function createTransformer(metaData: MetaData<any, any>, config: TableBuilderConfig, noIcons?: boolean, forItem?: boolean): ((value: any, ...args: any[]) => any);
6
6
  export declare function createItemTransformer<T = any, AdditionalFields extends string[] = []>(metaData: MetaData<T, AdditionalFields>, config: TableBuilderConfig, noIcons?: boolean, mutate?: boolean): (t: T) => void;
7
7
  export declare function createItemTransformers<T = any, AdditionalFields extends string[] = []>(metaDatas: MetaData<T, AdditionalFields>[], config: TableBuilderConfig, noIcons?: boolean, mutate?: boolean): (t: T) => T;
8
+ export declare function dateFormatter(date: string | Date | number, format: string): string | undefined;
9
+ export declare function currencyFormatter(amt: number): string;