@ramathibodi/nuxt-commons 0.1.74 → 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.
Files changed (96) hide show
  1. package/README.md +115 -115
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/components/Alert.vue +58 -58
  4. package/dist/runtime/components/BarcodeReader.vue +130 -130
  5. package/dist/runtime/components/ExportCSV.vue +110 -110
  6. package/dist/runtime/components/FileBtn.vue +79 -79
  7. package/dist/runtime/components/ImportCSV.vue +151 -151
  8. package/dist/runtime/components/MrzReader.vue +168 -168
  9. package/dist/runtime/components/SplitterPanel.vue +67 -67
  10. package/dist/runtime/components/TabsGroup.vue +39 -39
  11. package/dist/runtime/components/TextBarcode.vue +66 -66
  12. package/dist/runtime/components/device/IdCardButton.vue +95 -95
  13. package/dist/runtime/components/device/IdCardWebSocket.vue +207 -207
  14. package/dist/runtime/components/device/Scanner.vue +350 -350
  15. package/dist/runtime/components/dialog/Confirm.vue +112 -112
  16. package/dist/runtime/components/dialog/Host.vue +88 -88
  17. package/dist/runtime/components/dialog/Index.vue +84 -84
  18. package/dist/runtime/components/dialog/Loading.vue +51 -51
  19. package/dist/runtime/components/dialog/default/Confirm.vue +112 -112
  20. package/dist/runtime/components/dialog/default/Loading.vue +60 -60
  21. package/dist/runtime/components/dialog/default/Notify.vue +82 -82
  22. package/dist/runtime/components/dialog/default/Printing.vue +46 -46
  23. package/dist/runtime/components/dialog/default/VerifyUser.vue +144 -144
  24. package/dist/runtime/components/document/Form.vue +50 -50
  25. package/dist/runtime/components/document/TemplateBuilder.vue +536 -536
  26. package/dist/runtime/components/form/ActionPad.vue +156 -156
  27. package/dist/runtime/components/form/Birthdate.vue +116 -116
  28. package/dist/runtime/components/form/CheckboxGroup.vue +99 -99
  29. package/dist/runtime/components/form/CodeEditor.vue +45 -45
  30. package/dist/runtime/components/form/Date.vue +270 -270
  31. package/dist/runtime/components/form/DateTime.vue +220 -220
  32. package/dist/runtime/components/form/Dialog.vue +178 -178
  33. package/dist/runtime/components/form/EditPad.vue +157 -157
  34. package/dist/runtime/components/form/File.vue +295 -295
  35. package/dist/runtime/components/form/Hidden.vue +44 -44
  36. package/dist/runtime/components/form/Iterator.vue +538 -538
  37. package/dist/runtime/components/form/Login.vue +143 -143
  38. package/dist/runtime/components/form/Pad.vue +399 -399
  39. package/dist/runtime/components/form/SignPad.vue +226 -226
  40. package/dist/runtime/components/form/System.vue +34 -34
  41. package/dist/runtime/components/form/Table.vue +391 -391
  42. package/dist/runtime/components/form/TableData.vue +236 -236
  43. package/dist/runtime/components/form/Time.vue +177 -177
  44. package/dist/runtime/components/form/images/Capture.vue +245 -245
  45. package/dist/runtime/components/form/images/Edit.vue +133 -133
  46. package/dist/runtime/components/form/images/Field.vue +331 -331
  47. package/dist/runtime/components/form/images/Pad.vue +54 -54
  48. package/dist/runtime/components/label/Date.vue +37 -37
  49. package/dist/runtime/components/label/DateAgo.vue +102 -102
  50. package/dist/runtime/components/label/DateCount.vue +152 -152
  51. package/dist/runtime/components/label/Field.vue +111 -111
  52. package/dist/runtime/components/label/FormatMoney.vue +37 -37
  53. package/dist/runtime/components/label/Mask.vue +46 -46
  54. package/dist/runtime/components/label/Object.vue +21 -21
  55. package/dist/runtime/components/master/Autocomplete.vue +89 -89
  56. package/dist/runtime/components/master/Combobox.vue +88 -88
  57. package/dist/runtime/components/master/RadioGroup.vue +90 -90
  58. package/dist/runtime/components/master/Select.vue +70 -70
  59. package/dist/runtime/components/master/label.vue +55 -55
  60. package/dist/runtime/components/model/Autocomplete.vue +91 -91
  61. package/dist/runtime/components/model/Combobox.vue +90 -90
  62. package/dist/runtime/components/model/Pad.vue +114 -114
  63. package/dist/runtime/components/model/Select.vue +78 -84
  64. package/dist/runtime/components/model/Table.vue +370 -370
  65. package/dist/runtime/components/model/iterator.vue +497 -497
  66. package/dist/runtime/components/model/label.vue +58 -58
  67. package/dist/runtime/components/pdf/Print.vue +75 -75
  68. package/dist/runtime/components/pdf/View.vue +146 -146
  69. package/dist/runtime/composables/dialog.d.ts +1 -1
  70. package/dist/runtime/composables/graphql.d.ts +1 -1
  71. package/dist/runtime/composables/graphqlModel.d.ts +9 -9
  72. package/dist/runtime/composables/graphqlModelItem.d.ts +7 -7
  73. package/dist/runtime/composables/graphqlModelOperation.d.ts +6 -6
  74. package/dist/runtime/composables/userPermission.d.ts +1 -1
  75. package/dist/runtime/labs/Calendar.vue +99 -99
  76. package/dist/runtime/labs/form/EditMobile.vue +152 -152
  77. package/dist/runtime/labs/form/TextFieldMask.vue +43 -43
  78. package/dist/runtime/plugins/clientConfig.d.ts +1 -1
  79. package/dist/runtime/plugins/default.d.ts +1 -1
  80. package/dist/runtime/plugins/dialogManager.d.ts +1 -1
  81. package/dist/runtime/plugins/permission.d.ts +1 -1
  82. package/dist/runtime/types/alert.d.ts +11 -11
  83. package/dist/runtime/types/clientConfig.d.ts +13 -13
  84. package/dist/runtime/types/dialogManager.d.ts +35 -35
  85. package/dist/runtime/types/formDialog.d.ts +5 -5
  86. package/dist/runtime/types/graphqlOperation.d.ts +23 -23
  87. package/dist/runtime/types/menu.d.ts +31 -31
  88. package/dist/runtime/types/modules.d.ts +7 -7
  89. package/dist/runtime/types/permission.d.ts +13 -13
  90. package/package.json +131 -131
  91. package/scripts/enrich-vue-docs-from-ai.mjs +197 -197
  92. package/scripts/generate-ai-summary.mjs +321 -321
  93. package/scripts/generate-composables-md.mjs +129 -129
  94. package/scripts/postInstall.cjs +70 -70
  95. package/templates/.codegen/codegen.ts +32 -32
  96. package/templates/.codegen/plugin-schema-object.js +161 -161
