@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/fesm2022/one-paragon-angular-utilities.mjs +159 -80
- package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
- package/package.json +1 -1
- package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +5 -6
- package/table-builder/enums/filterTypes.d.ts +1 -1
- package/table-builder/interfaces/report-def.d.ts +67 -15
- package/table-builder/services/transform-creator.d.ts +2 -0
package/package.json
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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:
|
|
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
|
-
|
|
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;
|