@bagelink/vue 1.1.33 → 1.1.35-beta.2
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/dist/components/DataPreview.vue.d.ts +3 -1
- package/dist/components/DataPreview.vue.d.ts.map +1 -1
- package/dist/components/Spreadsheet/Index.vue.d.ts +5 -61
- package/dist/components/Spreadsheet/Index.vue.d.ts.map +1 -1
- package/dist/components/Spreadsheet/SpreadsheetTable.vue.d.ts +3 -1
- package/dist/components/Spreadsheet/SpreadsheetTable.vue.d.ts.map +1 -1
- package/dist/components/dataTable/DataTable.vue.d.ts +3 -1
- package/dist/components/dataTable/DataTable.vue.d.ts.map +1 -1
- package/dist/components/dataTable/tableTypes.d.ts +5 -1
- package/dist/components/dataTable/tableTypes.d.ts.map +1 -1
- package/dist/components/dataTable/useTableData.d.ts +7 -3
- package/dist/components/dataTable/useTableData.d.ts.map +1 -1
- package/dist/components/dataTable/useTableSelection.d.ts +3 -1
- package/dist/components/dataTable/useTableSelection.d.ts.map +1 -1
- package/dist/components/form/BagelForm.vue.d.ts +1 -1
- package/dist/components/form/BagelForm.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/DatePick.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/PhoneInput.vue.d.ts +2 -60
- package/dist/components/form/inputs/PhoneInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RadioGroup.vue.d.ts +3 -1
- package/dist/components/form/inputs/RadioGroup.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/utils/debug.d.ts +3 -1
- package/dist/components/form/inputs/RichText/utils/debug.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/utils/media.d.ts +10 -4
- package/dist/components/form/inputs/RichText/utils/media.d.ts.map +1 -1
- package/dist/components/form/inputs/SelectInput.vue.d.ts +4 -120
- package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/TextInput.vue.d.ts +5 -5
- package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
- package/dist/components/form/useBagelFormState.d.ts +1 -1
- package/dist/components/form/useBagelFormState.d.ts.map +1 -1
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.d.ts.map +1 -1
- package/dist/composables/useFormField.d.ts +1 -1
- package/dist/composables/useFormField.d.ts.map +1 -1
- package/dist/composables/useSchemaField.d.ts +1 -1
- package/dist/composables/useSchemaField.d.ts.map +1 -1
- package/dist/composables/useValidateFieldValue.d.ts +4 -0
- package/dist/composables/useValidateFieldValue.d.ts.map +1 -0
- package/dist/index.cjs +78 -19
- package/dist/index.mjs +78 -19
- package/dist/plugins/modal.d.ts +4 -2
- package/dist/plugins/modal.d.ts.map +1 -1
- package/dist/plugins/modalTypes.d.ts +6 -4
- package/dist/plugins/modalTypes.d.ts.map +1 -1
- package/dist/style.css +162 -150
- package/dist/types/BagelForm.d.ts +22 -10
- package/dist/types/BagelForm.d.ts.map +1 -1
- package/dist/types/TableSchema.d.ts +5 -1
- package/dist/types/TableSchema.d.ts.map +1 -1
- package/dist/utils/BagelFormUtils.d.ts +21 -50
- package/dist/utils/BagelFormUtils.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Btn.vue +1 -1
- package/src/components/DataPreview.vue +2 -2
- package/src/components/ListItem.vue +1 -1
- package/src/components/Spreadsheet/Index.vue +10 -10
- package/src/components/Spreadsheet/SpreadsheetTable.vue +1 -1
- package/src/components/calendar/language/index.ts +1 -1
- package/src/components/dataTable/DataTable.vue +2 -2
- package/src/components/dataTable/tableTypes.ts +1 -1
- package/src/components/dataTable/useTableData.ts +4 -4
- package/src/components/dataTable/useTableSelection.ts +1 -1
- package/src/components/form/BagelForm.vue +4 -4
- package/src/components/form/inputs/DatePick.vue +0 -1
- package/src/components/form/inputs/RadioGroup.vue +1 -1
- package/src/components/form/inputs/RichText/utils/debug.ts +1 -1
- package/src/components/form/inputs/RichText/utils/media.ts +19 -10
- package/src/components/form/inputs/TextInput.vue +39 -33
- package/src/components/form/useBagelFormState.ts +1 -1
- package/src/composables/index.ts +1 -0
- package/src/composables/useFormField.ts +1 -1
- package/src/composables/useSchemaField.ts +11 -6
- package/src/composables/useValidateFieldValue.ts +26 -0
- package/src/plugins/modal.ts +6 -5
- package/src/plugins/modalTypes.ts +4 -4
- package/src/styles/appearance.css +16 -0
- package/src/styles/buttons.css +2 -2
- package/src/types/BagelForm.ts +33 -11
- package/src/types/TableSchema.ts +1 -1
- package/src/utils/BagelFormUtils.ts +23 -22
- package/src/utils/index.ts +1 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { SelectInput, TextInput } from '..';
|
|
2
2
|
import { VNode } from 'vue';
|
|
3
|
+
import { ComponentExposed } from 'vue-component-type-helpers';
|
|
3
4
|
export type AttributeValue = string | number | boolean | undefined | undefined | {
|
|
4
5
|
[key: string]: any;
|
|
5
6
|
};
|
|
6
7
|
export type AttributeFn<T = {
|
|
7
8
|
[key: string]: any;
|
|
8
|
-
}> = (field: any, row
|
|
9
|
-
export interface Attributes<T
|
|
9
|
+
}> = (field: any, row?: T) => AttributeValue;
|
|
10
|
+
export interface Attributes<T> {
|
|
10
11
|
[key: string]: AttributeValue | AttributeFn<T>;
|
|
11
12
|
}
|
|
12
13
|
export type BagelFieldOptions<T = {
|
|
@@ -17,12 +18,16 @@ export type BagelFieldOptions<T = {
|
|
|
17
18
|
} | string | number | boolean | {
|
|
18
19
|
[key: string]: any;
|
|
19
20
|
})[] | ((val: any, rowData?: T) => void));
|
|
20
|
-
type GenericAssertFn<T> = (val: any, row: T) => boolean;
|
|
21
21
|
type FiniteRangeIndex = [never, 0, 1, 2, 3, 4];
|
|
22
22
|
export type DotNotation<T, Depth extends number = 3> = [Depth] extends [0] ? never : T extends object ? {
|
|
23
23
|
[K in keyof T & string]: K | (T[K] extends Array<any> ? never : T[K] extends object ? `${K}.${DotNotation<T[K], FiniteRangeIndex[Depth]>}` : never);
|
|
24
24
|
}[keyof T & string] : never;
|
|
25
25
|
export type PropertyPath<T> = T extends object ? keyof T & string | DotNotation<T> : string;
|
|
26
|
+
export type FieldValType<T, K> = K extends keyof T ? T[K] : never;
|
|
27
|
+
export type GenericAssertFn<T> = (val: any, row: T) => boolean;
|
|
28
|
+
export type TypedAssertFn<T, K> = (K extends keyof T ? (val: FieldValType<T, K>, row: T) => boolean : GenericAssertFn<T>);
|
|
29
|
+
export type VIfType<T, K> = string | boolean | TypedAssertFn<T, K>;
|
|
30
|
+
export type ValidationFn<T, K> = (val: FieldValType<T, K>, rowData?: T) => string | undefined;
|
|
26
31
|
export interface BaseBagelField<T = {
|
|
27
32
|
[key: string]: any;
|
|
28
33
|
}> {
|
|
@@ -38,21 +43,22 @@ export interface BaseBagelField<T = {
|
|
|
38
43
|
'helptext'?: string;
|
|
39
44
|
'options'?: BagelFieldOptions<T>;
|
|
40
45
|
'slots'?: {
|
|
41
|
-
[key: string]:
|
|
46
|
+
[key: string]: Field<T>[];
|
|
42
47
|
};
|
|
43
48
|
'defaultValue'?: any;
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
'
|
|
47
|
-
'
|
|
49
|
+
'vIf'?: VIfType<T, this['id']>;
|
|
50
|
+
'v-if'?: VIfType<T, this['id']>;
|
|
51
|
+
'transform'?: (val?: FieldValType<T, this['id']>, rowData?: T) => any;
|
|
52
|
+
'onUpdate'?: (val: FieldValType<T, this['id']>, rowData?: T) => unknown;
|
|
53
|
+
'validate'?: ValidationFn<T, this['id']>;
|
|
48
54
|
}
|
|
49
55
|
export interface InputBagelField<T> extends BaseBagelField<T> {
|
|
50
|
-
$el: 'text' |
|
|
56
|
+
$el: 'text' | ComponentExposed<typeof TextInput>;
|
|
51
57
|
id?: PropertyPath<T>;
|
|
52
58
|
type?: string;
|
|
53
59
|
}
|
|
54
60
|
export interface SelectBagelField<T> extends BaseBagelField<T> {
|
|
55
|
-
$el: 'select' |
|
|
61
|
+
$el: 'select' | ComponentExposed<typeof SelectInput>;
|
|
56
62
|
id?: PropertyPath<T>;
|
|
57
63
|
}
|
|
58
64
|
export type Field<T = {
|
|
@@ -67,5 +73,11 @@ export type BglFormSchemaT<T = {
|
|
|
67
73
|
export type BglFormSchemaFnT<T = {
|
|
68
74
|
[key: string]: any;
|
|
69
75
|
}> = (() => BglFormSchemaT<T>) | BglFormSchemaT<T>;
|
|
76
|
+
export interface ValidateInputBaseT {
|
|
77
|
+
validate?: ValidationFn<{
|
|
78
|
+
[key: string]: unknown;
|
|
79
|
+
}, string>;
|
|
80
|
+
getFormData?: () => any;
|
|
81
|
+
}
|
|
70
82
|
export {};
|
|
71
83
|
//# sourceMappingURL=BagelForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,11 @@ import { BglFormSchemaT } from '..';
|
|
|
2
2
|
import { Ref, ComputedRef } from 'vue';
|
|
3
3
|
export type SortDirectionsT = 'ASC' | 'DESC';
|
|
4
4
|
export type EmitOrderT = `${string} ${SortDirectionsT}`;
|
|
5
|
-
export interface TableSchemaProps<T extends
|
|
5
|
+
export interface TableSchemaProps<T extends {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} = {
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}> {
|
|
6
10
|
data: T[];
|
|
7
11
|
schema?: BglFormSchemaT<T> | (() => BglFormSchemaT<T>);
|
|
8
12
|
columns?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableSchema.d.ts","sourceRoot":"","sources":["../../src/types/TableSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAA;AAC5C,MAAM,MAAM,UAAU,GAAG,GAAG,MAAM,IAAI,eAAe,EAAE,CAAA;AAEvD,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"TableSchema.d.ts","sourceRoot":"","sources":["../../src/types/TableSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAA;AAC5C,MAAM,MAAM,UAAU,GAAG,GAAG,MAAM,IAAI,eAAe,EAAE,CAAA;AAEvD,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;IAC1F,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;CAC3D;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC5C,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAA;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAClC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAA;IACjC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IACtH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,eAAe,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;CACvB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BglFormSchemaT, Field, InputBagelField, Option, PropertyPath, SelectBagelField } from '..';
|
|
1
|
+
import { BglFormSchemaT, Field, InputBagelField, Option, PropertyPath, SelectBagelField, VIfType } from '..';
|
|
2
2
|
import { UploadInputProps } from '../components/form/inputs/Upload/upload.types';
|
|
3
|
-
interface InputOptions {
|
|
3
|
+
interface InputOptions<T, K> {
|
|
4
4
|
required?: boolean;
|
|
5
5
|
placeholder?: string;
|
|
6
6
|
class?: string;
|
|
@@ -8,26 +8,26 @@ interface InputOptions {
|
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
helptext?: string;
|
|
10
10
|
autocomplete?: string;
|
|
11
|
-
vIf?:
|
|
11
|
+
vIf?: VIfType<T, K>;
|
|
12
12
|
}
|
|
13
|
-
interface DateOptions extends InputOptions {
|
|
13
|
+
interface DateOptions<T, K> extends InputOptions<T, K> {
|
|
14
14
|
enableTime?: boolean;
|
|
15
15
|
mode?: 'day' | 'month' | 'year';
|
|
16
16
|
locale?: string;
|
|
17
17
|
timezone?: string;
|
|
18
18
|
}
|
|
19
|
-
interface TextInputOptions extends InputOptions {
|
|
19
|
+
interface TextInputOptions<T, K> extends InputOptions<T, K> {
|
|
20
20
|
type?: 'text' | 'tel' | 'email';
|
|
21
21
|
pattern?: string;
|
|
22
22
|
multiline?: boolean;
|
|
23
23
|
}
|
|
24
|
-
interface SlctInputOptions extends InputOptions {
|
|
24
|
+
interface SlctInputOptions<T, K> extends InputOptions<T, K> {
|
|
25
25
|
searchable?: boolean;
|
|
26
26
|
multiselect?: boolean;
|
|
27
27
|
clearable?: boolean;
|
|
28
28
|
onSearch?: (search: string) => any;
|
|
29
29
|
}
|
|
30
|
-
interface NumFieldOptions extends InputOptions {
|
|
30
|
+
interface NumFieldOptions<T, K> extends InputOptions<T, K> {
|
|
31
31
|
max?: number;
|
|
32
32
|
min?: number;
|
|
33
33
|
step?: number;
|
|
@@ -36,62 +36,33 @@ interface NumFieldOptions extends InputOptions {
|
|
|
36
36
|
center?: boolean;
|
|
37
37
|
useGrouping?: boolean;
|
|
38
38
|
}
|
|
39
|
-
type RichTextOptions = InputOptions
|
|
39
|
+
type RichTextOptions<T, K> = InputOptions<T, K>;
|
|
40
40
|
export declare function getBaseField<T extends {
|
|
41
41
|
[key: string]: any;
|
|
42
42
|
}>(id?: PropertyPath<T>, labelOrRest?: string | Partial<Field<T>>, rest?: Partial<Field<T>>): Field<T>;
|
|
43
43
|
export declare function richText<T extends {
|
|
44
44
|
[key: string]: any;
|
|
45
|
-
}>(id: PropertyPath<T>, label?: string, options?: RichTextOptions): Field<T>;
|
|
45
|
+
}>(id: PropertyPath<T>, label?: string, options?: RichTextOptions<T, PropertyPath<T>>): Field<T>;
|
|
46
46
|
export declare function txtField<T extends {
|
|
47
47
|
[key: string]: any;
|
|
48
|
-
}>(id: PropertyPath<T>, label?: string, options?: TextInputOptions): InputBagelField<T>;
|
|
48
|
+
}>(id: PropertyPath<T>, label?: string, options?: TextInputOptions<T, PropertyPath<T>> & Partial<Field<T>>): InputBagelField<T>;
|
|
49
49
|
export declare function selectField<T extends {
|
|
50
50
|
[key: string]: any;
|
|
51
|
-
}>(id: PropertyPath<T>, label?: string, options?: Option[] | (() => Option[]), config?: SlctInputOptions): SelectBagelField<T>;
|
|
51
|
+
}>(id: PropertyPath<T>, label?: string, options?: Option[] | (() => Option[]), config?: SlctInputOptions<T, PropertyPath<T>>): SelectBagelField<T>;
|
|
52
52
|
export declare const slctField: typeof selectField;
|
|
53
53
|
export declare function checkField<T extends {
|
|
54
54
|
[key: string]: any;
|
|
55
|
-
}>(id: PropertyPath<T>, label?: string, options?: InputOptions): Field<T>;
|
|
55
|
+
}>(id: PropertyPath<T>, label?: string, options?: InputOptions<T, PropertyPath<T>>): Field<T>;
|
|
56
56
|
export declare function dateField<T extends {
|
|
57
57
|
[key: string]: any;
|
|
58
|
-
}>(id: PropertyPath<T>, label?: string, options?: DateOptions): Field<T>;
|
|
58
|
+
}>(id: PropertyPath<T>, label?: string, options?: DateOptions<T, PropertyPath<T>>): Field<T>;
|
|
59
59
|
export declare function numField<T extends {
|
|
60
60
|
[key: string]: any;
|
|
61
|
-
}>(id: PropertyPath<T>, label?: string, options?: NumFieldOptions): Field<T>;
|
|
62
|
-
export declare function frmRow<T>(...children: Field[]): Field<T>;
|
|
63
|
-
export type UploadOptions = InputOptions & UploadInputProps;
|
|
64
|
-
export declare function uploadField(id: string, label?: string, options?: UploadOptions):
|
|
65
|
-
|
|
66
|
-
id: string;
|
|
67
|
-
label: string | undefined;
|
|
68
|
-
vIf: boolean | ((item: any, row: any) => boolean) | undefined;
|
|
69
|
-
attrs: {
|
|
70
|
-
required?: boolean;
|
|
71
|
-
placeholder?: string;
|
|
72
|
-
class?: string;
|
|
73
|
-
defaultValue?: string | number;
|
|
74
|
-
disabled?: boolean;
|
|
75
|
-
helptext?: string;
|
|
76
|
-
autocomplete?: string;
|
|
77
|
-
vIf?: boolean | ((item: any, row: any) => boolean);
|
|
78
|
-
label?: string;
|
|
79
|
-
multiple?: boolean;
|
|
80
|
-
modelValue?: string | string[];
|
|
81
|
-
width?: string;
|
|
82
|
-
height?: string | "auto";
|
|
83
|
-
dirPath?: string;
|
|
84
|
-
fill?: boolean;
|
|
85
|
-
oval?: boolean;
|
|
86
|
-
theme?: "dropzone" | "basic";
|
|
87
|
-
accept?: string;
|
|
88
|
-
baseURL?: string;
|
|
89
|
-
dropPlaceholder?: string;
|
|
90
|
-
noFilePlaceholder?: string;
|
|
91
|
-
btnPlaceholder?: string;
|
|
92
|
-
};
|
|
93
|
-
};
|
|
94
|
-
interface RangeOptions extends InputOptions {
|
|
61
|
+
}>(id: PropertyPath<T>, label?: string, options?: NumFieldOptions<T, PropertyPath<T>>): Field<T>;
|
|
62
|
+
export declare function frmRow<T>(...children: Field<T>[]): Field<T>;
|
|
63
|
+
export type UploadOptions<T, K> = InputOptions<T, K> & UploadInputProps;
|
|
64
|
+
export declare function uploadField(id: string, label?: string, options?: UploadOptions<any, any>): Field<any>;
|
|
65
|
+
interface RangeOptions<T, K> extends InputOptions<T, K> {
|
|
95
66
|
min?: number;
|
|
96
67
|
max?: number;
|
|
97
68
|
step?: number;
|
|
@@ -101,7 +72,7 @@ interface RangeOptions extends InputOptions {
|
|
|
101
72
|
}
|
|
102
73
|
export declare function rangeField<T extends {
|
|
103
74
|
[key: string]: any;
|
|
104
|
-
}>(id: PropertyPath<T>, label?: string, options?: RangeOptions): Field<T>;
|
|
75
|
+
}>(id: PropertyPath<T>, label?: string, options?: RangeOptions<T, PropertyPath<T>>): Field<T>;
|
|
105
76
|
export declare function bglForm(idOrField?: string | Field, ...schema: Field[]): {
|
|
106
77
|
$el: string;
|
|
107
78
|
id: string;
|
|
@@ -130,14 +101,14 @@ export declare function colorField<T extends {
|
|
|
130
101
|
[key: string]: any;
|
|
131
102
|
}): Field<T>;
|
|
132
103
|
export declare function findBglFieldById(id: string, _schema: BglFormSchemaT): Field | undefined;
|
|
133
|
-
interface ArrayFieldOptions extends InputOptions {
|
|
104
|
+
interface ArrayFieldOptions<T, K> extends InputOptions<T, K> {
|
|
134
105
|
delete?: boolean;
|
|
135
106
|
add?: boolean;
|
|
136
107
|
}
|
|
137
108
|
type ArrayType = 'number' | 'text';
|
|
138
109
|
export declare function arrField<T extends {
|
|
139
110
|
[key: string]: any;
|
|
140
|
-
}>(id: PropertyPath<T>, label: string, schemaOrType: BglFormSchemaT | ArrayType, options?: ArrayFieldOptions): Field<T>;
|
|
111
|
+
}>(id: PropertyPath<T>, label: string, schemaOrType: BglFormSchemaT | ArrayType, options?: ArrayFieldOptions<T, PropertyPath<T>>): Field<T>;
|
|
141
112
|
export declare function useForm(): {
|
|
142
113
|
txtField: typeof txtField;
|
|
143
114
|
selectField: typeof selectField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5H,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAA;AAErF,UAAU,YAAY,CAAC,CAAC,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CACnB;AAED,UAAU,WAAW,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,CAAA;CAClC;AAED,UAAU,eAAe,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAE/C,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC5D,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EACpB,WAAW,GAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAM,EAC5C,IAAI,GAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAM,GAC1B,KAAK,CAAC,CAAC,CAAC,CAGV;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAC3C,KAAK,CAAC,CAAC,CAAC,CAaV;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAChE,eAAe,CAAC,CAAC,CAAC,CAmBpB;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC3D,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,EACrC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAC3C,gBAAgB,CAAC,CAAC,CAAC,CAoBrB;AAED,eAAO,MAAM,SAAS,oBAAc,CAAA;AAEpC,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1D,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GACxC,KAAK,CAAC,CAAC,CAAC,CAQV;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACzD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GACvC,KAAK,CAAC,CAAC,CAAC,CAmBV;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAC3C,KAAK,CAAC,CAAC,CAAC,CAuBV;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAM3D;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAA;AAEvE,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAUrG;AAED,UAAU,YAAY,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CACvC;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1D,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,CAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GACzC,KAAK,CAAC,CAAC,CAAC,CAgBV;AAED,wBAAgB,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE;;;;;;;;;;;;;;;;EAgBrE;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAC9B,KAAK,CAAC,CAAC,CAAC,CASV;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1D,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAC9B,KAAK,CAAC,CAAC,CAAC,CASV;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,KAAK,GAAG,SAAS,CAUvF;AAED,UAAU,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;CACb;AAED,KAAK,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAElC,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,cAAc,GAAG,SAAS,EACxC,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAC7C,KAAK,CAAC,CAAC,CAAC,CAYV;AAsBD,wBAAgB,OAAO,IAAI;IAC1B,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,WAAW,EAAE,OAAO,WAAW,CAAA;IAC/B,UAAU,EAAE,OAAO,UAAU,CAAA;IAC7B,SAAS,EAAE,OAAO,SAAS,CAAA;IAC3B,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,MAAM,EAAE,OAAO,MAAM,CAAA;IACrB,WAAW,EAAE,OAAO,WAAW,CAAA;IAC/B,UAAU,EAAE,OAAO,UAAU,CAAA;IAC7B,OAAO,EAAE,OAAO,OAAO,CAAA;IACvB,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,UAAU,EAAE,OAAO,UAAU,CAAA;IAC7B,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,gBAAgB,EAAE,OAAO,gBAAgB,CAAA;CACzC,CAiBA"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare function useEscape(event: KeyboardEvent, closeModel: () => void):
|
|
|
8
8
|
export declare function classify(fieldVal?: any, row?: any, ...classes: any[]): string;
|
|
9
9
|
export declare function bindAttrs<T = {
|
|
10
10
|
[key: string]: any;
|
|
11
|
-
}>(attrs?: Attributes
|
|
11
|
+
}>(attrs?: Attributes<T>, fieldVal?: any, row?: T): any;
|
|
12
12
|
export declare function iffer(field: any, itemData: any): any;
|
|
13
13
|
export declare function denullify(itemData?: {
|
|
14
14
|
[key: string]: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI/D,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,IAAI,GAAE,MAAY,QAO1D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAMlC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,iBAGtE;AAED,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,QAIrE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAOpE;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACnD,KAAK,CAAC,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI/D,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,IAAI,GAAE,MAAY,QAO1D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAMlC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,iBAGtE;AAED,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,QAIrE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAOpE;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACnD,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EACrB,QAAQ,CAAC,EAAE,GAAG,EACd,GAAG,CAAC,EAAE,CAAC,OAcP;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAO9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,OAG5E;AAED,eAAO,MAAM,MAAM,GAAI,YAAY,GAAG,YAA0C,CAAA;AAEhF,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,IAAI,CAAC,EAAE,GAAG,EAAE,EACZ,OAAO,CAAC,EAAE,MAAM,EAAE,GAChB,cAAc,CAAC,CAAC,CAAC,CAgBnB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAE,MAAY,oBAErC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAatD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAIvC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,aAAa,SAAO,GAAG,MAAM,GAAG,SAAS,CAG/G;AAED,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAO5C,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,sBAM5C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,GAAE,GAAe,GAAG,GAAG,CAa1F"}
|
package/package.json
CHANGED
package/src/components/Btn.vue
CHANGED
|
@@ -48,7 +48,7 @@ const isComponent = $computed(() => {
|
|
|
48
48
|
})
|
|
49
49
|
|
|
50
50
|
const bind = $computed(() => {
|
|
51
|
-
const obj:
|
|
51
|
+
const obj: { [key: string]: any } = {}
|
|
52
52
|
if (props.to) obj.to = props.to
|
|
53
53
|
else if (props.href) obj.href = props.href
|
|
54
54
|
if (!props.to && !props.href) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script setup lang="ts" generic="T extends
|
|
1
|
+
<script setup lang="ts" generic="T extends { [key: string]: any }">
|
|
2
2
|
import type { BaseBagelField } from '@bagelink/vue'
|
|
3
3
|
import type { Slots } from 'vue'
|
|
4
4
|
import type { TableSchemaProps } from '../types/TableSchema'
|
|
@@ -39,7 +39,7 @@ const firstItem = computed(() => {
|
|
|
39
39
|
|
|
40
40
|
const { renderField } = useSchemaField<T>({
|
|
41
41
|
mode: 'preview',
|
|
42
|
-
|
|
42
|
+
getFormData: () => firstItem.value,
|
|
43
43
|
includeUnset: props.includeUnset
|
|
44
44
|
})
|
|
45
45
|
</script>
|
|
@@ -26,7 +26,7 @@ const isComponent = $computed(() => {
|
|
|
26
26
|
})
|
|
27
27
|
|
|
28
28
|
const bind = $computed(() => {
|
|
29
|
-
const obj:
|
|
29
|
+
const obj: { [key: string]: any } = {}
|
|
30
30
|
if (props.to) obj.to = props.to
|
|
31
31
|
else if (props.href) obj.href = props.href
|
|
32
32
|
if (props.target && (props.to || props.href)) obj.target = props.target
|
|
@@ -21,7 +21,7 @@ interface ColumnConfig {
|
|
|
21
21
|
|
|
22
22
|
// Define props interface with column configuration
|
|
23
23
|
interface Props {
|
|
24
|
-
modelValue: Array<
|
|
24
|
+
modelValue: Array<{ [key: string]: any }>
|
|
25
25
|
columnConfig?: ColumnConfig[]
|
|
26
26
|
label?: string
|
|
27
27
|
allowAddRow?: boolean
|
|
@@ -31,8 +31,8 @@ const { modelValue, columnConfig, label, allowAddRow = true } = defineProps<Prop
|
|
|
31
31
|
const emit = defineEmits(['update:modelValue'])
|
|
32
32
|
|
|
33
33
|
// Helper function to flatten an object with dot notation
|
|
34
|
-
function flattenObject(obj:
|
|
35
|
-
const flattened:
|
|
34
|
+
function flattenObject(obj: { [key: string]: any }, prefix = ''): { [key: string]: any } {
|
|
35
|
+
const flattened: { [key: string]: any } = {}
|
|
36
36
|
|
|
37
37
|
for (const key in obj) {
|
|
38
38
|
if (Object.hasOwn(obj, key)) {
|
|
@@ -51,8 +51,8 @@ function flattenObject(obj: Record<string, any>, prefix = ''): Record<string, an
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
// Helper function to unflatten an object from dot notation
|
|
54
|
-
function unflattenObject(obj:
|
|
55
|
-
const result:
|
|
54
|
+
function unflattenObject(obj: { [key: string]: any }): { [key: string]: any } {
|
|
55
|
+
const result: { [key: string]: any } = {}
|
|
56
56
|
|
|
57
57
|
for (const key in obj) {
|
|
58
58
|
if (Object.hasOwn(obj, key)) {
|
|
@@ -75,7 +75,7 @@ function unflattenObject(obj: Record<string, any>): Record<string, any> {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
// Create local copy of the modelValue with flattened objects
|
|
78
|
-
const localRows = ref<Array<
|
|
78
|
+
const localRows = ref<Array<{ [key: string]: any }>>(
|
|
79
79
|
modelValue
|
|
80
80
|
? modelValue.map(row => flattenObject({ ...row }))
|
|
81
81
|
: []
|
|
@@ -276,7 +276,7 @@ function handleMouseUp() {
|
|
|
276
276
|
interface SpreadsheetChange {
|
|
277
277
|
type: 'cell' | 'row' | 'paste'
|
|
278
278
|
data: {
|
|
279
|
-
rows: Array<
|
|
279
|
+
rows: Array<{ [key: string]: any }>
|
|
280
280
|
selection?: { start: CellPosition, end: CellPosition }
|
|
281
281
|
}
|
|
282
282
|
}
|
|
@@ -391,8 +391,8 @@ const scrollableColumns = computed(() => {
|
|
|
391
391
|
})
|
|
392
392
|
|
|
393
393
|
// Update createEmptyRow to use defaultValue from column config
|
|
394
|
-
function createEmptyRow():
|
|
395
|
-
const newRow:
|
|
394
|
+
function createEmptyRow(): { [key: string]: any } {
|
|
395
|
+
const newRow: { [key: string]: any } = {}
|
|
396
396
|
columns.value.forEach((col) => {
|
|
397
397
|
// Use defaultValue if provided, otherwise use format-specific defaults
|
|
398
398
|
if (col.defaultValue !== undefined) {
|
|
@@ -702,9 +702,9 @@ const columnOptions = computed(() => {
|
|
|
702
702
|
v-for="col in columnOptions"
|
|
703
703
|
:key="col.key"
|
|
704
704
|
v-model="visibleColumns"
|
|
705
|
-
@update:modelValue="val => undefined"
|
|
706
705
|
:value="col.key"
|
|
707
706
|
:label="col.label || col.key"
|
|
707
|
+
@update:modelValue="val => undefined"
|
|
708
708
|
/>
|
|
709
709
|
</div>
|
|
710
710
|
</Dropdown>
|
|
@@ -33,7 +33,7 @@ export function getLanguage(languageKeys: any, locale: string = 'en-US') {
|
|
|
33
33
|
return languageKeys[locale]
|
|
34
34
|
}
|
|
35
35
|
export function translate(key: string, locale: string = 'en-US') {
|
|
36
|
-
const language:
|
|
36
|
+
const language: { [key: string]: any } = languageKeys[key as keyof typeof languageKeys] || {}
|
|
37
37
|
|
|
38
38
|
return language[locale] || key
|
|
39
39
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script setup lang="ts" generic="T extends
|
|
1
|
+
<script setup lang="ts" generic="T extends { [key: string]: any }">
|
|
2
2
|
import type { BaseBagelField } from '@bagelink/vue'
|
|
3
3
|
import type { Slots } from 'vue'
|
|
4
4
|
import type { TableSchemaProps } from '../../types/TableSchema'
|
|
@@ -87,7 +87,7 @@ const {
|
|
|
87
87
|
function renderFieldForRow(field: BaseBagelField<T>, row: T) {
|
|
88
88
|
const { renderField } = useSchemaField<T>({
|
|
89
89
|
mode: 'table',
|
|
90
|
-
|
|
90
|
+
getFormData: () => {
|
|
91
91
|
if (field.id) {
|
|
92
92
|
return { [field.id]: getNestedValue(row, field.id) } as T
|
|
93
93
|
}
|
|
@@ -3,7 +3,7 @@ import type { BglFormSchemaT } from '@bagelink/vue'
|
|
|
3
3
|
export type SortDirectionsT = 'ASC' | 'DESC'
|
|
4
4
|
export type EmitOrderT = `${string} ${SortDirectionsT}`
|
|
5
5
|
|
|
6
|
-
export interface TableSchemaProps<T extends
|
|
6
|
+
export interface TableSchemaProps<T extends { [key: string]: any } = { [key: string]: any }> {
|
|
7
7
|
data: T[]
|
|
8
8
|
schema?: BglFormSchemaT<T> | (() => BglFormSchemaT<T>)
|
|
9
9
|
columns?: string[]
|
|
@@ -27,9 +27,9 @@ interface TransformedDataBase {
|
|
|
27
27
|
[key: `_original_${string}`]: any
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
type TransformedData<
|
|
30
|
+
type TransformedData<TransDataT> = TransDataT & TransformedDataBase
|
|
31
31
|
|
|
32
|
-
export function useTableData<T extends
|
|
32
|
+
export function useTableData<T extends { [key: string]: any }>(options: UseTableDataOptions<T>) {
|
|
33
33
|
// Sorting state
|
|
34
34
|
const sortField = ref('')
|
|
35
35
|
const sortDirection = ref<SortDirectionsT>('ASC')
|
|
@@ -156,7 +156,7 @@ export function useTableData<T extends Record<string, any>>(options: UseTableDat
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
// Helper function to clean up transformed data by removing all added properties
|
|
159
|
-
function cleanTransformedData<T extends
|
|
159
|
+
function cleanTransformedData<T extends { [key: string]: any }>(data: TransformedData<T>): T {
|
|
160
160
|
const cleanData = { ...data } as T
|
|
161
161
|
|
|
162
162
|
// Remove all keys that start with underscore (these are added by the transform function)
|
|
@@ -235,6 +235,6 @@ export function useTableData<T extends Record<string, any>>(options: UseTableDat
|
|
|
235
235
|
sortDirection: computed(() => sortDirection.value),
|
|
236
236
|
toggleSort,
|
|
237
237
|
cleanTransformedData,
|
|
238
|
-
schemaState: computed(() => schemaState.value)
|
|
238
|
+
schemaState: computed(() => schemaState.value),
|
|
239
239
|
}
|
|
240
240
|
}
|
|
@@ -7,7 +7,7 @@ export interface UseTableSelectionOptions<T> extends TableSelectionOptions<T> {
|
|
|
7
7
|
data: Ref<T[]> | ComputedRef<T[]>
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
export function useTableSelection<T extends
|
|
10
|
+
export function useTableSelection<T extends { [key: string]: any }>(options: UseTableSelectionOptions<T>) {
|
|
11
11
|
const allSelectorEl = ref<HTMLInputElement>()
|
|
12
12
|
const computedSelectedItems = computed(() => options.selectedItems.value)
|
|
13
13
|
const isSelectable = computed(() => options.selectable === true && Array.isArray(options.selectedItems.value))
|
|
@@ -11,7 +11,7 @@ const props = withDefaults(defineProps<{
|
|
|
11
11
|
schema?: BglFormSchemaFnT<T>
|
|
12
12
|
tag?: 'form' | 'template'
|
|
13
13
|
class?: string
|
|
14
|
-
onSubmit?: (data: T) => Promise<
|
|
14
|
+
onSubmit?: (data: T) => Promise<unknown> | unknown
|
|
15
15
|
}>(), {
|
|
16
16
|
modelValue: undefined,
|
|
17
17
|
schema: undefined,
|
|
@@ -95,7 +95,7 @@ watch(schemaRef, resolveSchema, { immediate: true, deep: true })
|
|
|
95
95
|
// Update form data
|
|
96
96
|
function updateFormData(fieldId: string, value: any) {
|
|
97
97
|
const keys = fieldId.split('.')
|
|
98
|
-
const newData = clone(formData.value) as
|
|
98
|
+
const newData = clone(formData.value) as { [key: string]: any }
|
|
99
99
|
let current = newData
|
|
100
100
|
|
|
101
101
|
for (let i = 0; i < keys.length - 1; i++) {
|
|
@@ -111,7 +111,7 @@ function updateFormData(fieldId: string, value: any) {
|
|
|
111
111
|
|
|
112
112
|
// Form validation
|
|
113
113
|
const validateForm = () => form.value?.reportValidity() ?? false
|
|
114
|
-
|
|
114
|
+
const formError = ref<Error>()
|
|
115
115
|
// Form submission
|
|
116
116
|
async function handleSubmit() {
|
|
117
117
|
try {
|
|
@@ -133,7 +133,7 @@ async function handleSubmit() {
|
|
|
133
133
|
// Field rendering
|
|
134
134
|
const { renderField } = useSchemaField<T>({
|
|
135
135
|
mode: 'form',
|
|
136
|
-
|
|
136
|
+
getFormData: () => ({
|
|
137
137
|
...formData.value,
|
|
138
138
|
get: (path: string) => getNestedValue(formData.value, path, '')
|
|
139
139
|
}),
|
|
@@ -40,7 +40,6 @@ const time = new Time(props.firstDayOfWeek, props.locale)
|
|
|
40
40
|
|
|
41
41
|
function formatDisplayDate(date: Date | string | undefined): string {
|
|
42
42
|
if (!date) return ''
|
|
43
|
-
console.log('date', date)
|
|
44
43
|
return formatDate(date, props.enableTime ? 'DD.MM.YY HH:mm' : 'DD.MM.YY', props.locale)
|
|
45
44
|
}
|
|
46
45
|
|