@finema/core 3.20.0 → 3.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.json +1 -1
- package/dist/module.mjs +53 -60
- package/dist/runtime/components/App.d.vue.ts +2 -2
- package/dist/runtime/components/App.vue.d.ts +2 -2
- package/dist/runtime/components/Empty.d.vue.ts +1 -1
- package/dist/runtime/components/Empty.vue.d.ts +1 -1
- package/dist/runtime/components/FlexDeck/index.vue +79 -79
- package/dist/runtime/components/Form/FieldWrapper.d.vue.ts +2 -2
- package/dist/runtime/components/Form/FieldWrapper.vue +13 -13
- package/dist/runtime/components/Form/FieldWrapper.vue.d.ts +2 -2
- package/dist/runtime/components/Form/Fields.vue +13 -13
- package/dist/runtime/components/Form/InputCheckbox/index.vue +18 -18
- package/dist/runtime/components/Form/InputCheckboxGroup/index.vue +21 -21
- package/dist/runtime/components/Form/InputCurrency/index.vue +49 -49
- package/dist/runtime/components/Form/InputDateTime/index.vue +63 -63
- package/dist/runtime/components/Form/InputDateTimeRange/index.vue +56 -56
- package/dist/runtime/components/Form/InputNumber/index.vue +20 -20
- package/dist/runtime/components/Form/InputSelect/index.vue +110 -110
- package/dist/runtime/components/Form/InputSelectMultiple/index.vue +118 -118
- package/dist/runtime/components/Form/InputTags/index.d.vue.ts +2 -2
- package/dist/runtime/components/Form/InputTags/index.vue +54 -54
- package/dist/runtime/components/Form/InputTags/index.vue.d.ts +2 -2
- package/dist/runtime/components/Form/InputText/index.vue +86 -86
- package/dist/runtime/components/Form/InputTextarea/index.vue +18 -18
- package/dist/runtime/components/Form/InputTime/index.vue +38 -38
- package/dist/runtime/components/Form/InputToggle/index.vue +17 -17
- package/dist/runtime/components/Form/InputUploadDropzone/index.vue +30 -30
- package/dist/runtime/components/Form/InputUploadDropzoneAuto/index.vue +50 -50
- package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/index.vue +50 -50
- package/dist/runtime/components/Form/InputUploadImageAuto/index.vue +50 -50
- package/dist/runtime/components/Form/InputWYSIWYG/EditorImageUploadNode.vue +18 -18
- package/dist/runtime/components/Form/InputWYSIWYG/EditorLinkPopover.vue +65 -65
- package/dist/runtime/components/Form/InputWYSIWYG/README.md +96 -96
- package/dist/runtime/components/Form/InputWYSIWYG/index.vue +41 -41
- package/dist/runtime/components/Form/fileState/EmptyState.vue +21 -21
- package/dist/runtime/components/Form/fileState/FailedState.vue +33 -33
- package/dist/runtime/components/Form/fileState/LoadingState.vue +24 -24
- package/dist/runtime/components/Form/fileState/MultipleFilesState.vue +75 -75
- package/dist/runtime/components/Form/fileState/PreviewModal.vue +23 -23
- package/dist/runtime/components/Form/index.vue +5 -5
- package/dist/runtime/components/Image.vue +28 -28
- package/dist/runtime/components/Log/index.vue +17 -17
- package/dist/runtime/components/Table/Base.d.vue.ts +4 -4
- package/dist/runtime/components/Table/Base.vue +117 -117
- package/dist/runtime/components/Table/Base.vue.d.ts +4 -4
- package/dist/runtime/components/Table/ColumnDate.vue +1 -1
- package/dist/runtime/components/Table/ColumnDateTime.vue +1 -1
- package/dist/runtime/components/Table/ColumnImage.vue +4 -4
- package/dist/runtime/components/Table/ColumnText.vue +10 -10
- package/dist/runtime/components/Table/Pagination.vue +62 -62
- package/dist/runtime/components/Table/Simple.vue +19 -19
- package/dist/runtime/components/Table/index.vue +33 -33
- package/dist/runtime/components/TeleportSafe.d.vue.ts +2 -2
- package/dist/runtime/components/TeleportSafe.vue.d.ts +2 -2
- package/dist/runtime/server/tsconfig.json +3 -3
- package/package.json +10 -10
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { defineNuxtModule, createResolver,
|
|
1
|
+
import { defineNuxtModule, createResolver, addImports, addPlugin, addComponentsDir, addImportsDir } from '@nuxt/kit';
|
|
2
2
|
import defu from 'defu';
|
|
3
3
|
import * as lodash from 'lodash-es';
|
|
4
4
|
import * as theme from '../dist/runtime/theme/index.js';
|
|
5
5
|
|
|
6
6
|
const name = "@finema/core";
|
|
7
|
-
const version = "3.20.
|
|
7
|
+
const version = "3.20.2";
|
|
8
8
|
|
|
9
9
|
const nuxtAppOptions = {
|
|
10
10
|
head: {
|
|
@@ -65,13 +65,40 @@ const core = {
|
|
|
65
65
|
locale: "th"
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
-
const module = defineNuxtModule({
|
|
68
|
+
const module$1 = defineNuxtModule({
|
|
69
69
|
meta: {
|
|
70
70
|
name,
|
|
71
71
|
version,
|
|
72
72
|
configKey: "core"
|
|
73
73
|
},
|
|
74
|
-
|
|
74
|
+
moduleDependencies: {
|
|
75
|
+
"@nuxt/ui": {
|
|
76
|
+
overrides: {
|
|
77
|
+
colorMode: false
|
|
78
|
+
},
|
|
79
|
+
defaults: {
|
|
80
|
+
prefix: "",
|
|
81
|
+
theme: {
|
|
82
|
+
colors: [
|
|
83
|
+
"primary",
|
|
84
|
+
"secondary",
|
|
85
|
+
"tertiary",
|
|
86
|
+
"info",
|
|
87
|
+
"success",
|
|
88
|
+
"warning",
|
|
89
|
+
"error",
|
|
90
|
+
"white"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"@pinia/nuxt": {},
|
|
96
|
+
"@vee-validate/nuxt": {
|
|
97
|
+
overrides: {
|
|
98
|
+
autoImports: false
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
75
102
|
defaults: {},
|
|
76
103
|
async setup(_options, _nuxt) {
|
|
77
104
|
const {
|
|
@@ -81,29 +108,13 @@ const module = defineNuxtModule({
|
|
|
81
108
|
_nuxt.options.build.transpile.push(runtimeDir);
|
|
82
109
|
_nuxt.options.alias["#core"] = runtimeDir;
|
|
83
110
|
_nuxt.options.css.push(resolve(runtimeDir, "styles/main.css"));
|
|
111
|
+
_nuxt.options.typescript.tsConfig.compilerOptions ??= {};
|
|
112
|
+
_nuxt.options.typescript.tsConfig.compilerOptions.paths ??= {};
|
|
113
|
+
_nuxt.options.typescript.tsConfig.compilerOptions.paths["#core"] = [runtimeDir];
|
|
114
|
+
_nuxt.options.typescript.tsConfig.compilerOptions.paths["#core/*"] = [`${runtimeDir}/*`];
|
|
84
115
|
_nuxt.options.app = defu(nuxtAppOptions, _nuxt.options.app);
|
|
85
|
-
_nuxt.options.runtimeConfig = defu(
|
|
86
|
-
|
|
87
|
-
_nuxt.options.runtimeConfig
|
|
88
|
-
);
|
|
89
|
-
_nuxt.options.appConfig.core = defu(
|
|
90
|
-
_nuxt.options.appConfig.core || {},
|
|
91
|
-
core
|
|
92
|
-
);
|
|
93
|
-
_nuxt.options.ui = defu(_nuxt.options.ui || {}, {
|
|
94
|
-
theme: {
|
|
95
|
-
colors: [
|
|
96
|
-
"white",
|
|
97
|
-
"primary",
|
|
98
|
-
"secondary",
|
|
99
|
-
"tertiary",
|
|
100
|
-
"info",
|
|
101
|
-
"success",
|
|
102
|
-
"warning",
|
|
103
|
-
"error"
|
|
104
|
-
]
|
|
105
|
-
}
|
|
106
|
-
});
|
|
116
|
+
_nuxt.options.runtimeConfig = defu(nuxtRunTimeConfigOptions, _nuxt.options.runtimeConfig);
|
|
117
|
+
_nuxt.options.appConfig.core = defu(_nuxt.options.appConfig.core || {}, core);
|
|
107
118
|
_nuxt.options.colorMode = {
|
|
108
119
|
preference: "light"
|
|
109
120
|
};
|
|
@@ -123,6 +134,16 @@ const module = defineNuxtModule({
|
|
|
123
134
|
);
|
|
124
135
|
_nuxt.options.vite = defu(
|
|
125
136
|
{
|
|
137
|
+
resolve: {
|
|
138
|
+
dedupe: [
|
|
139
|
+
"prosemirror-model",
|
|
140
|
+
"prosemirror-state",
|
|
141
|
+
"prosemirror-transform",
|
|
142
|
+
"prosemirror-view",
|
|
143
|
+
"prosemirror-commands",
|
|
144
|
+
"prosemirror-schema-list"
|
|
145
|
+
]
|
|
146
|
+
},
|
|
126
147
|
optimizeDeps: {
|
|
127
148
|
include: [
|
|
128
149
|
..._nuxt.options.vite?.optimizeDeps?.include || [],
|
|
@@ -142,29 +163,6 @@ const module = defineNuxtModule({
|
|
|
142
163
|
},
|
|
143
164
|
_nuxt.options.vite
|
|
144
165
|
);
|
|
145
|
-
await installModule("@nuxt/ui", {
|
|
146
|
-
prefix: "",
|
|
147
|
-
colorMode: false,
|
|
148
|
-
theme: {
|
|
149
|
-
colors: [
|
|
150
|
-
"primary",
|
|
151
|
-
"secondary",
|
|
152
|
-
"tertiary",
|
|
153
|
-
"info",
|
|
154
|
-
"success",
|
|
155
|
-
"warning",
|
|
156
|
-
"error",
|
|
157
|
-
"white"
|
|
158
|
-
]
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
await installModule("@pinia/nuxt");
|
|
162
|
-
await installModule(
|
|
163
|
-
"@vee-validate/nuxt",
|
|
164
|
-
{
|
|
165
|
-
autoImports: false
|
|
166
|
-
}
|
|
167
|
-
);
|
|
168
166
|
const excludes = [
|
|
169
167
|
"wrapperValue",
|
|
170
168
|
"wrapperToIterator",
|
|
@@ -191,20 +189,17 @@ const module = defineNuxtModule({
|
|
|
191
189
|
"get",
|
|
192
190
|
"isEmpty"
|
|
193
191
|
];
|
|
194
|
-
for (const
|
|
195
|
-
if (!excludes.includes(
|
|
196
|
-
const alias = name2;
|
|
197
|
-
const prefix = "_";
|
|
198
|
-
const as = prefix + alias;
|
|
192
|
+
for (const funcName of Object.keys(lodash)) {
|
|
193
|
+
if (!excludes.includes(funcName)) {
|
|
199
194
|
addImports({
|
|
200
|
-
name:
|
|
201
|
-
as
|
|
195
|
+
name: funcName,
|
|
196
|
+
as: `_${funcName}`,
|
|
202
197
|
from: resolve("./runtime/lodash")
|
|
203
198
|
});
|
|
204
199
|
}
|
|
205
200
|
}
|
|
206
201
|
addPlugin(resolve("./runtime/plugin"));
|
|
207
|
-
|
|
202
|
+
addComponentsDir({
|
|
208
203
|
path: resolve(runtimeDir, "components"),
|
|
209
204
|
prefix: _options.prefix,
|
|
210
205
|
priority: 10
|
|
@@ -213,7 +208,6 @@ const module = defineNuxtModule({
|
|
|
213
208
|
addImportsDir(resolve(runtimeDir, "utils"));
|
|
214
209
|
addImportsDir(resolve(runtimeDir, "types"));
|
|
215
210
|
addImports([
|
|
216
|
-
// Vee-Validate imports
|
|
217
211
|
{
|
|
218
212
|
name: "useForm",
|
|
219
213
|
from: "vee-validate"
|
|
@@ -250,7 +244,6 @@ const module = defineNuxtModule({
|
|
|
250
244
|
name: "toTypedSchema",
|
|
251
245
|
from: "@vee-validate/valibot"
|
|
252
246
|
},
|
|
253
|
-
// Valibot namespace import
|
|
254
247
|
{
|
|
255
248
|
name: "*",
|
|
256
249
|
as: "v",
|
|
@@ -260,4 +253,4 @@ const module = defineNuxtModule({
|
|
|
260
253
|
}
|
|
261
254
|
});
|
|
262
255
|
|
|
263
|
-
export { module as default };
|
|
256
|
+
export { module$1 as default };
|
|
@@ -2,9 +2,9 @@ import type { ToasterProps } from '@nuxt/ui';
|
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
toaster?: ToasterProps | null;
|
|
4
4
|
};
|
|
5
|
-
declare var
|
|
5
|
+
declare var __VLS_12: {};
|
|
6
6
|
type __VLS_Slots = {} & {
|
|
7
|
-
default?: (props: typeof
|
|
7
|
+
default?: (props: typeof __VLS_12) => any;
|
|
8
8
|
};
|
|
9
9
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
10
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -2,9 +2,9 @@ import type { ToasterProps } from '@nuxt/ui';
|
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
toaster?: ToasterProps | null;
|
|
4
4
|
};
|
|
5
|
-
declare var
|
|
5
|
+
declare var __VLS_12: {};
|
|
6
6
|
type __VLS_Slots = {} & {
|
|
7
|
-
default?: (props: typeof
|
|
7
|
+
default?: (props: typeof __VLS_12) => any;
|
|
8
8
|
};
|
|
9
9
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
10
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -6,8 +6,8 @@ type __VLS_Props = {
|
|
|
6
6
|
class?: any;
|
|
7
7
|
};
|
|
8
8
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
9
|
-
message: any;
|
|
10
9
|
icon: string;
|
|
10
|
+
message: any;
|
|
11
11
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
12
|
declare const _default: typeof __VLS_export;
|
|
13
13
|
export default _default;
|
|
@@ -6,8 +6,8 @@ type __VLS_Props = {
|
|
|
6
6
|
class?: any;
|
|
7
7
|
};
|
|
8
8
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
9
|
-
message: any;
|
|
10
9
|
icon: string;
|
|
10
|
+
message: any;
|
|
11
11
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
12
|
declare const _default: typeof __VLS_export;
|
|
13
13
|
export default _default;
|
|
@@ -1,83 +1,83 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<div
|
|
4
|
-
v-if="options.isEnabledSearch"
|
|
5
|
-
class="mb-4 flex justify-end"
|
|
6
|
-
>
|
|
7
|
-
<Input
|
|
8
|
-
v-model="q"
|
|
9
|
-
icon="i-heroicons-magnifying-glass"
|
|
10
|
-
:placeholder="options.searchPlaceholder || '\u0E04\u0E49\u0E19\u0E2B\u0E32...'"
|
|
11
|
-
/>
|
|
12
|
-
</div>
|
|
13
|
-
|
|
14
|
-
<div
|
|
15
|
-
v-if="options.pageOptions && options.isEnableInfiniteScroll"
|
|
16
|
-
class="mb-4 flex items-center justify-end"
|
|
17
|
-
>
|
|
18
|
-
<p class="text-xs text-gray-500">
|
|
19
|
-
{{ totalInnerRawData }} รายการ จากทั้งหมด {{ totalCountWithComma }} รายการ
|
|
20
|
-
</p>
|
|
21
|
-
</div>
|
|
22
|
-
|
|
23
|
-
<slot
|
|
24
|
-
v-if="options.status.isSuccess && options.rawData.length === 0"
|
|
25
|
-
name="empty-state"
|
|
26
|
-
>
|
|
27
|
-
<Empty />
|
|
28
|
-
</slot>
|
|
29
|
-
|
|
30
|
-
<slot
|
|
31
|
-
v-else-if="options.status.isLoading"
|
|
32
|
-
name="loading-state"
|
|
33
|
-
>
|
|
34
|
-
<Loader
|
|
35
|
-
:loading="true"
|
|
36
|
-
/>
|
|
37
|
-
</slot>
|
|
38
|
-
<slot
|
|
39
|
-
v-else-if="options.status.isError"
|
|
40
|
-
name="error-state"
|
|
41
|
-
>
|
|
42
|
-
<div
|
|
43
|
-
class="
|
|
44
|
-
text-error-400 flex h-[200px] items-center justify-center text-2xl
|
|
45
|
-
"
|
|
46
|
-
>
|
|
47
|
-
{{ StringHelper.getError(options.status.errorData) }}
|
|
48
|
-
</div>
|
|
49
|
-
</slot>
|
|
50
|
-
|
|
51
|
-
<div
|
|
52
|
-
v-else
|
|
53
|
-
:class="containerClass"
|
|
54
|
-
>
|
|
55
|
-
<slot
|
|
56
|
-
v-for="(row, index) in displayData"
|
|
57
|
-
:key="index"
|
|
58
|
-
:row="row"
|
|
59
|
-
/>
|
|
60
|
-
<div ref="bottomEdgeElement" />
|
|
61
|
-
</div>
|
|
62
|
-
|
|
63
|
-
<div
|
|
64
|
-
v-if="options.pageOptions && !options.isEnableInfiniteScroll && !options.isHidePagination"
|
|
65
|
-
class="mt-4 flex justify-between px-3"
|
|
66
|
-
>
|
|
67
|
-
<p class="text-xs text-gray-500">
|
|
68
|
-
{{ pageBetween }} {{ appConfig.core?.locale === "th" ? "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23 \u0E08\u0E32\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14" : "items of total" }}
|
|
69
|
-
{{ totalCountWithComma }} {{ appConfig.core?.locale === "th" ? "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23" : "items" }}
|
|
70
|
-
</p>
|
|
71
|
-
<Pagination
|
|
72
|
-
v-if="options.pageOptions.totalPage > 1"
|
|
73
|
-
:to="options.isRouteChange ? to : void 0"
|
|
74
|
-
:default-page="options.pageOptions?.currentPage || 1"
|
|
75
|
-
:items-per-page="options.pageOptions.limit"
|
|
76
|
-
:total="options.pageOptions.totalCount"
|
|
77
|
-
@update:page="onPageChange"
|
|
78
|
-
/>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
2
|
+
<div>
|
|
3
|
+
<div
|
|
4
|
+
v-if="options.isEnabledSearch"
|
|
5
|
+
class="mb-4 flex justify-end"
|
|
6
|
+
>
|
|
7
|
+
<Input
|
|
8
|
+
v-model="q"
|
|
9
|
+
icon="i-heroicons-magnifying-glass"
|
|
10
|
+
:placeholder="options.searchPlaceholder || '\u0E04\u0E49\u0E19\u0E2B\u0E32...'"
|
|
11
|
+
/>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<div
|
|
15
|
+
v-if="options.pageOptions && options.isEnableInfiniteScroll"
|
|
16
|
+
class="mb-4 flex items-center justify-end"
|
|
17
|
+
>
|
|
18
|
+
<p class="text-xs text-gray-500">
|
|
19
|
+
{{ totalInnerRawData }} รายการ จากทั้งหมด {{ totalCountWithComma }} รายการ
|
|
20
|
+
</p>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<slot
|
|
24
|
+
v-if="options.status.isSuccess && options.rawData.length === 0"
|
|
25
|
+
name="empty-state"
|
|
26
|
+
>
|
|
27
|
+
<Empty />
|
|
28
|
+
</slot>
|
|
29
|
+
|
|
30
|
+
<slot
|
|
31
|
+
v-else-if="options.status.isLoading"
|
|
32
|
+
name="loading-state"
|
|
33
|
+
>
|
|
34
|
+
<Loader
|
|
35
|
+
:loading="true"
|
|
36
|
+
/>
|
|
37
|
+
</slot>
|
|
38
|
+
<slot
|
|
39
|
+
v-else-if="options.status.isError"
|
|
40
|
+
name="error-state"
|
|
41
|
+
>
|
|
42
|
+
<div
|
|
43
|
+
class="
|
|
44
|
+
text-error-400 flex h-[200px] items-center justify-center text-2xl
|
|
45
|
+
"
|
|
46
|
+
>
|
|
47
|
+
{{ StringHelper.getError(options.status.errorData) }}
|
|
48
|
+
</div>
|
|
49
|
+
</slot>
|
|
50
|
+
|
|
51
|
+
<div
|
|
52
|
+
v-else
|
|
53
|
+
:class="containerClass"
|
|
54
|
+
>
|
|
55
|
+
<slot
|
|
56
|
+
v-for="(row, index) in displayData"
|
|
57
|
+
:key="index"
|
|
58
|
+
:row="row"
|
|
59
|
+
/>
|
|
60
|
+
<div ref="bottomEdgeElement" />
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div
|
|
64
|
+
v-if="options.pageOptions && !options.isEnableInfiniteScroll && !options.isHidePagination"
|
|
65
|
+
class="mt-4 flex justify-between px-3"
|
|
66
|
+
>
|
|
67
|
+
<p class="text-xs text-gray-500">
|
|
68
|
+
{{ pageBetween }} {{ appConfig.core?.locale === "th" ? "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23 \u0E08\u0E32\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14" : "items of total" }}
|
|
69
|
+
{{ totalCountWithComma }} {{ appConfig.core?.locale === "th" ? "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23" : "items" }}
|
|
70
|
+
</p>
|
|
71
|
+
<Pagination
|
|
72
|
+
v-if="options.pageOptions.totalPage > 1"
|
|
73
|
+
:to="options.isRouteChange ? to : void 0"
|
|
74
|
+
:default-page="options.pageOptions?.currentPage || 1"
|
|
75
|
+
:items-per-page="options.pageOptions.limit"
|
|
76
|
+
:total="options.pageOptions.totalCount"
|
|
77
|
+
@update:page="onPageChange"
|
|
78
|
+
/>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
81
|
</template>
|
|
82
82
|
|
|
83
83
|
<script setup>
|
|
@@ -2,9 +2,9 @@ import type { IFieldProps } from '#core/components/Form/types';
|
|
|
2
2
|
type __VLS_Props = IFieldProps & {
|
|
3
3
|
containerUi?: any;
|
|
4
4
|
};
|
|
5
|
-
declare var
|
|
5
|
+
declare var __VLS_8: {};
|
|
6
6
|
type __VLS_Slots = {} & {
|
|
7
|
-
default?: (props: typeof
|
|
7
|
+
default?: (props: typeof __VLS_8) => any;
|
|
8
8
|
};
|
|
9
9
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
10
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<FormField
|
|
3
|
-
:label="label"
|
|
4
|
-
:name="name"
|
|
5
|
-
:description="description"
|
|
6
|
-
:hint="hint"
|
|
7
|
-
:data-testid="name"
|
|
8
|
-
:help="help"
|
|
9
|
-
:error="errorMessage"
|
|
10
|
-
:required="!!required"
|
|
11
|
-
:ui="containerUi"
|
|
12
|
-
>
|
|
13
|
-
<slot />
|
|
14
|
-
</FormField>
|
|
2
|
+
<FormField
|
|
3
|
+
:label="label"
|
|
4
|
+
:name="name"
|
|
5
|
+
:description="description"
|
|
6
|
+
:hint="hint"
|
|
7
|
+
:data-testid="name"
|
|
8
|
+
:help="help"
|
|
9
|
+
:error="errorMessage"
|
|
10
|
+
:required="!!required"
|
|
11
|
+
:ui="containerUi"
|
|
12
|
+
>
|
|
13
|
+
<slot />
|
|
14
|
+
</FormField>
|
|
15
15
|
</template>
|
|
16
16
|
|
|
17
17
|
<script setup>
|
|
@@ -2,9 +2,9 @@ import type { IFieldProps } from '#core/components/Form/types';
|
|
|
2
2
|
type __VLS_Props = IFieldProps & {
|
|
3
3
|
containerUi?: any;
|
|
4
4
|
};
|
|
5
|
-
declare var
|
|
5
|
+
declare var __VLS_8: {};
|
|
6
6
|
type __VLS_Slots = {} & {
|
|
7
|
-
default?: (props: typeof
|
|
7
|
+
default?: (props: typeof __VLS_8) => any;
|
|
8
8
|
};
|
|
9
9
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
10
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div
|
|
3
3
|
:class="[theme.base({
|
|
4
4
|
class: [$props.class, ui?.base]
|
|
5
|
-
})]"
|
|
6
|
-
>
|
|
7
|
-
<component
|
|
8
|
-
:is="componentMap[option.type]?.component"
|
|
9
|
-
v-for="option in options.filter((item) => !item.isHide)"
|
|
10
|
-
:key="option.props.name"
|
|
11
|
-
:class="option.class"
|
|
12
|
-
:form="form"
|
|
5
|
+
})]"
|
|
6
|
+
>
|
|
7
|
+
<component
|
|
8
|
+
:is="componentMap[option.type]?.component"
|
|
9
|
+
v-for="option in options.filter((item) => !item.isHide)"
|
|
10
|
+
:key="option.props.name"
|
|
11
|
+
:class="option.class"
|
|
12
|
+
:form="form"
|
|
13
13
|
v-bind="{
|
|
14
14
|
...getFieldBinding(option),
|
|
15
15
|
...componentMap[option.type]?.props
|
|
16
|
-
}"
|
|
17
|
-
v-on="option.on ?? {}"
|
|
18
|
-
/>
|
|
19
|
-
</div>
|
|
16
|
+
}"
|
|
17
|
+
v-on="option.on ?? {}"
|
|
18
|
+
/>
|
|
19
|
+
</div>
|
|
20
20
|
</template>
|
|
21
21
|
|
|
22
22
|
<script setup>
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<FieldWrapper
|
|
3
|
-
v-bind="wrapperProps"
|
|
4
|
-
label=""
|
|
5
|
-
description=""
|
|
6
|
-
>
|
|
7
|
-
<Checkbox
|
|
8
|
-
:model-value="value"
|
|
9
|
-
:disabled="wrapperProps.disabled"
|
|
10
|
-
:name="name"
|
|
11
|
-
:label="label"
|
|
12
|
-
:description="description"
|
|
13
|
-
:required="required"
|
|
14
|
-
:variant="variant"
|
|
15
|
-
:indicator="indicator"
|
|
16
|
-
:ui="ui"
|
|
17
|
-
@update:modelValue="onChange"
|
|
18
|
-
/>
|
|
19
|
-
</FieldWrapper>
|
|
2
|
+
<FieldWrapper
|
|
3
|
+
v-bind="wrapperProps"
|
|
4
|
+
label=""
|
|
5
|
+
description=""
|
|
6
|
+
>
|
|
7
|
+
<Checkbox
|
|
8
|
+
:model-value="value"
|
|
9
|
+
:disabled="wrapperProps.disabled"
|
|
10
|
+
:name="name"
|
|
11
|
+
:label="label"
|
|
12
|
+
:description="description"
|
|
13
|
+
:required="required"
|
|
14
|
+
:variant="variant"
|
|
15
|
+
:indicator="indicator"
|
|
16
|
+
:ui="ui"
|
|
17
|
+
@update:modelValue="onChange"
|
|
18
|
+
/>
|
|
19
|
+
</FieldWrapper>
|
|
20
20
|
</template>
|
|
21
21
|
|
|
22
22
|
<script setup>
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<FieldWrapper
|
|
3
|
-
v-bind="wrapperProps"
|
|
4
|
-
label=""
|
|
5
|
-
description=""
|
|
6
|
-
>
|
|
7
|
-
<CheckboxGroup
|
|
8
|
-
:model-value="value"
|
|
9
|
-
:disabled="wrapperProps.disabled"
|
|
10
|
-
:name="name"
|
|
11
|
-
:label="label"
|
|
12
|
-
:items="options"
|
|
13
|
-
:description="description"
|
|
14
|
-
:required="required"
|
|
15
|
-
:variant="variant"
|
|
16
|
-
:indicator="indicator"
|
|
17
|
-
:value-key="valueKey"
|
|
18
|
-
:orientation="orientation"
|
|
19
|
-
:ui="ui"
|
|
20
|
-
@update:model-value="onChange"
|
|
21
|
-
/>
|
|
22
|
-
</FieldWrapper>
|
|
2
|
+
<FieldWrapper
|
|
3
|
+
v-bind="wrapperProps"
|
|
4
|
+
label=""
|
|
5
|
+
description=""
|
|
6
|
+
>
|
|
7
|
+
<CheckboxGroup
|
|
8
|
+
:model-value="value"
|
|
9
|
+
:disabled="wrapperProps.disabled"
|
|
10
|
+
:name="name"
|
|
11
|
+
:label="label"
|
|
12
|
+
:items="options"
|
|
13
|
+
:description="description"
|
|
14
|
+
:required="required"
|
|
15
|
+
:variant="variant"
|
|
16
|
+
:indicator="indicator"
|
|
17
|
+
:value-key="valueKey"
|
|
18
|
+
:orientation="orientation"
|
|
19
|
+
:ui="ui"
|
|
20
|
+
@update:model-value="onChange"
|
|
21
|
+
/>
|
|
22
|
+
</FieldWrapper>
|
|
23
23
|
</template>
|
|
24
24
|
|
|
25
25
|
<script setup>
|