@ramathibodi/nuxt-commons 0.1.74 → 4.0.1
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/README.md +9 -2
- package/dist/module.json +4 -4
- package/dist/module.mjs +4 -4
- package/dist/runtime/bridges/authentication.d.ts +21 -0
- package/dist/runtime/bridges/authentication.js +20 -0
- package/dist/runtime/bridges/graphql.d.ts +17 -0
- package/dist/runtime/bridges/graphql.js +45 -0
- package/dist/runtime/components/Alert.d.vue.ts +3 -0
- package/dist/runtime/components/Alert.vue +17 -26
- package/dist/runtime/components/Alert.vue.d.ts +3 -0
- package/dist/runtime/components/BarcodeReader.d.vue.ts +9 -0
- package/dist/runtime/components/BarcodeReader.vue +56 -81
- package/dist/runtime/components/BarcodeReader.vue.d.ts +9 -0
- package/dist/runtime/components/ExportCSV.d.vue.ts +55 -0
- package/dist/runtime/components/ExportCSV.vue +39 -76
- package/dist/runtime/components/ExportCSV.vue.d.ts +55 -0
- package/dist/runtime/components/FileBtn.d.vue.ts +53 -0
- package/dist/runtime/components/FileBtn.vue +23 -50
- package/dist/runtime/components/FileBtn.vue.d.ts +53 -0
- package/dist/runtime/components/ImportCSV.d.vue.ts +52 -0
- package/dist/runtime/components/ImportCSV.vue +60 -111
- package/dist/runtime/components/ImportCSV.vue.d.ts +52 -0
- package/dist/runtime/components/MrzReader.d.vue.ts +19 -0
- package/dist/runtime/components/MrzReader.vue +69 -109
- package/dist/runtime/components/MrzReader.vue.d.ts +19 -0
- package/dist/runtime/components/SplitterPanel.d.vue.ts +15 -0
- package/dist/runtime/components/SplitterPanel.vue +18 -35
- package/dist/runtime/components/SplitterPanel.vue.d.ts +15 -0
- package/dist/runtime/components/TabsGroup.d.vue.ts +19 -0
- package/dist/runtime/components/TabsGroup.vue +8 -20
- package/dist/runtime/components/TabsGroup.vue.d.ts +19 -0
- package/dist/runtime/components/TextBarcode.d.vue.ts +12 -0
- package/dist/runtime/components/TextBarcode.vue +22 -45
- package/dist/runtime/components/TextBarcode.vue.d.ts +12 -0
- package/dist/runtime/components/device/IdCardButton.d.vue.ts +57 -0
- package/dist/runtime/components/device/IdCardButton.vue +30 -67
- package/dist/runtime/components/device/IdCardButton.vue.d.ts +57 -0
- package/dist/runtime/components/device/IdCardWebSocket.d.vue.ts +55 -0
- package/dist/runtime/components/device/IdCardWebSocket.vue +104 -165
- package/dist/runtime/components/device/IdCardWebSocket.vue.d.ts +55 -0
- package/dist/runtime/components/device/Scanner.d.vue.ts +66 -0
- package/dist/runtime/components/device/Scanner.vue +97 -178
- package/dist/runtime/components/device/Scanner.vue.d.ts +66 -0
- package/dist/runtime/components/dialog/Confirm.d.vue.ts +37 -0
- package/dist/runtime/components/dialog/Confirm.vue +30 -59
- package/dist/runtime/components/dialog/Confirm.vue.d.ts +37 -0
- package/dist/runtime/components/dialog/Host.d.vue.ts +9 -0
- package/dist/runtime/components/dialog/Host.vue +34 -57
- package/dist/runtime/components/dialog/Host.vue.d.ts +9 -0
- package/dist/runtime/components/dialog/Index.d.vue.ts +24 -0
- package/dist/runtime/components/dialog/Index.vue +20 -40
- package/dist/runtime/components/dialog/Index.vue.d.ts +24 -0
- package/dist/runtime/components/dialog/Loading.d.vue.ts +21 -0
- package/dist/runtime/components/dialog/Loading.vue +12 -29
- package/dist/runtime/components/dialog/Loading.vue.d.ts +21 -0
- package/dist/runtime/components/dialog/default/Confirm.d.vue.ts +40 -0
- package/dist/runtime/components/dialog/default/Confirm.vue +29 -62
- package/dist/runtime/components/dialog/default/Confirm.vue.d.ts +40 -0
- package/dist/runtime/components/dialog/default/Loading.d.vue.ts +23 -0
- package/dist/runtime/components/dialog/default/Loading.vue +12 -29
- package/dist/runtime/components/dialog/default/Loading.vue.d.ts +23 -0
- package/dist/runtime/components/dialog/default/Notify.d.vue.ts +23 -0
- package/dist/runtime/components/dialog/default/Notify.vue +19 -48
- package/dist/runtime/components/dialog/default/Notify.vue.d.ts +23 -0
- package/dist/runtime/components/dialog/default/Printing.d.vue.ts +21 -0
- package/dist/runtime/components/dialog/default/Printing.vue +13 -29
- package/dist/runtime/components/dialog/default/Printing.vue.d.ts +21 -0
- package/dist/runtime/components/dialog/default/VerifyUser.d.vue.ts +29 -0
- package/dist/runtime/components/dialog/default/VerifyUser.vue +44 -82
- package/dist/runtime/components/dialog/default/VerifyUser.vue.d.ts +29 -0
- package/dist/runtime/components/document/Form.d.vue.ts +9 -0
- package/dist/runtime/components/document/Form.vue +27 -42
- package/dist/runtime/components/document/Form.vue.d.ts +9 -0
- package/dist/runtime/components/document/TemplateBuilder.d.vue.ts +24 -0
- package/dist/runtime/components/document/TemplateBuilder.vue +154 -194
- package/dist/runtime/components/document/TemplateBuilder.vue.d.ts +24 -0
- package/dist/runtime/components/form/ActionPad.d.vue.ts +114 -0
- package/dist/runtime/components/form/ActionPad.vue +48 -85
- package/dist/runtime/components/form/ActionPad.vue.d.ts +114 -0
- package/dist/runtime/components/form/Birthdate.d.vue.ts +38 -0
- package/dist/runtime/components/form/Birthdate.vue +44 -76
- package/dist/runtime/components/form/Birthdate.vue.d.ts +38 -0
- package/dist/runtime/components/form/CheckboxGroup.d.vue.ts +41 -0
- package/dist/runtime/components/form/CheckboxGroup.vue +34 -64
- package/dist/runtime/components/form/CheckboxGroup.vue.d.ts +41 -0
- package/dist/runtime/components/form/CodeEditor.d.vue.ts +25 -0
- package/dist/runtime/components/form/CodeEditor.vue +18 -36
- package/dist/runtime/components/form/CodeEditor.vue.d.ts +25 -0
- package/dist/runtime/components/form/Date.d.vue.ts +86 -0
- package/dist/runtime/components/form/Date.vue +109 -162
- package/dist/runtime/components/form/Date.vue.d.ts +86 -0
- package/dist/runtime/components/form/DateTime.d.vue.ts +36 -0
- package/dist/runtime/components/form/DateTime.vue +94 -143
- package/dist/runtime/components/form/DateTime.vue.d.ts +36 -0
- package/dist/runtime/components/form/Dialog.d.vue.ts +69 -0
- package/dist/runtime/components/form/Dialog.vue +60 -96
- package/dist/runtime/components/form/Dialog.vue.d.ts +69 -0
- package/dist/runtime/components/form/EditPad.d.vue.ts +113 -0
- package/dist/runtime/components/form/EditPad.vue +49 -85
- package/dist/runtime/components/form/EditPad.vue.d.ts +113 -0
- package/dist/runtime/components/form/File.d.vue.ts +65 -0
- package/dist/runtime/components/form/File.vue +112 -186
- package/dist/runtime/components/form/File.vue.d.ts +65 -0
- package/dist/runtime/components/form/Hidden.d.vue.ts +12 -0
- package/dist/runtime/components/form/Hidden.vue +17 -34
- package/dist/runtime/components/form/Hidden.vue.d.ts +12 -0
- package/dist/runtime/components/form/Iterator.d.vue.ts +279 -0
- package/dist/runtime/components/form/Iterator.vue +162 -252
- package/dist/runtime/components/form/Iterator.vue.d.ts +279 -0
- package/dist/runtime/components/form/Login.d.vue.ts +32 -0
- package/dist/runtime/components/form/Login.vue +23 -55
- package/dist/runtime/components/form/Login.vue.d.ts +32 -0
- package/dist/runtime/components/form/Pad.d.vue.ts +674 -0
- package/dist/runtime/components/form/Pad.vue +166 -265
- package/dist/runtime/components/form/Pad.vue.d.ts +674 -0
- package/dist/runtime/components/form/SignPad.d.vue.ts +62 -0
- package/dist/runtime/components/form/SignPad.vue +80 -126
- package/dist/runtime/components/form/SignPad.vue.d.ts +62 -0
- package/dist/runtime/components/form/System.d.vue.ts +34 -0
- package/dist/runtime/components/form/System.vue +18 -32
- package/dist/runtime/components/form/System.vue.d.ts +34 -0
- package/dist/runtime/components/form/Table.d.vue.ts +221 -0
- package/dist/runtime/components/form/Table.vue +123 -182
- package/dist/runtime/components/form/Table.vue.d.ts +221 -0
- package/dist/runtime/components/form/TableData.d.vue.ts +102 -0
- package/dist/runtime/components/form/TableData.vue +109 -139
- package/dist/runtime/components/form/TableData.vue.d.ts +102 -0
- package/dist/runtime/components/form/Time.d.vue.ts +49 -0
- package/dist/runtime/components/form/Time.vue +64 -99
- package/dist/runtime/components/form/Time.vue.d.ts +49 -0
- package/dist/runtime/components/form/images/Capture.d.vue.ts +96 -0
- package/dist/runtime/components/form/images/Capture.vue +104 -147
- package/dist/runtime/components/form/images/Capture.vue.d.ts +96 -0
- package/dist/runtime/components/form/images/Edit.d.vue.ts +29 -0
- package/dist/runtime/components/form/images/Edit.vue +57 -81
- package/dist/runtime/components/form/images/Edit.vue.d.ts +29 -0
- package/dist/runtime/components/form/images/Field.d.vue.ts +27 -0
- package/dist/runtime/components/form/images/Field.vue +136 -205
- package/dist/runtime/components/form/images/Field.vue.d.ts +27 -0
- package/dist/runtime/components/form/images/Pad.d.vue.ts +13 -0
- package/dist/runtime/components/form/images/Pad.vue +23 -40
- package/dist/runtime/components/form/images/Pad.vue.d.ts +13 -0
- package/dist/runtime/components/label/Date.d.vue.ts +13 -0
- package/dist/runtime/components/label/Date.vue +13 -29
- package/dist/runtime/components/label/Date.vue.d.ts +13 -0
- package/dist/runtime/components/label/DateAgo.d.vue.ts +20 -0
- package/dist/runtime/components/label/DateAgo.vue +43 -75
- package/dist/runtime/components/label/DateAgo.vue.d.ts +20 -0
- package/dist/runtime/components/label/DateCount.d.vue.ts +22 -0
- package/dist/runtime/components/label/DateCount.vue +58 -105
- package/dist/runtime/components/label/DateCount.vue.d.ts +22 -0
- package/dist/runtime/components/label/Field.d.vue.ts +38 -0
- package/dist/runtime/components/label/Field.vue +18 -40
- package/dist/runtime/components/label/Field.vue.d.ts +38 -0
- package/dist/runtime/components/label/FormatMoney.d.vue.ts +12 -0
- package/dist/runtime/components/label/FormatMoney.vue +12 -28
- package/dist/runtime/components/label/FormatMoney.vue.d.ts +12 -0
- package/dist/runtime/components/label/Mask.d.vue.ts +10 -0
- package/dist/runtime/components/label/Mask.vue +21 -38
- package/dist/runtime/components/label/Mask.vue.d.ts +10 -0
- package/dist/runtime/components/label/Object.d.vue.ts +8 -0
- package/dist/runtime/components/label/Object.vue +10 -20
- package/dist/runtime/components/label/Object.vue.d.ts +8 -0
- package/dist/runtime/components/master/Autocomplete.d.vue.ts +70 -0
- package/dist/runtime/components/master/Autocomplete.vue +25 -34
- package/dist/runtime/components/master/Autocomplete.vue.d.ts +70 -0
- package/dist/runtime/components/master/Combobox.d.vue.ts +70 -0
- package/dist/runtime/components/master/Combobox.vue +26 -35
- package/dist/runtime/components/master/Combobox.vue.d.ts +70 -0
- package/dist/runtime/components/master/RadioGroup.d.vue.ts +51 -0
- package/dist/runtime/components/master/RadioGroup.vue +44 -59
- package/dist/runtime/components/master/RadioGroup.vue.d.ts +51 -0
- package/dist/runtime/components/master/Select.d.vue.ts +68 -0
- package/dist/runtime/components/master/Select.vue +25 -34
- package/dist/runtime/components/master/Select.vue.d.ts +68 -0
- package/dist/runtime/components/master/label.d.vue.ts +24 -0
- package/dist/runtime/components/master/label.vue +22 -42
- package/dist/runtime/components/master/label.vue.d.ts +24 -0
- package/dist/runtime/components/model/Autocomplete.d.vue.ts +82 -0
- package/dist/runtime/components/model/Autocomplete.vue +50 -49
- package/dist/runtime/components/model/Autocomplete.vue.d.ts +82 -0
- package/dist/runtime/components/model/Combobox.d.vue.ts +82 -0
- package/dist/runtime/components/model/Combobox.vue +51 -49
- package/dist/runtime/components/model/Combobox.vue.d.ts +82 -0
- package/dist/runtime/components/model/Pad.d.vue.ts +72 -0
- package/dist/runtime/components/model/Pad.vue +50 -65
- package/dist/runtime/components/model/Pad.vue.d.ts +72 -0
- package/dist/runtime/components/model/Select.d.vue.ts +72 -0
- package/dist/runtime/components/model/Select.vue +42 -44
- package/dist/runtime/components/model/Select.vue.d.ts +72 -0
- package/dist/runtime/components/model/Table.d.vue.ts +272 -0
- package/dist/runtime/components/model/Table.vue +121 -145
- package/dist/runtime/components/model/Table.vue.d.ts +272 -0
- package/dist/runtime/components/model/iterator.d.vue.ts +321 -0
- package/dist/runtime/components/model/iterator.vue +148 -183
- package/dist/runtime/components/model/iterator.vue.d.ts +321 -0
- package/dist/runtime/components/model/label.d.vue.ts +26 -0
- package/dist/runtime/components/model/label.vue +25 -43
- package/dist/runtime/components/model/label.vue.d.ts +26 -0
- package/dist/runtime/components/pdf/Print.d.vue.ts +17 -0
- package/dist/runtime/components/pdf/Print.vue +27 -50
- package/dist/runtime/components/pdf/Print.vue.d.ts +17 -0
- package/dist/runtime/components/pdf/View.d.vue.ts +52 -0
- package/dist/runtime/components/pdf/View.vue +58 -95
- package/dist/runtime/components/pdf/View.vue.d.ts +52 -0
- package/dist/runtime/composables/api.js +4 -2
- package/dist/runtime/composables/assetFile.js +4 -2
- package/dist/runtime/composables/dialog.d.ts +1 -1
- package/dist/runtime/composables/document/template.js +3 -3
- package/dist/runtime/composables/document/templateFormTable.js +1 -0
- package/dist/runtime/composables/graphql.d.ts +2 -2
- package/dist/runtime/composables/graphql.js +5 -5
- package/dist/runtime/composables/graphqlModel.d.ts +6 -6
- package/dist/runtime/composables/graphqlModelItem.d.ts +4 -4
- package/dist/runtime/composables/graphqlModelOperation.d.ts +6 -6
- package/dist/runtime/composables/graphqlModelOperation.js +2 -1
- package/dist/runtime/composables/graphqlOperation.js +5 -1
- package/dist/runtime/composables/hostAgentWs.d.ts +1 -1
- package/dist/runtime/composables/lookupListMaster.js +3 -3
- package/dist/runtime/composables/menu.js +2 -2
- package/dist/runtime/composables/userPermission.d.ts +1 -1
- package/dist/runtime/composables/utils/fuzzy.d.ts +2 -1
- package/dist/runtime/labs/Calendar.d.vue.ts +35 -0
- package/dist/runtime/labs/Calendar.vue +47 -75
- package/dist/runtime/labs/Calendar.vue.d.ts +35 -0
- package/dist/runtime/labs/form/EditMobile.d.vue.ts +12 -0
- package/dist/runtime/labs/form/EditMobile.vue +19 -36
- package/dist/runtime/labs/form/EditMobile.vue.d.ts +12 -0
- package/dist/runtime/labs/form/TextFieldMask.d.vue.ts +21 -0
- package/dist/runtime/labs/form/TextFieldMask.vue +19 -25
- package/dist/runtime/labs/form/TextFieldMask.vue.d.ts +21 -0
- package/dist/runtime/plugins/dialogManager.js +2 -2
- package/dist/runtime/plugins/permission.js +3 -3
- package/dist/runtime/types/bridge.d.ts +14 -0
- package/dist/runtime/utils/datetime.js +1 -1
- package/dist/types.d.mts +2 -6
- package/package.json +71 -59
- package/scripts/ci-release.mjs +125 -0
- package/scripts/release-version.mjs +68 -0
- package/scripts/release.mjs +49 -0
- package/dist/module.cjs +0 -5
- package/dist/module.d.ts +0 -8
- package/dist/types.d.ts +0 -7
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import FormPadComponent from './Pad.vue.js';
|
|
2
|
+
interface Props extends /* @vue-ignore */ InstanceType<typeof FormPadComponent['$props']> {
|
|
3
|
+
title?: string;
|
|
4
|
+
initialData?: object;
|
|
5
|
+
formData?: object;
|
|
6
|
+
saveCaption?: string;
|
|
7
|
+
cancelCaption?: string;
|
|
8
|
+
readonly?: boolean;
|
|
9
|
+
showTitle?: boolean;
|
|
10
|
+
skipValidation?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare function save(): void;
|
|
13
|
+
declare function cancel(): void;
|
|
14
|
+
declare var __VLS_14: {
|
|
15
|
+
operation: {
|
|
16
|
+
isDataChange: boolean;
|
|
17
|
+
isCreating: boolean;
|
|
18
|
+
isSaving: boolean;
|
|
19
|
+
save: typeof save;
|
|
20
|
+
cancel: typeof cancel;
|
|
21
|
+
};
|
|
22
|
+
}, __VLS_22: {
|
|
23
|
+
operation: {
|
|
24
|
+
isDataChange: boolean;
|
|
25
|
+
isCreating: boolean;
|
|
26
|
+
isSaving: boolean;
|
|
27
|
+
save: typeof save;
|
|
28
|
+
cancel: typeof cancel;
|
|
29
|
+
};
|
|
30
|
+
}, __VLS_39: any, __VLS_47: {
|
|
31
|
+
operation: {
|
|
32
|
+
isDataChange: boolean;
|
|
33
|
+
isCreating: boolean;
|
|
34
|
+
isSaving: boolean;
|
|
35
|
+
save: typeof save;
|
|
36
|
+
cancel: typeof cancel;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
type __VLS_Slots = {} & {
|
|
40
|
+
titleToolbar?: (props: typeof __VLS_14) => any;
|
|
41
|
+
} & {
|
|
42
|
+
title?: (props: typeof __VLS_22) => any;
|
|
43
|
+
} & {
|
|
44
|
+
default?: (props: typeof __VLS_39) => any;
|
|
45
|
+
} & {
|
|
46
|
+
action?: (props: typeof __VLS_47) => any;
|
|
47
|
+
};
|
|
48
|
+
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
49
|
+
saveCaption: string;
|
|
50
|
+
cancelCaption: string;
|
|
51
|
+
readonly: boolean;
|
|
52
|
+
showTitle: boolean;
|
|
53
|
+
skipValidation: boolean;
|
|
54
|
+
}>>, {
|
|
55
|
+
operation: import("vue").Ref<{
|
|
56
|
+
isDataChange: boolean;
|
|
57
|
+
isCreating: boolean;
|
|
58
|
+
isSaving: boolean;
|
|
59
|
+
save: typeof save;
|
|
60
|
+
cancel: typeof cancel;
|
|
61
|
+
}, {
|
|
62
|
+
isDataChange: import("vue").ComputedRef<boolean>;
|
|
63
|
+
isCreating: import("vue").ComputedRef<boolean>;
|
|
64
|
+
isSaving: import("vue").Ref<boolean, boolean>;
|
|
65
|
+
save: typeof save;
|
|
66
|
+
cancel: typeof cancel;
|
|
67
|
+
} | {
|
|
68
|
+
isDataChange: boolean;
|
|
69
|
+
isCreating: boolean;
|
|
70
|
+
isSaving: boolean;
|
|
71
|
+
save: typeof save;
|
|
72
|
+
cancel: typeof cancel;
|
|
73
|
+
}>;
|
|
74
|
+
formPad: import("vue").Ref<any, any>;
|
|
75
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
76
|
+
update: (...args: any[]) => void;
|
|
77
|
+
create: (...args: any[]) => void;
|
|
78
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
79
|
+
saveCaption: string;
|
|
80
|
+
cancelCaption: string;
|
|
81
|
+
readonly: boolean;
|
|
82
|
+
showTitle: boolean;
|
|
83
|
+
skipValidation: boolean;
|
|
84
|
+
}>>> & Readonly<{
|
|
85
|
+
onUpdate?: ((...args: any[]) => any) | undefined;
|
|
86
|
+
onCreate?: ((...args: any[]) => any) | undefined;
|
|
87
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
88
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
89
|
+
declare const _default: typeof __VLS_export;
|
|
90
|
+
export default _default;
|
|
91
|
+
type __VLS_TypePropsToOption<T> = {
|
|
92
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
93
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
94
|
+
} : {
|
|
95
|
+
type: import('vue').PropType<T[K]>;
|
|
96
|
+
required: true;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
type __VLS_WithDefaults<P, D> = {
|
|
100
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
101
|
+
default: D[K];
|
|
102
|
+
}> : P[K];
|
|
103
|
+
};
|
|
104
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
105
|
+
new (): {
|
|
106
|
+
$slots: S;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
110
|
+
[K in keyof T]: T[K];
|
|
111
|
+
} : {
|
|
112
|
+
[K in keyof T as K]: T[K];
|
|
113
|
+
}) & {};
|
|
@@ -1,104 +1,68 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Public props accepted by FormEditPad.
|
|
24
|
-
* Document each prop field with intent, defaults, and side effects for clear generated docs.
|
|
25
|
-
*/
|
|
26
|
-
const props = withDefaults(defineProps<Props>(), {
|
|
27
|
-
saveCaption: 'บันทึก',
|
|
28
|
-
cancelCaption: 'ยกเลิก',
|
|
29
|
-
readonly: false,
|
|
30
|
-
showTitle: false,
|
|
31
|
-
skipValidation:false
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
const isSaving = ref<boolean>(false)
|
|
35
|
-
const formPadRef = ref()
|
|
36
|
-
const formData = ref<object>({})
|
|
37
|
-
const formDataOriginalValue = ref<object>()
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Custom events emitted by FormEditPad.
|
|
41
|
-
* Parents can listen to these events to react to user actions and internal state changes.
|
|
42
|
-
*/
|
|
43
|
-
const emit = defineEmits(['create', 'update'])
|
|
44
|
-
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, ref, watchEffect } from "vue";
|
|
3
|
+
import { cloneDeep, isEqual } from "lodash-es";
|
|
4
|
+
import FormPadComponent from "./Pad.vue";
|
|
5
|
+
const props = defineProps({
|
|
6
|
+
title: { type: String, required: false },
|
|
7
|
+
initialData: { type: Object, required: false },
|
|
8
|
+
formData: { type: Object, required: false },
|
|
9
|
+
saveCaption: { type: String, required: false, default: "\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01" },
|
|
10
|
+
cancelCaption: { type: String, required: false, default: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01" },
|
|
11
|
+
readonly: { type: Boolean, required: false, default: false },
|
|
12
|
+
showTitle: { type: Boolean, required: false, default: false },
|
|
13
|
+
skipValidation: { type: Boolean, required: false, default: false }
|
|
14
|
+
});
|
|
15
|
+
const isSaving = ref(false);
|
|
16
|
+
const formPadRef = ref();
|
|
17
|
+
const formData = ref({});
|
|
18
|
+
const formDataOriginalValue = ref();
|
|
19
|
+
const emit = defineEmits(["create", "update"]);
|
|
45
20
|
function save() {
|
|
46
21
|
if (props.skipValidation || formPadRef.value?.isValid) {
|
|
47
|
-
isSaving.value = true
|
|
48
|
-
emit(
|
|
22
|
+
isSaving.value = true;
|
|
23
|
+
emit(isCreating.value ? "create" : "update", cloneDeep(formData.value), callback);
|
|
49
24
|
}
|
|
50
25
|
}
|
|
51
|
-
|
|
52
26
|
function cancel() {
|
|
53
|
-
reset()
|
|
27
|
+
reset();
|
|
54
28
|
}
|
|
55
|
-
|
|
56
29
|
function reset() {
|
|
57
|
-
formDataOriginalValue.value =
|
|
58
|
-
formPadRef.value?.reset()
|
|
59
|
-
loadFormData()
|
|
30
|
+
formDataOriginalValue.value = void 0;
|
|
31
|
+
formPadRef.value?.reset();
|
|
32
|
+
loadFormData();
|
|
60
33
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
isSaving.value = false
|
|
34
|
+
const callback = {
|
|
35
|
+
done: function() {
|
|
36
|
+
isSaving.value = false;
|
|
65
37
|
},
|
|
66
|
-
error: function
|
|
67
|
-
isSaving.value = false
|
|
38
|
+
error: function() {
|
|
39
|
+
isSaving.value = false;
|
|
68
40
|
},
|
|
69
|
-
setData: function
|
|
70
|
-
formData.value = cloneDeep(item)
|
|
71
|
-
formDataOriginalValue.value = cloneDeep(item)
|
|
41
|
+
setData: function(item) {
|
|
42
|
+
formData.value = cloneDeep(item);
|
|
43
|
+
formDataOriginalValue.value = cloneDeep(item);
|
|
72
44
|
}
|
|
73
|
-
}
|
|
74
|
-
|
|
45
|
+
};
|
|
75
46
|
const isDataChange = computed(() => {
|
|
76
|
-
return !(
|
|
77
|
-
})
|
|
78
|
-
|
|
47
|
+
return !(isCreating.value ? isEqual(formData.value, createOriginalValue.value) : isEqual(formData.value, formDataOriginalValue.value));
|
|
48
|
+
});
|
|
79
49
|
const isCreating = computed(() => {
|
|
80
|
-
return !props.formData
|
|
81
|
-
})
|
|
82
|
-
|
|
50
|
+
return !props.formData;
|
|
51
|
+
});
|
|
83
52
|
const createOriginalValue = computed(() => {
|
|
84
|
-
return Object.assign({}, props.initialData)
|
|
85
|
-
})
|
|
86
|
-
|
|
53
|
+
return Object.assign({}, props.initialData);
|
|
54
|
+
});
|
|
87
55
|
const loadFormData = () => {
|
|
88
56
|
if (props.formData) {
|
|
89
|
-
formData.value = cloneDeep(props.formData)
|
|
90
|
-
formDataOriginalValue.value = cloneDeep(props.formData)
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
formData.value = Object.assign({}, cloneDeep(props.initialData))
|
|
57
|
+
formData.value = cloneDeep(props.formData);
|
|
58
|
+
formDataOriginalValue.value = cloneDeep(props.formData);
|
|
59
|
+
} else {
|
|
60
|
+
formData.value = Object.assign({}, cloneDeep(props.initialData));
|
|
94
61
|
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
watchEffect(loadFormData)
|
|
100
|
-
|
|
101
|
-
defineExpose({operation,formPad:formPadRef})
|
|
62
|
+
};
|
|
63
|
+
const operation = ref({ isDataChange, isCreating, isSaving, save, cancel });
|
|
64
|
+
watchEffect(loadFormData);
|
|
65
|
+
defineExpose({ operation, formPad: formPadRef });
|
|
102
66
|
</script>
|
|
103
67
|
|
|
104
68
|
<template>
|
|
@@ -107,7 +71,7 @@ defineExpose({operation,formPad:formPadRef})
|
|
|
107
71
|
<slot name="titleToolbar" :operation="operation">
|
|
108
72
|
<VToolbarTitle>
|
|
109
73
|
<slot name="title" :operation="operation">
|
|
110
|
-
{{
|
|
74
|
+
{{ isCreating ? "New" : "Edit" }} {{ title }}
|
|
111
75
|
</slot>
|
|
112
76
|
</VToolbarTitle>
|
|
113
77
|
</slot>
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import FormPadComponent from './Pad.vue.js';
|
|
2
|
+
interface Props extends /* @vue-ignore */ InstanceType<typeof FormPadComponent['$props']> {
|
|
3
|
+
title?: string;
|
|
4
|
+
initialData?: object;
|
|
5
|
+
formData?: object;
|
|
6
|
+
saveCaption?: string;
|
|
7
|
+
cancelCaption?: string;
|
|
8
|
+
readonly?: boolean;
|
|
9
|
+
showTitle?: boolean;
|
|
10
|
+
skipValidation?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare function save(): void;
|
|
13
|
+
declare function cancel(): void;
|
|
14
|
+
declare var __VLS_14: {
|
|
15
|
+
operation: {
|
|
16
|
+
isDataChange: boolean;
|
|
17
|
+
isCreating: boolean;
|
|
18
|
+
isSaving: boolean;
|
|
19
|
+
save: typeof save;
|
|
20
|
+
cancel: typeof cancel;
|
|
21
|
+
};
|
|
22
|
+
}, __VLS_22: {
|
|
23
|
+
operation: {
|
|
24
|
+
isDataChange: boolean;
|
|
25
|
+
isCreating: boolean;
|
|
26
|
+
isSaving: boolean;
|
|
27
|
+
save: typeof save;
|
|
28
|
+
cancel: typeof cancel;
|
|
29
|
+
};
|
|
30
|
+
}, __VLS_39: any, __VLS_47: {
|
|
31
|
+
operation: {
|
|
32
|
+
isDataChange: boolean;
|
|
33
|
+
isCreating: boolean;
|
|
34
|
+
isSaving: boolean;
|
|
35
|
+
save: typeof save;
|
|
36
|
+
cancel: typeof cancel;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
type __VLS_Slots = {} & {
|
|
40
|
+
titleToolbar?: (props: typeof __VLS_14) => any;
|
|
41
|
+
} & {
|
|
42
|
+
title?: (props: typeof __VLS_22) => any;
|
|
43
|
+
} & {
|
|
44
|
+
default?: (props: typeof __VLS_39) => any;
|
|
45
|
+
} & {
|
|
46
|
+
action?: (props: typeof __VLS_47) => any;
|
|
47
|
+
};
|
|
48
|
+
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
49
|
+
saveCaption: string;
|
|
50
|
+
cancelCaption: string;
|
|
51
|
+
readonly: boolean;
|
|
52
|
+
showTitle: boolean;
|
|
53
|
+
skipValidation: boolean;
|
|
54
|
+
}>>, {
|
|
55
|
+
operation: import("vue").Ref<{
|
|
56
|
+
isDataChange: boolean;
|
|
57
|
+
isCreating: boolean;
|
|
58
|
+
isSaving: boolean;
|
|
59
|
+
save: typeof save;
|
|
60
|
+
cancel: typeof cancel;
|
|
61
|
+
}, {
|
|
62
|
+
isDataChange: import("vue").ComputedRef<boolean>;
|
|
63
|
+
isCreating: import("vue").ComputedRef<boolean>;
|
|
64
|
+
isSaving: import("vue").Ref<boolean, boolean>;
|
|
65
|
+
save: typeof save;
|
|
66
|
+
cancel: typeof cancel;
|
|
67
|
+
} | {
|
|
68
|
+
isDataChange: boolean;
|
|
69
|
+
isCreating: boolean;
|
|
70
|
+
isSaving: boolean;
|
|
71
|
+
save: typeof save;
|
|
72
|
+
cancel: typeof cancel;
|
|
73
|
+
}>;
|
|
74
|
+
formPad: import("vue").Ref<any, any>;
|
|
75
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
76
|
+
update: (...args: any[]) => void;
|
|
77
|
+
create: (...args: any[]) => void;
|
|
78
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
79
|
+
saveCaption: string;
|
|
80
|
+
cancelCaption: string;
|
|
81
|
+
readonly: boolean;
|
|
82
|
+
showTitle: boolean;
|
|
83
|
+
skipValidation: boolean;
|
|
84
|
+
}>>> & Readonly<{
|
|
85
|
+
onUpdate?: ((...args: any[]) => any) | undefined;
|
|
86
|
+
onCreate?: ((...args: any[]) => any) | undefined;
|
|
87
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
88
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
89
|
+
declare const _default: typeof __VLS_export;
|
|
90
|
+
export default _default;
|
|
91
|
+
type __VLS_TypePropsToOption<T> = {
|
|
92
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
93
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
94
|
+
} : {
|
|
95
|
+
type: import('vue').PropType<T[K]>;
|
|
96
|
+
required: true;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
type __VLS_WithDefaults<P, D> = {
|
|
100
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
101
|
+
default: D[K];
|
|
102
|
+
}> : P[K];
|
|
103
|
+
};
|
|
104
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
105
|
+
new (): {
|
|
106
|
+
$slots: S;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
110
|
+
[K in keyof T]: T[K];
|
|
111
|
+
} : {
|
|
112
|
+
[K in keyof T as K]: T[K];
|
|
113
|
+
}) & {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { VTextField } from 'vuetify/components/VTextField';
|
|
2
|
+
import { type Base64File } from '../../composables/assetFile.js';
|
|
3
|
+
interface Props extends /* @vue-ignore */ InstanceType<typeof VTextField['$props']> {
|
|
4
|
+
accept?: string;
|
|
5
|
+
multiple?: boolean;
|
|
6
|
+
maxSize?: number;
|
|
7
|
+
modelValue?: Base64File | Base64File[] | null;
|
|
8
|
+
downloadable?: boolean;
|
|
9
|
+
autoHydrate?: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare var __VLS_17: {
|
|
12
|
+
item: {
|
|
13
|
+
fileName: string;
|
|
14
|
+
originalFileName?: string | undefined;
|
|
15
|
+
fileType?: string | undefined;
|
|
16
|
+
id?: number | undefined;
|
|
17
|
+
base64String?: string | undefined;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
type __VLS_Slots = {} & {
|
|
21
|
+
download?: (props: typeof __VLS_17) => any;
|
|
22
|
+
};
|
|
23
|
+
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
24
|
+
accept: string;
|
|
25
|
+
multiple: boolean;
|
|
26
|
+
maxSize: number;
|
|
27
|
+
downloadable: boolean;
|
|
28
|
+
autoHydrate: boolean;
|
|
29
|
+
}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
30
|
+
"update:modelValue": (value: Base64File | Base64File[] | null) => any;
|
|
31
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
32
|
+
accept: string;
|
|
33
|
+
multiple: boolean;
|
|
34
|
+
maxSize: number;
|
|
35
|
+
downloadable: boolean;
|
|
36
|
+
autoHydrate: boolean;
|
|
37
|
+
}>>> & Readonly<{
|
|
38
|
+
"onUpdate:modelValue"?: ((value: Base64File | Base64File[] | null) => any) | undefined;
|
|
39
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
40
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
41
|
+
declare const _default: typeof __VLS_export;
|
|
42
|
+
export default _default;
|
|
43
|
+
type __VLS_TypePropsToOption<T> = {
|
|
44
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
45
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
46
|
+
} : {
|
|
47
|
+
type: import('vue').PropType<T[K]>;
|
|
48
|
+
required: true;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
type __VLS_WithDefaults<P, D> = {
|
|
52
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
53
|
+
default: D[K];
|
|
54
|
+
}> : P[K];
|
|
55
|
+
};
|
|
56
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
57
|
+
new (): {
|
|
58
|
+
$slots: S;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
62
|
+
[K in keyof T]: T[K];
|
|
63
|
+
} : {
|
|
64
|
+
[K in keyof T as K]: T[K];
|
|
65
|
+
}) & {};
|