@ramathibodi/nuxt-commons 0.1.73 → 0.1.75
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 +115 -96
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -0
- package/dist/runtime/components/Alert.vue +58 -54
- package/dist/runtime/components/BarcodeReader.vue +130 -122
- package/dist/runtime/components/ExportCSV.vue +110 -102
- package/dist/runtime/components/FileBtn.vue +79 -67
- package/dist/runtime/components/ImportCSV.vue +151 -139
- package/dist/runtime/components/MrzReader.vue +168 -0
- package/dist/runtime/components/SplitterPanel.vue +67 -59
- package/dist/runtime/components/TabsGroup.vue +39 -31
- package/dist/runtime/components/TextBarcode.vue +66 -54
- package/dist/runtime/components/device/IdCardButton.vue +95 -83
- package/dist/runtime/components/device/IdCardWebSocket.vue +207 -195
- package/dist/runtime/components/device/Scanner.vue +350 -338
- package/dist/runtime/components/dialog/Confirm.vue +112 -100
- package/dist/runtime/components/dialog/Host.vue +88 -84
- package/dist/runtime/components/dialog/Index.vue +84 -72
- package/dist/runtime/components/dialog/Loading.vue +51 -39
- package/dist/runtime/components/dialog/default/Confirm.vue +112 -100
- package/dist/runtime/components/dialog/default/Loading.vue +60 -48
- package/dist/runtime/components/dialog/default/Notify.vue +82 -70
- package/dist/runtime/components/dialog/default/Printing.vue +46 -34
- package/dist/runtime/components/dialog/default/VerifyUser.vue +144 -132
- package/dist/runtime/components/document/Form.vue +50 -42
- package/dist/runtime/components/document/TemplateBuilder.vue +536 -524
- package/dist/runtime/components/form/ActionPad.vue +156 -144
- package/dist/runtime/components/form/Birthdate.vue +116 -104
- package/dist/runtime/components/form/CheckboxGroup.vue +99 -87
- package/dist/runtime/components/form/CodeEditor.vue +45 -37
- package/dist/runtime/components/form/Date.vue +270 -258
- package/dist/runtime/components/form/DateTime.vue +220 -208
- package/dist/runtime/components/form/Dialog.vue +178 -166
- package/dist/runtime/components/form/EditPad.vue +157 -145
- package/dist/runtime/components/form/File.vue +295 -283
- package/dist/runtime/components/form/Hidden.vue +44 -32
- package/dist/runtime/components/form/Iterator.vue +538 -526
- package/dist/runtime/components/form/Login.vue +143 -131
- package/dist/runtime/components/form/Pad.vue +399 -387
- package/dist/runtime/components/form/SignPad.vue +226 -218
- package/dist/runtime/components/form/System.vue +34 -26
- package/dist/runtime/components/form/Table.vue +391 -379
- package/dist/runtime/components/form/TableData.vue +236 -224
- package/dist/runtime/components/form/Time.vue +177 -165
- package/dist/runtime/components/form/images/Capture.vue +245 -237
- package/dist/runtime/components/form/images/Edit.vue +133 -121
- package/dist/runtime/components/form/images/Field.vue +331 -320
- package/dist/runtime/components/form/images/Pad.vue +54 -42
- package/dist/runtime/components/label/Date.vue +37 -29
- package/dist/runtime/components/label/DateAgo.vue +102 -94
- package/dist/runtime/components/label/DateCount.vue +152 -144
- package/dist/runtime/components/label/Field.vue +111 -103
- package/dist/runtime/components/label/FormatMoney.vue +37 -29
- package/dist/runtime/components/label/Mask.vue +46 -38
- package/dist/runtime/components/label/Object.vue +21 -13
- package/dist/runtime/components/master/Autocomplete.vue +89 -81
- package/dist/runtime/components/master/Combobox.vue +88 -80
- package/dist/runtime/components/master/RadioGroup.vue +90 -78
- package/dist/runtime/components/master/Select.vue +70 -62
- package/dist/runtime/components/master/label.vue +55 -47
- package/dist/runtime/components/model/Autocomplete.vue +91 -79
- package/dist/runtime/components/model/Combobox.vue +90 -78
- package/dist/runtime/components/model/Pad.vue +114 -102
- package/dist/runtime/components/model/Select.vue +78 -72
- package/dist/runtime/components/model/Table.vue +370 -358
- package/dist/runtime/components/model/iterator.vue +497 -489
- package/dist/runtime/components/model/label.vue +58 -50
- package/dist/runtime/components/pdf/Print.vue +75 -63
- package/dist/runtime/components/pdf/View.vue +146 -134
- package/dist/runtime/composables/alert.d.ts +4 -0
- package/dist/runtime/composables/api.d.ts +4 -0
- package/dist/runtime/composables/dialog.d.ts +1 -1
- package/dist/runtime/composables/document/templateFormHidden.d.ts +4 -0
- package/dist/runtime/composables/graphql.d.ts +1 -1
- package/dist/runtime/composables/graphqlModel.d.ts +9 -9
- package/dist/runtime/composables/graphqlModelItem.d.ts +7 -7
- package/dist/runtime/composables/graphqlModelOperation.d.ts +6 -6
- package/dist/runtime/composables/localStorageModel.d.ts +4 -0
- package/dist/runtime/composables/lookupList.d.ts +4 -0
- package/dist/runtime/composables/menu.d.ts +4 -0
- package/dist/runtime/composables/useMrzReader.d.ts +48 -0
- package/dist/runtime/composables/useMrzReader.js +423 -0
- package/dist/runtime/composables/useTesseract.d.ts +16 -0
- package/dist/runtime/composables/useTesseract.js +45 -0
- package/dist/runtime/composables/userPermission.d.ts +1 -1
- package/dist/runtime/labs/Calendar.vue +99 -99
- package/dist/runtime/labs/form/EditMobile.vue +152 -152
- package/dist/runtime/labs/form/TextFieldMask.vue +43 -43
- package/dist/runtime/plugins/clientConfig.d.ts +1 -1
- package/dist/runtime/plugins/default.d.ts +1 -1
- package/dist/runtime/plugins/dialogManager.d.ts +1 -1
- package/dist/runtime/plugins/permission.d.ts +1 -1
- package/dist/runtime/types/alert.d.ts +11 -11
- package/dist/runtime/types/clientConfig.d.ts +13 -13
- package/dist/runtime/types/dialogManager.d.ts +35 -35
- package/dist/runtime/types/formDialog.d.ts +5 -5
- package/dist/runtime/types/graphqlOperation.d.ts +23 -23
- package/dist/runtime/types/menu.d.ts +31 -31
- package/dist/runtime/types/modules.d.ts +7 -7
- package/dist/runtime/types/permission.d.ts +13 -13
- package/dist/runtime/utils/asset.d.ts +2 -0
- package/dist/runtime/utils/asset.js +49 -0
- package/package.json +131 -122
- package/scripts/enrich-vue-docs-from-ai.mjs +197 -0
- package/scripts/generate-ai-summary.mjs +321 -0
- package/scripts/generate-composables-md.mjs +129 -0
- package/scripts/postInstall.cjs +70 -70
- package/templates/.codegen/codegen.ts +32 -32
- package/templates/.codegen/plugin-schema-object.js +161 -161
- package/templates/public/tesseract/mrz.traineddata.gz +0 -0
- package/templates/public/tesseract/ocrb.traineddata.gz +0 -0
|
@@ -1,131 +1,143 @@
|
|
|
1
|
-
<script lang="ts" setup>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
/**
|
|
3
|
+
* FormLogin is a schema-driven form field component that binds model data, renders field UI, and emits normalized updates.
|
|
4
|
+
* This doc block is consumed by vue-docgen for generated API documentation.
|
|
5
|
+
*/
|
|
6
|
+
import { ref, watch, withDefaults } from 'vue'
|
|
7
|
+
|
|
8
|
+
interface Props {
|
|
9
|
+
title?: string // Title text displayed in the component header or dialog.
|
|
10
|
+
btnSubmit?: string // Label text displayed on the login submit button.
|
|
11
|
+
imgLogo?: string // Logo image URL shown above the login form.
|
|
12
|
+
errorMessages?: string // Validation or authentication error message displayed to the user.
|
|
13
|
+
loading?: boolean // Displays loading state and disables actions while pending.
|
|
14
|
+
hint?: string // Helper text displayed under input fields.
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Public props accepted by FormLogin.
|
|
19
|
+
* Document each prop field with intent, defaults, and side effects for clear generated docs.
|
|
20
|
+
*/
|
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
22
|
+
title: 'Login Ramathibodi',
|
|
23
|
+
btnSubmit: 'เข้าสู่ระบบ',
|
|
24
|
+
imgLogo: '',
|
|
25
|
+
errorMessages: '',
|
|
26
|
+
loading: false,
|
|
27
|
+
hint: '',
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
interface LoginData {
|
|
31
|
+
username: string
|
|
32
|
+
password: string
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const formValid = ref<boolean>(false)
|
|
36
|
+
const loginData = ref<LoginData>({ username: '', password: '' })
|
|
37
|
+
/**
|
|
38
|
+
* Custom events emitted by FormLogin.
|
|
39
|
+
* Parents can listen to these events to react to user actions and internal state changes.
|
|
40
|
+
*/
|
|
41
|
+
const emit = defineEmits(['update:modelValue'])
|
|
42
|
+
|
|
43
|
+
const errorText = ref<string>('')
|
|
44
|
+
|
|
45
|
+
const clearErrorMessages = () => {
|
|
46
|
+
errorText.value = ''
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
watch(() => props.errorMessages, (newVal) => {
|
|
50
|
+
if (errorText.value !== newVal) {
|
|
51
|
+
errorText.value = newVal
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
const onSubmit = () => {
|
|
56
|
+
if (!formValid.value) return
|
|
57
|
+
emit('update:modelValue', { ...loginData.value })
|
|
58
|
+
}
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
<template>
|
|
62
|
+
<v-row
|
|
63
|
+
justify="center"
|
|
64
|
+
align="center"
|
|
65
|
+
>
|
|
66
|
+
<v-col
|
|
67
|
+
cols="12"
|
|
68
|
+
xs="12"
|
|
69
|
+
sm="8"
|
|
70
|
+
md="6"
|
|
71
|
+
lg="6"
|
|
72
|
+
xl="4"
|
|
73
|
+
align-self="center"
|
|
74
|
+
>
|
|
75
|
+
<v-sheet
|
|
76
|
+
class="pa-3"
|
|
77
|
+
rounded
|
|
78
|
+
>
|
|
79
|
+
<v-card class="mx-auto px-6 py-6">
|
|
80
|
+
<v-img
|
|
81
|
+
:src="props.imgLogo"
|
|
82
|
+
cover
|
|
83
|
+
/>
|
|
84
|
+
<v-card-title class="text-primary text-center">
|
|
85
|
+
{{ props.title }}
|
|
86
|
+
</v-card-title>
|
|
87
|
+
<v-form
|
|
88
|
+
v-model="formValid"
|
|
89
|
+
@submit.prevent="onSubmit"
|
|
90
|
+
>
|
|
91
|
+
<form-pad
|
|
92
|
+
ref="formPadTemplate"
|
|
93
|
+
v-model="loginData"
|
|
94
|
+
>
|
|
95
|
+
<template #default="{ data, rules }">
|
|
96
|
+
<v-text-field
|
|
97
|
+
ref="usernameField"
|
|
98
|
+
v-model="data.username"
|
|
99
|
+
color="primary"
|
|
100
|
+
label="ชื่อผู้ใช้งาน (Username)"
|
|
101
|
+
clearable
|
|
102
|
+
:rules="[rules.require('กรุณาระบุ')]"
|
|
103
|
+
autofocus
|
|
104
|
+
@update:model-value="clearErrorMessages()"
|
|
105
|
+
/>
|
|
106
|
+
<v-text-field
|
|
107
|
+
ref="passwordField"
|
|
108
|
+
v-model="data.password"
|
|
109
|
+
color="primary"
|
|
110
|
+
label="รหัสผ่าน (Password)"
|
|
111
|
+
type="password"
|
|
112
|
+
clearable
|
|
113
|
+
:rules="[rules.require('กรุณาระบุ')]"
|
|
114
|
+
autofocus
|
|
115
|
+
@update:model-value="clearErrorMessages()"
|
|
116
|
+
/>
|
|
117
|
+
</template>
|
|
118
|
+
</form-pad>
|
|
119
|
+
<div class="text-body-2 text-error">
|
|
120
|
+
{{ errorText }}
|
|
121
|
+
</div>
|
|
122
|
+
<div class="my-3">
|
|
123
|
+
<slot name="hint">
|
|
124
|
+
{{ props.hint }}
|
|
125
|
+
</slot>
|
|
126
|
+
</div>
|
|
127
|
+
<v-btn
|
|
128
|
+
:disabled="!formValid"
|
|
129
|
+
:loading="props.loading"
|
|
130
|
+
block
|
|
131
|
+
color="primary"
|
|
132
|
+
size="large"
|
|
133
|
+
type="submit"
|
|
134
|
+
variant="elevated"
|
|
135
|
+
>
|
|
136
|
+
{{ props.btnSubmit }}
|
|
137
|
+
</v-btn>
|
|
138
|
+
</v-form>
|
|
139
|
+
</v-card>
|
|
140
|
+
</v-sheet>
|
|
141
|
+
</v-col>
|
|
142
|
+
</v-row>
|
|
143
|
+
</template>
|