@ramathibodi/nuxt-commons 0.1.74 → 4.0.0

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 (243) hide show
  1. package/README.md +9 -2
  2. package/dist/module.json +4 -4
  3. package/dist/module.mjs +4 -4
  4. package/dist/runtime/bridges/authentication.d.ts +21 -0
  5. package/dist/runtime/bridges/authentication.js +20 -0
  6. package/dist/runtime/bridges/graphql.d.ts +17 -0
  7. package/dist/runtime/bridges/graphql.js +45 -0
  8. package/dist/runtime/components/Alert.d.vue.ts +3 -0
  9. package/dist/runtime/components/Alert.vue +17 -26
  10. package/dist/runtime/components/Alert.vue.d.ts +3 -0
  11. package/dist/runtime/components/BarcodeReader.d.vue.ts +9 -0
  12. package/dist/runtime/components/BarcodeReader.vue +56 -81
  13. package/dist/runtime/components/BarcodeReader.vue.d.ts +9 -0
  14. package/dist/runtime/components/ExportCSV.d.vue.ts +55 -0
  15. package/dist/runtime/components/ExportCSV.vue +39 -76
  16. package/dist/runtime/components/ExportCSV.vue.d.ts +55 -0
  17. package/dist/runtime/components/FileBtn.d.vue.ts +53 -0
  18. package/dist/runtime/components/FileBtn.vue +23 -50
  19. package/dist/runtime/components/FileBtn.vue.d.ts +53 -0
  20. package/dist/runtime/components/ImportCSV.d.vue.ts +52 -0
  21. package/dist/runtime/components/ImportCSV.vue +60 -111
  22. package/dist/runtime/components/ImportCSV.vue.d.ts +52 -0
  23. package/dist/runtime/components/MrzReader.d.vue.ts +19 -0
  24. package/dist/runtime/components/MrzReader.vue +69 -109
  25. package/dist/runtime/components/MrzReader.vue.d.ts +19 -0
  26. package/dist/runtime/components/SplitterPanel.d.vue.ts +15 -0
  27. package/dist/runtime/components/SplitterPanel.vue +18 -35
  28. package/dist/runtime/components/SplitterPanel.vue.d.ts +15 -0
  29. package/dist/runtime/components/TabsGroup.d.vue.ts +19 -0
  30. package/dist/runtime/components/TabsGroup.vue +8 -20
  31. package/dist/runtime/components/TabsGroup.vue.d.ts +19 -0
  32. package/dist/runtime/components/TextBarcode.d.vue.ts +12 -0
  33. package/dist/runtime/components/TextBarcode.vue +22 -45
  34. package/dist/runtime/components/TextBarcode.vue.d.ts +12 -0
  35. package/dist/runtime/components/device/IdCardButton.d.vue.ts +57 -0
  36. package/dist/runtime/components/device/IdCardButton.vue +30 -67
  37. package/dist/runtime/components/device/IdCardButton.vue.d.ts +57 -0
  38. package/dist/runtime/components/device/IdCardWebSocket.d.vue.ts +55 -0
  39. package/dist/runtime/components/device/IdCardWebSocket.vue +104 -165
  40. package/dist/runtime/components/device/IdCardWebSocket.vue.d.ts +55 -0
  41. package/dist/runtime/components/device/Scanner.d.vue.ts +66 -0
  42. package/dist/runtime/components/device/Scanner.vue +97 -178
  43. package/dist/runtime/components/device/Scanner.vue.d.ts +66 -0
  44. package/dist/runtime/components/dialog/Confirm.d.vue.ts +37 -0
  45. package/dist/runtime/components/dialog/Confirm.vue +30 -59
  46. package/dist/runtime/components/dialog/Confirm.vue.d.ts +37 -0
  47. package/dist/runtime/components/dialog/Host.d.vue.ts +9 -0
  48. package/dist/runtime/components/dialog/Host.vue +34 -57
  49. package/dist/runtime/components/dialog/Host.vue.d.ts +9 -0
  50. package/dist/runtime/components/dialog/Index.d.vue.ts +24 -0
  51. package/dist/runtime/components/dialog/Index.vue +20 -40
  52. package/dist/runtime/components/dialog/Index.vue.d.ts +24 -0
  53. package/dist/runtime/components/dialog/Loading.d.vue.ts +21 -0
  54. package/dist/runtime/components/dialog/Loading.vue +12 -29
  55. package/dist/runtime/components/dialog/Loading.vue.d.ts +21 -0
  56. package/dist/runtime/components/dialog/default/Confirm.d.vue.ts +40 -0
  57. package/dist/runtime/components/dialog/default/Confirm.vue +29 -62
  58. package/dist/runtime/components/dialog/default/Confirm.vue.d.ts +40 -0
  59. package/dist/runtime/components/dialog/default/Loading.d.vue.ts +23 -0
  60. package/dist/runtime/components/dialog/default/Loading.vue +12 -29
  61. package/dist/runtime/components/dialog/default/Loading.vue.d.ts +23 -0
  62. package/dist/runtime/components/dialog/default/Notify.d.vue.ts +23 -0
  63. package/dist/runtime/components/dialog/default/Notify.vue +19 -48
  64. package/dist/runtime/components/dialog/default/Notify.vue.d.ts +23 -0
  65. package/dist/runtime/components/dialog/default/Printing.d.vue.ts +21 -0
  66. package/dist/runtime/components/dialog/default/Printing.vue +13 -29
  67. package/dist/runtime/components/dialog/default/Printing.vue.d.ts +21 -0
  68. package/dist/runtime/components/dialog/default/VerifyUser.d.vue.ts +29 -0
  69. package/dist/runtime/components/dialog/default/VerifyUser.vue +44 -82
  70. package/dist/runtime/components/dialog/default/VerifyUser.vue.d.ts +29 -0
  71. package/dist/runtime/components/document/Form.d.vue.ts +9 -0
  72. package/dist/runtime/components/document/Form.vue +27 -42
  73. package/dist/runtime/components/document/Form.vue.d.ts +9 -0
  74. package/dist/runtime/components/document/TemplateBuilder.d.vue.ts +24 -0
  75. package/dist/runtime/components/document/TemplateBuilder.vue +154 -194
  76. package/dist/runtime/components/document/TemplateBuilder.vue.d.ts +24 -0
  77. package/dist/runtime/components/form/ActionPad.d.vue.ts +114 -0
  78. package/dist/runtime/components/form/ActionPad.vue +48 -85
  79. package/dist/runtime/components/form/ActionPad.vue.d.ts +114 -0
  80. package/dist/runtime/components/form/Birthdate.d.vue.ts +38 -0
  81. package/dist/runtime/components/form/Birthdate.vue +44 -76
  82. package/dist/runtime/components/form/Birthdate.vue.d.ts +38 -0
  83. package/dist/runtime/components/form/CheckboxGroup.d.vue.ts +41 -0
  84. package/dist/runtime/components/form/CheckboxGroup.vue +34 -64
  85. package/dist/runtime/components/form/CheckboxGroup.vue.d.ts +41 -0
  86. package/dist/runtime/components/form/CodeEditor.d.vue.ts +25 -0
  87. package/dist/runtime/components/form/CodeEditor.vue +18 -36
  88. package/dist/runtime/components/form/CodeEditor.vue.d.ts +25 -0
  89. package/dist/runtime/components/form/Date.d.vue.ts +86 -0
  90. package/dist/runtime/components/form/Date.vue +109 -162
  91. package/dist/runtime/components/form/Date.vue.d.ts +86 -0
  92. package/dist/runtime/components/form/DateTime.d.vue.ts +36 -0
  93. package/dist/runtime/components/form/DateTime.vue +94 -143
  94. package/dist/runtime/components/form/DateTime.vue.d.ts +36 -0
  95. package/dist/runtime/components/form/Dialog.d.vue.ts +69 -0
  96. package/dist/runtime/components/form/Dialog.vue +60 -96
  97. package/dist/runtime/components/form/Dialog.vue.d.ts +69 -0
  98. package/dist/runtime/components/form/EditPad.d.vue.ts +113 -0
  99. package/dist/runtime/components/form/EditPad.vue +49 -85
  100. package/dist/runtime/components/form/EditPad.vue.d.ts +113 -0
  101. package/dist/runtime/components/form/File.d.vue.ts +65 -0
  102. package/dist/runtime/components/form/File.vue +112 -186
  103. package/dist/runtime/components/form/File.vue.d.ts +65 -0
  104. package/dist/runtime/components/form/Hidden.d.vue.ts +12 -0
  105. package/dist/runtime/components/form/Hidden.vue +17 -34
  106. package/dist/runtime/components/form/Hidden.vue.d.ts +12 -0
  107. package/dist/runtime/components/form/Iterator.d.vue.ts +279 -0
  108. package/dist/runtime/components/form/Iterator.vue +162 -252
  109. package/dist/runtime/components/form/Iterator.vue.d.ts +279 -0
  110. package/dist/runtime/components/form/Login.d.vue.ts +32 -0
  111. package/dist/runtime/components/form/Login.vue +23 -55
  112. package/dist/runtime/components/form/Login.vue.d.ts +32 -0
  113. package/dist/runtime/components/form/Pad.d.vue.ts +674 -0
  114. package/dist/runtime/components/form/Pad.vue +166 -265
  115. package/dist/runtime/components/form/Pad.vue.d.ts +674 -0
  116. package/dist/runtime/components/form/SignPad.d.vue.ts +62 -0
  117. package/dist/runtime/components/form/SignPad.vue +80 -126
  118. package/dist/runtime/components/form/SignPad.vue.d.ts +62 -0
  119. package/dist/runtime/components/form/System.d.vue.ts +34 -0
  120. package/dist/runtime/components/form/System.vue +18 -32
  121. package/dist/runtime/components/form/System.vue.d.ts +34 -0
  122. package/dist/runtime/components/form/Table.d.vue.ts +221 -0
  123. package/dist/runtime/components/form/Table.vue +123 -182
  124. package/dist/runtime/components/form/Table.vue.d.ts +221 -0
  125. package/dist/runtime/components/form/TableData.d.vue.ts +102 -0
  126. package/dist/runtime/components/form/TableData.vue +109 -139
  127. package/dist/runtime/components/form/TableData.vue.d.ts +102 -0
  128. package/dist/runtime/components/form/Time.d.vue.ts +49 -0
  129. package/dist/runtime/components/form/Time.vue +64 -99
  130. package/dist/runtime/components/form/Time.vue.d.ts +49 -0
  131. package/dist/runtime/components/form/images/Capture.d.vue.ts +96 -0
  132. package/dist/runtime/components/form/images/Capture.vue +104 -147
  133. package/dist/runtime/components/form/images/Capture.vue.d.ts +96 -0
  134. package/dist/runtime/components/form/images/Edit.d.vue.ts +29 -0
  135. package/dist/runtime/components/form/images/Edit.vue +57 -81
  136. package/dist/runtime/components/form/images/Edit.vue.d.ts +29 -0
  137. package/dist/runtime/components/form/images/Field.d.vue.ts +27 -0
  138. package/dist/runtime/components/form/images/Field.vue +136 -205
  139. package/dist/runtime/components/form/images/Field.vue.d.ts +27 -0
  140. package/dist/runtime/components/form/images/Pad.d.vue.ts +13 -0
  141. package/dist/runtime/components/form/images/Pad.vue +23 -40
  142. package/dist/runtime/components/form/images/Pad.vue.d.ts +13 -0
  143. package/dist/runtime/components/label/Date.d.vue.ts +13 -0
  144. package/dist/runtime/components/label/Date.vue +13 -29
  145. package/dist/runtime/components/label/Date.vue.d.ts +13 -0
  146. package/dist/runtime/components/label/DateAgo.d.vue.ts +20 -0
  147. package/dist/runtime/components/label/DateAgo.vue +43 -75
  148. package/dist/runtime/components/label/DateAgo.vue.d.ts +20 -0
  149. package/dist/runtime/components/label/DateCount.d.vue.ts +22 -0
  150. package/dist/runtime/components/label/DateCount.vue +58 -105
  151. package/dist/runtime/components/label/DateCount.vue.d.ts +22 -0
  152. package/dist/runtime/components/label/Field.d.vue.ts +38 -0
  153. package/dist/runtime/components/label/Field.vue +18 -40
  154. package/dist/runtime/components/label/Field.vue.d.ts +38 -0
  155. package/dist/runtime/components/label/FormatMoney.d.vue.ts +12 -0
  156. package/dist/runtime/components/label/FormatMoney.vue +12 -28
  157. package/dist/runtime/components/label/FormatMoney.vue.d.ts +12 -0
  158. package/dist/runtime/components/label/Mask.d.vue.ts +10 -0
  159. package/dist/runtime/components/label/Mask.vue +21 -38
  160. package/dist/runtime/components/label/Mask.vue.d.ts +10 -0
  161. package/dist/runtime/components/label/Object.d.vue.ts +8 -0
  162. package/dist/runtime/components/label/Object.vue +10 -20
  163. package/dist/runtime/components/label/Object.vue.d.ts +8 -0
  164. package/dist/runtime/components/master/Autocomplete.d.vue.ts +70 -0
  165. package/dist/runtime/components/master/Autocomplete.vue +25 -34
  166. package/dist/runtime/components/master/Autocomplete.vue.d.ts +70 -0
  167. package/dist/runtime/components/master/Combobox.d.vue.ts +70 -0
  168. package/dist/runtime/components/master/Combobox.vue +26 -35
  169. package/dist/runtime/components/master/Combobox.vue.d.ts +70 -0
  170. package/dist/runtime/components/master/RadioGroup.d.vue.ts +51 -0
  171. package/dist/runtime/components/master/RadioGroup.vue +44 -59
  172. package/dist/runtime/components/master/RadioGroup.vue.d.ts +51 -0
  173. package/dist/runtime/components/master/Select.d.vue.ts +68 -0
  174. package/dist/runtime/components/master/Select.vue +25 -34
  175. package/dist/runtime/components/master/Select.vue.d.ts +68 -0
  176. package/dist/runtime/components/master/label.d.vue.ts +24 -0
  177. package/dist/runtime/components/master/label.vue +22 -42
  178. package/dist/runtime/components/master/label.vue.d.ts +24 -0
  179. package/dist/runtime/components/model/Autocomplete.d.vue.ts +82 -0
  180. package/dist/runtime/components/model/Autocomplete.vue +50 -49
  181. package/dist/runtime/components/model/Autocomplete.vue.d.ts +82 -0
  182. package/dist/runtime/components/model/Combobox.d.vue.ts +82 -0
  183. package/dist/runtime/components/model/Combobox.vue +51 -49
  184. package/dist/runtime/components/model/Combobox.vue.d.ts +82 -0
  185. package/dist/runtime/components/model/Pad.d.vue.ts +72 -0
  186. package/dist/runtime/components/model/Pad.vue +50 -65
  187. package/dist/runtime/components/model/Pad.vue.d.ts +72 -0
  188. package/dist/runtime/components/model/Select.d.vue.ts +72 -0
  189. package/dist/runtime/components/model/Select.vue +42 -44
  190. package/dist/runtime/components/model/Select.vue.d.ts +72 -0
  191. package/dist/runtime/components/model/Table.d.vue.ts +272 -0
  192. package/dist/runtime/components/model/Table.vue +121 -145
  193. package/dist/runtime/components/model/Table.vue.d.ts +272 -0
  194. package/dist/runtime/components/model/iterator.d.vue.ts +321 -0
  195. package/dist/runtime/components/model/iterator.vue +148 -183
  196. package/dist/runtime/components/model/iterator.vue.d.ts +321 -0
  197. package/dist/runtime/components/model/label.d.vue.ts +26 -0
  198. package/dist/runtime/components/model/label.vue +25 -43
  199. package/dist/runtime/components/model/label.vue.d.ts +26 -0
  200. package/dist/runtime/components/pdf/Print.d.vue.ts +17 -0
  201. package/dist/runtime/components/pdf/Print.vue +27 -50
  202. package/dist/runtime/components/pdf/Print.vue.d.ts +17 -0
  203. package/dist/runtime/components/pdf/View.d.vue.ts +52 -0
  204. package/dist/runtime/components/pdf/View.vue +58 -95
  205. package/dist/runtime/components/pdf/View.vue.d.ts +52 -0
  206. package/dist/runtime/composables/api.js +4 -2
  207. package/dist/runtime/composables/assetFile.js +4 -2
  208. package/dist/runtime/composables/dialog.d.ts +1 -1
  209. package/dist/runtime/composables/document/template.js +3 -3
  210. package/dist/runtime/composables/document/templateFormTable.js +1 -0
  211. package/dist/runtime/composables/graphql.d.ts +2 -2
  212. package/dist/runtime/composables/graphql.js +5 -5
  213. package/dist/runtime/composables/graphqlModel.d.ts +6 -6
  214. package/dist/runtime/composables/graphqlModelItem.d.ts +4 -4
  215. package/dist/runtime/composables/graphqlModelOperation.d.ts +6 -6
  216. package/dist/runtime/composables/graphqlModelOperation.js +2 -1
  217. package/dist/runtime/composables/graphqlOperation.js +5 -1
  218. package/dist/runtime/composables/hostAgentWs.d.ts +1 -1
  219. package/dist/runtime/composables/lookupListMaster.js +3 -3
  220. package/dist/runtime/composables/menu.js +2 -2
  221. package/dist/runtime/composables/userPermission.d.ts +1 -1
  222. package/dist/runtime/composables/utils/fuzzy.d.ts +2 -1
  223. package/dist/runtime/labs/Calendar.d.vue.ts +35 -0
  224. package/dist/runtime/labs/Calendar.vue +47 -75
  225. package/dist/runtime/labs/Calendar.vue.d.ts +35 -0
  226. package/dist/runtime/labs/form/EditMobile.d.vue.ts +12 -0
  227. package/dist/runtime/labs/form/EditMobile.vue +19 -36
  228. package/dist/runtime/labs/form/EditMobile.vue.d.ts +12 -0
  229. package/dist/runtime/labs/form/TextFieldMask.d.vue.ts +21 -0
  230. package/dist/runtime/labs/form/TextFieldMask.vue +19 -25
  231. package/dist/runtime/labs/form/TextFieldMask.vue.d.ts +21 -0
  232. package/dist/runtime/plugins/dialogManager.js +2 -2
  233. package/dist/runtime/plugins/permission.js +3 -3
  234. package/dist/runtime/types/bridge.d.ts +14 -0
  235. package/dist/runtime/utils/datetime.js +1 -1
  236. package/dist/types.d.mts +2 -6
  237. package/package.json +71 -58
  238. package/scripts/ci-release.mjs +125 -0
  239. package/scripts/release-version.mjs +68 -0
  240. package/scripts/release.mjs +49 -0
  241. package/dist/module.cjs +0 -5
  242. package/dist/module.d.ts +0 -8
  243. package/dist/types.d.ts +0 -7