@@ -1,144 +1,144 @@
1
- <script lang="ts" setup>
2
- /**
3
- * DialogDefaultVerifyUser is a default dialog content component used by the dialog host for common runtime prompts and feedback.
4
- * This doc block is consumed by vue-docgen for generated API documentation.
5
- */
6
- import {computed, ref, type Ref, watch} from 'vue'
7
- import {useDialog} from "../../../composables/dialog"
8
- import {useGraphQlOperation} from "../../../composables/graphqlOperation";
9
- import {type AuthenticationState, useState} from '#imports'
10
-
11
- interface DialogProps {
12
- title?: string // Title text displayed in the component header or dialog.
13
- modelValue: boolean // Bound value for v-model synchronization with the parent component.
14
- message?: string // main message body shown in UI
15
- confirmButtonText?: string // Label text for the confirm/verify action button.
16
- cancelButtonText?: string // Label text for the cancel action button.
17
- type?: 'primary' | 'success' | 'warning' | 'info' | 'error' // visual variant controlling color and intent semantics
18
- fixedUsername?: boolean | string // Locks username input to provided/default value when enabled.
19
- width?: string // dialog/component width in CSS-compatible units
20
- }
21
-
22
- /**
23
- * Public props accepted by DialogDefaultVerifyUser.
24
- * Document each prop field with intent, defaults, and side effects for clear generated docs.
25
- */
26
- const props = withDefaults(defineProps<DialogProps>(), {
27
- title: 'Verify User',
28
- message: 'Please enter your credentials to continue.',
29
- confirmButtonText: 'Verify',
30
- cancelButtonText: 'Cancel',
31
- type: 'primary',
32
- fixedUsername: true,
33
- width: '400',
34
- })
35
-
36
- /**
37
- * Custom events emitted by DialogDefaultVerifyUser.
38
- * Parents can listen to these events to react to user actions and internal state changes.
39
- */
40
- const emit = defineEmits<{
41
- (e: 'update:modelValue', value: boolean): void
42
- (e: 'resolve', value: string): void
43
- (e: 'reject', value: any): void
44
- }>()
45
-
46
- const authenState = useState<AuthenticationState>("authentication")
47
-
48
- const dialogVisible: Ref<boolean> = ref(props.modelValue)
49
-
50
- watch(() => props.modelValue, (val) => {
51
- dialogVisible.value = val
52
- })
53
-
54
- watch(dialogVisible, (val) => {
55
- if (!val) emit('update:modelValue', false)
56
- })
57
-
58
- const username = ref<string>('')
59
- const password = ref<string>('')
60
-
61
- watch(()=>props.fixedUsername, (fixedUsername) => {
62
- if (fixedUsername === true) {
63
- let userProfile = authenState.value?.userProfile as {username: string}
64
- username.value = userProfile?.username ?? ""
65
- } else {
66
- username.value = (fixedUsername) ? fixedUsername as string : ""
67
- }
68
- },{immediate: true})
69
-
70
- const isDisabled = computed(() => {
71
- return !username.value || !password.value
72
- })
73
-
74
- const verifyUser = async (username: string, password: string): Promise<boolean> => {
75
- try {
76
- let result: any = await useGraphQlOperation('Mutation',"verifyUser",["success"], {username: username, password: password})
77
- return result.success
78
- } catch (_error) {
79
- return false
80
- }
81
- }
82
-
83
- const handleConfirm = async () => {
84
- const verified = await verifyUser(username.value, password.value)
85
- if (verified) {
86
- dialogVisible.value = false
87
- emit('resolve', username.value)
88
- } else {
89
- useDialog().notify({message: "Invalid username or password",type: 'warning',title:"Error"})
90
- }
91
- }
92
-
93
- const handleCancel = () => {
94
- dialogVisible.value = false
95
- emit('reject', 'User cancelled')
96
- }
97
- </script>
98
-
99
- <template>
100
- <v-row justify="center">
101
- <v-dialog
102
- v-model="dialogVisible"
103
- :width="props.width"
104
- persistent
105
- >
106
- <v-card>
107
- <v-toolbar
108
- :color="props.type"
109
- :title="props.title"
110
- density="compact"
111
- />
112
- <v-card-text>
113
- <div class="mb-2">{{ props.message }}</div>
114
- <v-text-field
115
- v-model="username"
116
- :readonly="!!props.fixedUsername"
117
- label="Username"
118
- variant="underlined"
119
- />
120
- <v-text-field
121
- v-model="password"
122
- label="Password"
123
- type="password"
124
- variant="underlined"
125
- />
126
- </v-card-text>
127
- <v-card-actions>
128
- <v-spacer />
129
- <v-btn variant="text" @click="handleCancel">
130
- {{ props.cancelButtonText }}
131
- </v-btn>
132
- <v-btn
133
- :color="props.type"
134
- :disabled="isDisabled"
135
- variant="text"
136
- @click="handleConfirm"
137
- >
138
- {{ props.confirmButtonText }}
139
- </v-btn>
140
- </v-card-actions>
141
- </v-card>
142
- </v-dialog>
143
- </v-row>
144
- </template>
1
+ <script lang="ts" setup>
2
+ /**
3
+ * DialogDefaultVerifyUser is a default dialog content component used by the dialog host for common runtime prompts and feedback.
4
+ * This doc block is consumed by vue-docgen for generated API documentation.
5
+ */
6
+ import {computed, ref, type Ref, watch} from 'vue'
7
+ import {useDialog} from "../../../composables/dialog"
8
+ import {useGraphQlOperation} from "../../../composables/graphqlOperation";
9
+ import {type AuthenticationState, useState} from '#imports'
10
+
11
+ interface DialogProps {
12
+ title?: string // Title text displayed in the component header or dialog.
13
+ modelValue: boolean // Bound value for v-model synchronization with the parent component.
14
+ message?: string // main message body shown in UI
15
+ confirmButtonText?: string // Label text for the confirm/verify action button.
16
+ cancelButtonText?: string // Label text for the cancel action button.
17
+ type?: 'primary' | 'success' | 'warning' | 'info' | 'error' // visual variant controlling color and intent semantics
18
+ fixedUsername?: boolean | string // Locks username input to provided/default value when enabled.
19
+ width?: string // dialog/component width in CSS-compatible units
20
+ }
21
+
22
+ /**
23
+ * Public props accepted by DialogDefaultVerifyUser.
24
+ * Document each prop field with intent, defaults, and side effects for clear generated docs.
25
+ */
26
+ const props = withDefaults(defineProps<DialogProps>(), {
27
+ title: 'Verify User',
28
+ message: 'Please enter your credentials to continue.',
29
+ confirmButtonText: 'Verify',
30
+ cancelButtonText: 'Cancel',
31
+ type: 'primary',
32
+ fixedUsername: true,
33
+ width: '400',
34
+ })
35
+
36
+ /**
37
+ * Custom events emitted by DialogDefaultVerifyUser.
38
+ * Parents can listen to these events to react to user actions and internal state changes.
39
+ */
40
+ const emit = defineEmits<{
41
+ (e: 'update:modelValue', value: boolean): void
42
+ (e: 'resolve', value: string): void
43
+ (e: 'reject', value: any): void
44
+ }>()
45
+
46
+ const authenState = useState<AuthenticationState>("authentication")
47
+
48
+ const dialogVisible: Ref<boolean> = ref(props.modelValue)
49
+
50
+ watch(() => props.modelValue, (val) => {
51
+ dialogVisible.value = val
52
+ })
53
+
54
+ watch(dialogVisible, (val) => {
55
+ if (!val) emit('update:modelValue', false)
56
+ })
57
+
58
+ const username = ref<string>('')
59
+ const password = ref<string>('')
60
+
61
+ watch(()=>props.fixedUsername, (fixedUsername) => {
62
+ if (fixedUsername === true) {
63
+ let userProfile = authenState.value?.userProfile as {username: string}
64
+ username.value = userProfile?.username ?? ""
65
+ } else {
66
+ username.value = (fixedUsername) ? fixedUsername as string : ""
67
+ }
68
+ },{immediate: true})
69
+
70
+ const isDisabled = computed(() => {
71
+ return !username.value || !password.value
72
+ })
73
+
74
+ const verifyUser = async (username: string, password: string): Promise<boolean> => {
75
+ try {
76
+ let result: any = await useGraphQlOperation('Mutation',"verifyUser",["success"], {username: username, password: password})
77
+ return result.success
78
+ } catch (_error) {
79
+ return false
80
+ }
81
+ }
82
+
83
+ const handleConfirm = async () => {
84
+ const verified = await verifyUser(username.value, password.value)
85
+ if (verified) {
86
+ dialogVisible.value = false
87
+ emit('resolve', username.value)
88
+ } else {
89
+ useDialog().notify({message: "Invalid username or password",type: 'warning',title:"Error"})
90
+ }
91
+ }
92
+
93
+ const handleCancel = () => {
94
+ dialogVisible.value = false
95
+ emit('reject', 'User cancelled')
96
+ }
97
+ </script>
98
+
99
+ <template>
100
+ <v-row justify="center">
101
+ <v-dialog
102
+ v-model="dialogVisible"
103
+ :width="props.width"
104
+ persistent
105
+ >
106
+ <v-card>
107
+ <v-toolbar
108
+ :color="props.type"
109
+ :title="props.title"
110
+ density="compact"
111
+ />
112
+ <v-card-text>
113
+ <div class="mb-2">{{ props.message }}</div>
114
+ <v-text-field
115
+ v-model="username"
116
+ :readonly="!!props.fixedUsername"
117
+ label="Username"
118
+ variant="underlined"
119
+ />
120
+ <v-text-field
121
+ v-model="password"
122
+ label="Password"
123
+ type="password"
124
+ variant="underlined"
125
+ />
126
+ </v-card-text>
127
+ <v-card-actions>
128
+ <v-spacer />
129
+ <v-btn variant="text" @click="handleCancel">
130
+ {{ props.cancelButtonText }}
131
+ </v-btn>
132
+ <v-btn
133
+ :color="props.type"
134
+ :disabled="isDisabled"
135
+ variant="text"
136
+ @click="handleConfirm"
137
+ >
138
+ {{ props.confirmButtonText }}
139
+ </v-btn>
140
+ </v-card-actions>
141
+ </v-card>
142
+ </v-dialog>
143
+ </v-row>
144
+ </template>
@@ -1,51 +1,51 @@
1
- <script lang="ts" setup>
2
- /**
3
- * DocumentForm supports document-template rendering and synchronizes template-defined field behavior with runtime data.
4
- * This doc block is consumed by vue-docgen for generated API documentation.
5
- */
6
- import {ref, withDefaults,watch,computed} from 'vue'
7
- import {graphqlOperation} from '#imports'
8
-
9
- interface Props {
10
- templateCode: string // Template identifier used to load document schema/config.
11
- parentTemplates?: string|string[] // Parent template code(s) used for template inheritance/extension.
12
- }
13
-
14
- /**
15
- * Public props accepted by DocumentForm.
16
- * Document each prop field with intent, defaults, and side effects for clear generated docs.
17
- */
18
- const props = withDefaults(defineProps<Props>(), {
19
- parentTemplates: (): string[] => [],
20
- })
21
-
22
- const template = ref<any>()
23
- const templateScript = ref<string>()
24
-
25
- const parentTemplates = computed(()=>{
26
- if (typeof props.parentTemplates === 'string') {
27
- if (props.parentTemplates && props.parentTemplates!="") return props.parentTemplates.split("|")
28
- else return []
29
- } else {
30
- return props.parentTemplates
31
- }
32
- })
33
-
34
- const parentTemplatesNext = computed(()=>{
35
- return [...parentTemplates.value,props.templateCode]
36
- })
37
-
38
- watch(()=>props.templateCode,()=>{
39
- if (!parentTemplates.value.includes(props.templateCode) && props.templateCode) {
40
- if (graphqlOperation["documentTemplateByTemplateCode"]) {
41
- graphqlOperation["documentTemplateByTemplateCode"].call(["*"],{templateCode: props.templateCode}).then((result: any)=>{
42
- template.value = result.editTemplate
43
- templateScript.value = result.templateScript
44
- })
45
- }
46
- }
47
- },{immediate: true})
48
- </script>
49
- <template>
50
- <form-pad :template="template" :template-script="templateScript" :parent-templates="parentTemplatesNext"></form-pad>
1
+ <script lang="ts" setup>
2
+ /**
3
+ * DocumentForm supports document-template rendering and synchronizes template-defined field behavior with runtime data.
4
+ * This doc block is consumed by vue-docgen for generated API documentation.
5
+ */
6
+ import {ref, withDefaults,watch,computed} from 'vue'
7
+ import {graphqlOperation} from '#imports'
8
+
9
+ interface Props {
10
+ templateCode: string // Template identifier used to load document schema/config.
11
+ parentTemplates?: string|string[] // Parent template code(s) used for template inheritance/extension.
12
+ }
13
+
14
+ /**
15
+ * Public props accepted by DocumentForm.
16
+ * Document each prop field with intent, defaults, and side effects for clear generated docs.
17
+ */
18
+ const props = withDefaults(defineProps<Props>(), {
19
+ parentTemplates: (): string[] => [],
20
+ })
21
+
22
+ const template = ref<any>()
23
+ const templateScript = ref<string>()
24
+
25
+ const parentTemplates = computed(()=>{
26
+ if (typeof props.parentTemplates === 'string') {
27
+ if (props.parentTemplates && props.parentTemplates!="") return props.parentTemplates.split("|")
28
+ else return []
29
+ } else {
30
+ return props.parentTemplates
31
+ }
32
+ })
33
+
34
+ const parentTemplatesNext = computed(()=>{
35
+ return [...parentTemplates.value,props.templateCode]
36
+ })
37
+
38
+ watch(()=>props.templateCode,()=>{
39
+ if (!parentTemplates.value.includes(props.templateCode) && props.templateCode) {
40
+ if (graphqlOperation["documentTemplateByTemplateCode"]) {
41
+ graphqlOperation["documentTemplateByTemplateCode"].call(["*"],{templateCode: props.templateCode}).then((result: any)=>{
42
+ template.value = result.editTemplate
43
+ templateScript.value = result.templateScript
44
+ })
45
+ }
46
+ }
47
+ },{immediate: true})
48
+ </script>
49
+ <template>
50
+ <form-pad :template="template" :template-script="templateScript" :parent-templates="parentTemplatesNext"></form-pad>
51
51
  </template>