@@ -1,84 +1,56 @@
1
- <script lang="ts" setup>
2
- import FullCalendar from '@fullcalendar/vue3'
3
- import dayGridPlugin from '@fullcalendar/daygrid'
4
- import timeGridPlugin from '@fullcalendar/timegrid'
5
- import listPlugin from '@fullcalendar/list'
6
- import interactionPlugin from '@fullcalendar/interaction'
7
- import { ref, computed, withDefaults } from 'vue'
8
- import { type CalendarOptions } from '@fullcalendar/core'
9
-
10
- type Event = {
11
- id: string | undefined
12
- title: string
13
- start: string // YYYY-MM-DD | YYYY-MM-DD HH:mm:ss
14
- end: string // YYYY-MM-DD
15
- color: string
16
- detail?: string
17
- props: Record<string, any> | any[]
18
- }
19
-
20
- interface CalendarProps {
21
- modelValue: Event[]
22
- locale?: 'th' | 'en'
23
- toolBarLeft?: string
24
- toolBarCenter?: string
25
- toolBarRight?: string
26
- height?: string | number
27
- selectViewDay?: string
28
- mode: 'dayGridMonth' | 'timeGridDay'
29
- }
30
-
31
- const props = withDefaults(defineProps<CalendarProps>(), {
32
- locale: 'th',
33
- height: 1200,
34
- toolBarLeft: 'today prev,next',
35
- toolBarCenter: 'title',
36
- toolBarRight: 'timeGridDay,timeGridWeek,dayGridMonth',
37
- mode: 'dayGridMonth',
38
- })
39
-
40
- const emit = defineEmits(['select', 'dialog'])
41
-
1
+ <script setup>
2
+ import FullCalendar from "@fullcalendar/vue3";
3
+ import dayGridPlugin from "@fullcalendar/daygrid";
4
+ import timeGridPlugin from "@fullcalendar/timegrid";
5
+ import listPlugin from "@fullcalendar/list";
6
+ import interactionPlugin from "@fullcalendar/interaction";
7
+ import { ref, computed } from "vue";
8
+ import {} from "@fullcalendar/core";
9
+ const props = defineProps({
10
+ modelValue: { type: Array, required: true },
11
+ locale: { type: String, required: false, default: "th" },
12
+ toolBarLeft: { type: String, required: false, default: "today prev,next" },
13
+ toolBarCenter: { type: String, required: false, default: "title" },
14
+ toolBarRight: { type: String, required: false, default: "timeGridDay,timeGridWeek,dayGridMonth" },
15
+ height: { type: [String, Number], required: false, default: 1200 },
16
+ selectViewDay: { type: String, required: false },
17
+ mode: { type: String, required: true, default: "dayGridMonth" }
18
+ });
19
+ const emit = defineEmits(["select", "dialog"]);
42
20
  const buttonText = computed(() => {
43
21
  return {
44
- today: props.locale === 'th' ? 'วันนี้' : 'today',
45
- month: props.locale === 'th' ? 'เดือน' : 'month',
46
- week: props.locale === 'th' ? 'สัปดาห์' : 'week',
47
- day: props.locale === 'th' ? 'วัน' : 'day',
48
- list: props.locale === 'th' ? 'รายการ' : 'list',
49
- year: props.locale === 'th' ? 'ปี' : 'year',
50
- }
51
- })
52
-
53
- const calendarRef = ref<InstanceType<typeof FullCalendar>>()
54
- const dateViewDay = ref({ date: '', props: {} })
55
-
56
- const handleDateClick = (info: any) => {
57
- emit('select', info.event)
58
- }
59
-
60
- const handleEventClick = (info: any) => {
61
- emit('dialog', true)
62
- emit('select', info.event)
63
- }
64
-
65
- const eventContentDay = (arg: any) => {
66
- const list = document.createElement('div')
67
- list.innerHTML = document.getElementById(arg.event.id.toString())?.innerHTML || ''
68
- return { domNodes: [list] }
69
- }
70
-
71
- // @ts-expect-error
72
- const calendarOptions = ref<CalendarOptions>({
22
+ today: props.locale === "th" ? "\u0E27\u0E31\u0E19\u0E19\u0E35\u0E49" : "today",
23
+ month: props.locale === "th" ? "\u0E40\u0E14\u0E37\u0E2D\u0E19" : "month",
24
+ week: props.locale === "th" ? "\u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C" : "week",
25
+ day: props.locale === "th" ? "\u0E27\u0E31\u0E19" : "day",
26
+ list: props.locale === "th" ? "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23" : "list",
27
+ year: props.locale === "th" ? "\u0E1B\u0E35" : "year"
28
+ };
29
+ });
30
+ const calendarRef = ref();
31
+ const dateViewDay = ref({ date: "", props: {} });
32
+ const handleDateClick = (info) => {
33
+ emit("select", info.event);
34
+ };
35
+ const handleEventClick = (info) => {
36
+ emit("dialog", true);
37
+ emit("select", info.event);
38
+ };
39
+ const eventContentDay = (arg) => {
40
+ const list = document.createElement("div");
41
+ list.innerHTML = document.getElementById(arg.event.id.toString())?.innerHTML || "";
42
+ return { domNodes: [list] };
43
+ };
44
+ const calendarOptions = ref({
73
45
  plugins: [dayGridPlugin, timeGridPlugin, listPlugin, interactionPlugin],
74
46
  initialView: props.mode,
75
47
  locale: props.locale,
76
48
  dayMaxEvents: true,
77
- timeZone: 'UTC',
49
+ timeZone: "UTC",
78
50
  headerToolbar: {
79
51
  left: props.toolBarLeft,
80
52
  center: props.toolBarCenter,
81
- right: props.toolBarRight,
53
+ right: props.toolBarRight
82
54
  },
83
55
  buttonText: buttonText.value,
84
56
  events: props.modelValue,
@@ -87,13 +59,13 @@ const calendarOptions = ref<CalendarOptions>({
87
59
  eventClick: handleEventClick,
88
60
  nowIndicator: true,
89
61
  height: props.height,
90
- eventColor: '#378006',
91
- })
62
+ eventColor: "#378006"
63
+ });
92
64
  </script>
93
65
 
94
66
  <template>
95
67
  <FullCalendar
96
68
  ref="calendarRef"
97
- :options="calendarOptions as CalendarOptions"
69
+ :options="calendarOptions"
98
70
  />
99
71
  </template>
@@ -0,0 +1,35 @@
1
+ type Event = {
2
+ id: string | undefined;
3
+ title: string;
4
+ start: string;
5
+ end: string;
6
+ color: string;
7
+ detail?: string;
8
+ props: Record<string, any> | any[];
9
+ };
10
+ interface CalendarProps {
11
+ modelValue: Event[];
12
+ locale?: 'th' | 'en';
13
+ toolBarLeft?: string;
14
+ toolBarCenter?: string;
15
+ toolBarRight?: string;
16
+ height?: string | number;
17
+ selectViewDay?: string;
18
+ mode: 'dayGridMonth' | 'timeGridDay';
19
+ }
20
+ declare const __VLS_export: import("vue").DefineComponent<CalendarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
21
+ dialog: (...args: any[]) => void;
22
+ select: (...args: any[]) => void;
23
+ }, string, import("vue").PublicProps, Readonly<CalendarProps> & Readonly<{
24
+ onDialog?: ((...args: any[]) => any) | undefined;
25
+ onSelect?: ((...args: any[]) => any) | undefined;
26
+ }>, {
27
+ height: string | number;
28
+ mode: "dayGridMonth" | "timeGridDay";
29
+ locale: "th" | "en";
30
+ toolBarLeft: string;
31
+ toolBarCenter: string;
32
+ toolBarRight: string;
33
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
+ declare const _default: typeof __VLS_export;
35
+ export default _default;
@@ -0,0 +1,12 @@
1
+ interface Props {
2
+ modelValue: number;
3
+ decimal?: number;
4
+ currency?: string;
5
+ }
6
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
7
+ modelValue: number;
8
+ decimal: number;
9
+ currency: string;
10
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
@@ -1,79 +1,62 @@
1
- <script lang="ts" setup>
2
- import { ref, withDefaults } from 'vue';
1
+ <script setup>
2
+ import { ref } from "vue";
3
3
  import FormPad from "../../components/form/Pad.vue";
4
4
  import { useAlert } from "../../composables/alert";
5
5
  import { Mask } from "maska";
6
-
7
- interface Props {
8
- modelValue: number;
9
- decimal?: number;
10
- currency?: string;
11
- }
12
-
13
6
  const masksInput = new Mask({
14
7
  mask: "###-###-N",
15
8
  tokens: {
16
9
  N: { pattern: /[0-9]/, multiple: true }
17
10
  }
18
11
  });
19
-
20
12
  const alert = useAlert();
21
13
  const dialog = ref(false);
22
14
  const phone = ref();
23
15
  const typePhone = ref([]);
24
16
  const formPadTemplate = ref();
25
- const phoneNoField: any = ref(null);
26
- const objAddNew = ref({ phone: "", type: <any>[] });
27
-
17
+ const phoneNoField = ref(null);
18
+ const objAddNew = ref({ phone: "", type: [] });
28
19
  const listPhonesAll = ref([
29
20
  { "phone": "082745855410101", "type": ["default"] },
30
21
  { "phone": "0827196038", "type": null },
31
22
  { "phone": "0956458547", "type": ["post", "receipt"] }
32
23
  ]);
33
-
34
24
  const listPhonesType = ref([
35
- { "id": "default", "name": "ค่าเริ่มต้น" },
36
- { "id": "post", "name": "จัดส่งไปรษณีย์" },
37
- { "id": "receipt", "name": "จัดส่งใบเสร็จ (e-receipt)" }
25
+ { "id": "default", "name": "\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19" },
26
+ { "id": "post", "name": "\u0E08\u0E31\u0E14\u0E2A\u0E48\u0E07\u0E44\u0E1B\u0E23\u0E29\u0E13\u0E35\u0E22\u0E4C" },
27
+ { "id": "receipt", "name": "\u0E08\u0E31\u0E14\u0E2A\u0E48\u0E07\u0E43\u0E1A\u0E40\u0E2A\u0E23\u0E47\u0E08 (e-receipt)" }
38
28
  ]);
39
-
40
- const property = withDefaults(defineProps<Props>(), {
41
- modelValue: 0,
42
- decimal: 2,
43
- currency: "",
29
+ const property = defineProps({
30
+ modelValue: { type: Number, required: true, default: 0 },
31
+ decimal: { type: Number, required: false, default: 2 },
32
+ currency: { type: String, required: false, default: "" }
44
33
  });
45
-
46
34
  const focusOnTextField = () => {
47
35
  if (phoneNoField.value) {
48
36
  phoneNoField.value.focus();
49
37
  }
50
38
  };
51
-
52
- const mapTypeName = (id: string) => {
53
- const item = listPhonesType.value.find(entry => entry.id === id);
54
- return item ? item.name : undefined;
39
+ const mapTypeName = (id) => {
40
+ const item = listPhonesType.value.find((entry) => entry.id === id);
41
+ return item ? item.name : void 0;
55
42
  };
56
-
57
- const mapPhoneCurrent = (phone: string) => {
58
- const item = listPhonesAll.value.find(entry => entry.phone === phone);
43
+ const mapPhoneCurrent = (phone2) => {
44
+ const item = listPhonesAll.value.find((entry) => entry.phone === phone2);
59
45
  return item ? item.phone : "";
60
46
  };
61
-
62
47
  const add = () => {
63
48
  if (formPadTemplate.value.isValid) {
64
49
  objAddNew.value.phone = phone.value.phone;
65
50
  objAddNew.value.type = typePhone.value.length === 0 ? ["default"] : typePhone.value;
66
-
67
51
  if (mapPhoneCurrent(objAddNew.value.phone) != "") {
68
52
  focusOnTextField();
69
- alert?.addAlert({ message: "เบอร์โทรศัพท์ซ้ำ กรุณาตรวจสอบ", alertType: 'error' });
53
+ alert?.addAlert({ message: "\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E0B\u0E49\u0E33 \u0E01\u0E23\u0E38\u0E13\u0E32\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A", alertType: "error" });
70
54
  } else {
71
55
  dialog.value = false;
72
56
  listPhonesAll.value.push(objAddNew.value);
73
57
  }
74
58
  }
75
59
  };
76
-
77
60
  const registerPhone = () => {
78
61
  dialog.value = true;
79
62
  phone.value = "";
@@ -125,7 +108,7 @@ const registerPhone = () => {
125
108
  color="primary"
126
109
  label="เบอร์โทรศัพท์ (Phone Number)"
127
110
  variant="underlined"
128
- :rules="[rules.telephone('เบอร์โทรศัพท์ไม่ถูกต้อง'), rules.require()]"
111
+ :rules="[rules.telephone('\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07'), rules.require()]"
129
112
  v-model="data.phone"
130
113
  :autofocus="true"
131
114
  ></v-text-field>
@@ -150,4 +133,4 @@ const registerPhone = () => {
150
133
  </v-card-actions>
151
134
  </v-card>
152
135
  </v-dialog>
153
- </template>
136
+ </template>
@@ -0,0 +1,12 @@
1
+ interface Props {
2
+ modelValue: number;
3
+ decimal?: number;
4
+ currency?: string;
5
+ }
6
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
7
+ modelValue: number;
8
+ decimal: number;
9
+ currency: string;
10
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import { VTextField } from 'vuetify/components/VTextField';
2
+ export interface Props extends /* @vue-ignore */ InstanceType<typeof VTextField['$props']> {
3
+ type: 'eReceipt' | 'telephone';
4
+ }
5
+ declare var __VLS_12: never, __VLS_13: {};
6
+ type __VLS_Slots = {} & {
7
+ [K in NonNullable<typeof __VLS_12>]?: (props: typeof __VLS_13) => any;
8
+ };
9
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
10
+ "update:modelValue": (value: string) => any;
11
+ }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
12
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
+ declare const _default: typeof __VLS_export;
16
+ export default _default;
17
+ type __VLS_WithSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
@@ -1,42 +1,36 @@
1
- <script lang="ts" setup>
2
- import {computed} from 'vue'
3
- import {VTextField} from 'vuetify/components/VTextField'
4
- import {type MaskaDetail, type MaskOptions, vMaska} from 'maska'
5
-
6
- export interface Props extends /* @vue-ignore */ InstanceType<typeof VTextField['$props']> {
7
- type: 'eReceipt' | 'telephone'
8
- }
9
-
10
- const props = defineProps<Props>()
11
- const emit = defineEmits<{
12
- (event: 'update:modelValue', value: string): void
13
- }>()
14
-
15
- const computedMaskOption = computed<MaskOptions>(() => {
16
- if (props.type == 'eReceipt') return { mask: '##-##-N', tokens: { N: { pattern: /\d/, multiple: true } } }
17
- if (props.type == 'telephone') return { mask: '###-###-####' }
18
- return {}
19
- })
20
-
21
- function onMaska(event: CustomEvent<MaskaDetail>) {
22
- emit('update:modelValue', event.detail.unmasked)
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import { VTextField } from "vuetify/components/VTextField";
4
+ import { vMaska } from "maska";
5
+ const props = defineProps({
6
+ type: { type: String, required: true }
7
+ });
8
+ const vMaskaOptions = vMaska;
9
+ const emit = defineEmits(["update:modelValue"]);
10
+ const computedMaskOption = computed(() => {
11
+ if (props.type == "eReceipt") return { mask: "##-##-N", tokens: { N: { pattern: /\d/, multiple: true } } };
12
+ if (props.type == "telephone") return { mask: "###-###-####" };
13
+ return {};
14
+ });
15
+ function onMaska(event) {
16
+ emit("update:modelValue", event.detail.unmasked);
23
17
  }
24
18
  </script>
25
19
 
26
20
  <template>
27
21
  <v-text-field
28
- v-maska:[computedMaskOption]
22
+ v-maska-options="computedMaskOption"
29
23
  v-bind="$attrs"
30
24
  @maska="onMaska"
31
25
  >
32
26
  <template
33
- v-for="(_, name, index) in ($slots as {})"
27
+ v-for="(_, name, index) in $slots"
34
28
  :key="index"
35
29
  #[name]="slotData"
36
30
  >
37
31
  <slot
38
32
  :name="name"
39
- v-bind="((slotData || {}) as object)"
33
+ v-bind="slotData || {}"
40
34
  />
41
35
  </template>
42
36
  </v-text-field>
@@ -0,0 +1,21 @@
1
+ import { VTextField } from 'vuetify/components/VTextField';
2
+ export interface Props extends /* @vue-ignore */ InstanceType<typeof VTextField['$props']> {
3
+ type: 'eReceipt' | 'telephone';
4
+ }
5
+ declare var __VLS_12: never, __VLS_13: {};
6
+ type __VLS_Slots = {} & {
7
+ [K in NonNullable<typeof __VLS_12>]?: (props: typeof __VLS_13) => any;
8
+ };
9
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
10
+ "update:modelValue": (value: string) => any;
11
+ }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
12
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
+ declare const _default: typeof __VLS_export;
16
+ export default _default;
17
+ type __VLS_WithSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
@@ -20,9 +20,9 @@ export default defineNuxtPlugin(async (nuxtApp) => {
20
20
  hostOpenFn = openFn;
21
21
  hostCloseFn = closeFn;
22
22
  };
23
- const setDialogComponents = (components) => {
23
+ const setDialogComponents = ((components) => {
24
24
  Object.assign(dialogComponents, components);
25
- };
25
+ });
26
26
  const open = (component, props = {}) => {
27
27
  return hostOpenFn?.(component, props).promise ?? Promise.reject("No dialog host registered");
28
28
  };
@@ -1,5 +1,5 @@
1
1
  import { defineNuxtPlugin } from "nuxt/app";
2
- import { useAuthentication } from "#imports";
2
+ import { useAuthentication } from "../bridges/authentication.js";
3
3
  export default defineNuxtPlugin((nuxtApp) => {
4
4
  function normalize(input) {
5
5
  if (!input) return [];
@@ -15,13 +15,13 @@ export default defineNuxtPlugin((nuxtApp) => {
15
15
  if (isBlank(permissionIds)) return true;
16
16
  const auth = useAuthentication();
17
17
  const perms = normalize(permissionIds);
18
- return perms.some((id) => auth?.hasPermission(id));
18
+ return perms.some((id) => auth.hasPermission?.(id) ?? false);
19
19
  };
20
20
  const checkAll = (permissionIds) => {
21
21
  if (isBlank(permissionIds)) return true;
22
22
  const auth = useAuthentication();
23
23
  const perms = normalize(permissionIds);
24
- return perms.every((id) => auth?.hasPermission(id));
24
+ return perms.every((id) => auth.hasPermission?.(id) ?? false);
25
25
  };
26
26
  nuxtApp.vueApp.directive("permission", (el, binding, vnode) => {
27
27
  if (!check(binding.value)) {
@@ -0,0 +1,14 @@
1
+ import type { AuthenticationBridgeInput } from '../bridges/authentication'
2
+ import type { GraphqlBridgeInput } from '../bridges/graphql'
3
+
4
+ declare module '#app' {
5
+ interface NuxtApp {
6
+ $appAuthentication?: AuthenticationBridgeInput
7
+ $appGraphql?: GraphqlBridgeInput
8
+ }
9
+
10
+ interface RuntimeNuxtApp {
11
+ $appAuthentication?: AuthenticationBridgeInput
12
+ $appGraphql?: GraphqlBridgeInput
13
+ }
14
+ }
@@ -156,7 +156,7 @@ export function returnVerifyDate(date) {
156
156
  const month = match[2];
157
157
  const day = match[3];
158
158
  const fullMonth = Number.parseInt(month) == 0 || Number.parseInt(month) >= 13 ? "01" : month;
159
- const fullDay = Number.parseInt(day) == 0 || Number.parseInt(month) >= 32 ? "01" : day;
159
+ const fullDay = Number.parseInt(day) == 0 || Number.parseInt(day) >= 32 ? "01" : day;
160
160
  return `${year}-${fullMonth}-${fullDay}`;
161
161
  } else {
162
162
  return null;
package/dist/types.d.mts CHANGED
@@ -1,7 +1,3 @@
1
- import type { NuxtModule } from '@nuxt/schema'
1
+ export { default } from './module.mjs'
2
2
 
3
- import type { default as Module } from './module.js'
4
-
5
- export type ModuleOptions = typeof Module extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
6
-
7
- export { default } from './module.js'
3
+ export { type ModuleOptions } from './module.mjs'