@ramathibodi/nuxt-commons 4.0.1 → 4.0.3

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 (44) hide show
  1. package/README.md +35 -0
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/components/BarcodeReader.vue +3 -2
  4. package/dist/runtime/components/form/ActionPad.d.vue.ts +2 -2
  5. package/dist/runtime/components/form/ActionPad.vue.d.ts +2 -2
  6. package/dist/runtime/components/form/DateTime.vue +7 -1
  7. package/dist/runtime/components/form/Dialog.d.vue.ts +2 -2
  8. package/dist/runtime/components/form/Dialog.vue.d.ts +2 -2
  9. package/dist/runtime/components/form/EditPad.d.vue.ts +2 -2
  10. package/dist/runtime/components/form/EditPad.vue.d.ts +2 -2
  11. package/dist/runtime/components/form/System.vue +1 -1
  12. package/dist/runtime/components/master/Select.d.vue.ts +2 -2
  13. package/dist/runtime/components/master/Select.vue +3 -3
  14. package/dist/runtime/components/master/Select.vue.d.ts +2 -2
  15. package/dist/runtime/components/model/Autocomplete.d.vue.ts +6 -1
  16. package/dist/runtime/components/model/Autocomplete.vue +8 -6
  17. package/dist/runtime/components/model/Autocomplete.vue.d.ts +6 -1
  18. package/dist/runtime/components/model/Combobox.d.vue.ts +6 -1
  19. package/dist/runtime/components/model/Combobox.vue +8 -6
  20. package/dist/runtime/components/model/Combobox.vue.d.ts +6 -1
  21. package/dist/runtime/components/model/Pad.d.vue.ts +5 -2
  22. package/dist/runtime/components/model/Pad.vue +3 -1
  23. package/dist/runtime/components/model/Pad.vue.d.ts +5 -2
  24. package/dist/runtime/components/model/Select.d.vue.ts +8 -3
  25. package/dist/runtime/components/model/Select.vue +11 -16
  26. package/dist/runtime/components/model/Select.vue.d.ts +8 -3
  27. package/dist/runtime/components/model/Table.d.vue.ts +55 -52
  28. package/dist/runtime/components/model/Table.vue +3 -1
  29. package/dist/runtime/components/model/Table.vue.d.ts +55 -52
  30. package/dist/runtime/components/model/iterator.d.vue.ts +65 -62
  31. package/dist/runtime/components/model/iterator.vue +3 -1
  32. package/dist/runtime/components/model/iterator.vue.d.ts +65 -62
  33. package/dist/runtime/components/model/label.d.vue.ts +2 -0
  34. package/dist/runtime/components/model/label.vue +14 -2
  35. package/dist/runtime/components/model/label.vue.d.ts +2 -0
  36. package/dist/runtime/composables/apiLookupList.d.ts +26 -0
  37. package/dist/runtime/composables/apiLookupList.js +245 -0
  38. package/dist/runtime/composables/apiModel.d.ts +40 -0
  39. package/dist/runtime/composables/apiModel.js +191 -0
  40. package/dist/runtime/composables/apiModelItem.d.ts +16 -0
  41. package/dist/runtime/composables/apiModelItem.js +101 -0
  42. package/package.json +3 -4
  43. package/templates/.codegen/codegen.ts +5 -3
  44. /package/templates/.codegen/{plugin-schema-object.js → plugin-schema-object.cjs} +0 -0
@@ -1,6 +1,7 @@
1
1
  <script setup>
2
- import { VCombobox } from "vuetify/components/VCombobox";
2
+ import { VSelect } from "vuetify/components/VSelect";
3
3
  import { useLookupList } from "../../composables/lookupList";
4
+ import { useApiLookupList } from "../../composables/apiLookupList";
4
5
  import { useLocalStorageModel } from "../../composables/localStorageModel";
5
6
  const props = defineProps({
6
7
  fuzzy: { type: Boolean, required: false, default: false },
@@ -28,36 +29,30 @@ const props = defineProps({
28
29
  persistTtl: { type: Number, required: false },
29
30
  persistEncrypt: { type: Boolean, required: false },
30
31
  persistSecret: { type: String, required: false },
31
- persistAlwaysHydrate: { type: Boolean, required: false }
32
+ persistAlwaysHydrate: { type: Boolean, required: false },
33
+ api: { type: Boolean, required: false, default: false }
32
34
  });
33
35
  const emit = defineEmits(["update:selectedObject"]);
34
36
  const selectedItems = defineModel({ type: null });
35
37
  useLocalStorageModel(selectedItems, props);
36
38
  const {
37
39
  computedItems,
38
- computedFilterKeys,
39
- computedPlaceholder,
40
40
  computedNoDataText,
41
41
  isLoading,
42
42
  isErrorLoading,
43
- searchData,
44
43
  onUpdateModelValue
45
- // from composable
46
- } = useLookupList(props, emit, selectedItems);
44
+ } = props.api ? useApiLookupList(props, emit, selectedItems) : useLookupList(props, emit, selectedItems);
47
45
  </script>
48
46
 
49
47
  <template>
50
- <v-combobox
48
+ <v-select
51
49
  :model-value="selectedItems"
52
50
  @update:model-value="onUpdateModelValue"
53
- v-model:search="searchData"
54
51
  v-bind="$attrs"
55
52
  :items="computedItems"
56
- :filter-keys="computedFilterKeys"
57
53
  :item-title="props.itemTitle"
58
54
  :item-value="props.itemValue"
59
55
  :loading="isLoading"
60
- :placeholder="computedPlaceholder"
61
56
  :no-data-text="computedNoDataText"
62
57
  :multiple="props.multiple"
63
58
  :return-object="false"
@@ -68,16 +63,16 @@ const {
68
63
  <slot :name="name" v-bind="slotData || {}" />
69
64
  </template>
70
65
 
71
- <template v-if="!$slots.item" #item="{ props: itemProps, item }">
72
- <v-list-item v-bind="itemProps" :title="(props.showCode ? item.value + '-' : '') + item.title" />
66
+ <template v-if="!$slots.item" #item="{ props: itemProps }">
67
+ <v-list-item v-bind="itemProps" :title="(props.showCode ? itemProps.value + '-' : '') + itemProps.title" />
73
68
  </template>
74
69
 
75
- <template v-if="!$slots.selection && props.showCode" #selection="{ item }">
76
- {{ item.value + "-" + item.title }}
70
+ <template v-if="!$slots.selection && props.showCode" #selection="{ internalItem }">
71
+ {{ internalItem.value + "-" + internalItem.title }}
77
72
  </template>
78
73
 
79
74
  <template v-if="isErrorLoading" #append>
80
75
  <v-icon color="error">mdi mdi-alert</v-icon>
81
76
  </template>
82
- </v-combobox>
77
+ </v-select>
83
78
  </template>
@@ -2,16 +2,19 @@
2
2
  * ModelSelect connects model metadata to reusable selection, labeling, iterator, or table UI patterns.
3
3
  * This doc block is consumed by vue-docgen for generated API documentation.
4
4
  */
5
- import { VCombobox } from 'vuetify/components/VCombobox';
5
+ import { VSelect } from 'vuetify/components/VSelect';
6
6
  import { type StaticLookupProps } from '../../composables/lookupList.js';
7
7
  import { type PersistSlimProps } from '../../composables/localStorageModel.js';
8
- interface Props extends /* @vue-ignore */ InstanceType<typeof VCombobox['$props']> {
8
+ interface Props extends /* @vue-ignore */ InstanceType<typeof VSelect['$props']> {
9
9
  }
10
10
  /**
11
11
  * Public props accepted by ModelSelect.
12
12
  * Document each prop field with intent, defaults, and side effects for clear generated docs.
13
13
  */
14
- type __VLS_Props = Props & StaticLookupProps & PersistSlimProps;
14
+ interface ApiProp {
15
+ api?: boolean;
16
+ }
17
+ type __VLS_Props = Props & StaticLookupProps & PersistSlimProps & ApiProp;
15
18
  type __VLS_ModelProps = {
16
19
  modelValue?: any;
17
20
  };
@@ -28,6 +31,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
28
31
  activeValue: string;
29
32
  hideInactiveInList: boolean;
30
33
  preventSelectingInactive: boolean;
34
+ api: boolean;
31
35
  }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
32
36
  "update:modelValue": (value: any) => any;
33
37
  } & {
@@ -40,6 +44,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
40
44
  activeValue: string;
41
45
  hideInactiveInList: boolean;
42
46
  preventSelectingInactive: boolean;
47
+ api: boolean;
43
48
  }>>> & Readonly<{
44
49
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
45
50
  "onUpdate:selectedObject"?: ((object: any) => any) | undefined;
@@ -20,6 +20,7 @@ interface Props extends /* @vue-ignore */ InstanceType<typeof VDataTable['$props
20
20
  stringFields?: Array<string>;
21
21
  onlyOwnerEdit?: boolean;
22
22
  onlyOwnerOverridePermission?: string | string[];
23
+ api?: boolean;
23
24
  }
24
25
  /**
25
26
  * Public props accepted by ModelTable.
@@ -33,12 +34,12 @@ declare var __VLS_8: {
33
34
  operation: {
34
35
  openDialog: typeof openDialog;
35
36
  openDialogReadonly: typeof openDialogReadonly;
36
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
37
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
38
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
39
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
40
- reload: () => void;
41
- setSearch: (keyword: string) => void;
37
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
38
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
39
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
40
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
41
+ reload: (() => void) | (() => void);
42
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
42
43
  canServerPageable: boolean;
43
44
  canServerSearch: boolean;
44
45
  canCreate: boolean;
@@ -49,18 +50,18 @@ declare var __VLS_8: {
49
50
  onlyOwnerOverridePermission: string | string[] | undefined;
50
51
  };
51
52
  }, __VLS_34: {
52
- reload: () => void;
53
+ reload: (() => void) | (() => void);
53
54
  }, __VLS_50: {
54
55
  items: Record<string, any>[];
55
56
  operation: {
56
57
  openDialog: typeof openDialog;
57
58
  openDialogReadonly: typeof openDialogReadonly;
58
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
59
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
60
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
61
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
62
- reload: () => void;
63
- setSearch: (keyword: string) => void;
59
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
60
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
61
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
62
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
63
+ reload: (() => void) | (() => void);
64
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
64
65
  canServerPageable: boolean;
65
66
  canServerSearch: boolean;
66
67
  canCreate: boolean;
@@ -75,12 +76,12 @@ declare var __VLS_8: {
75
76
  operation: {
76
77
  openDialog: typeof openDialog;
77
78
  openDialogReadonly: typeof openDialogReadonly;
78
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
79
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
80
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
81
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
82
- reload: () => void;
83
- setSearch: (keyword: string) => void;
79
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
80
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
81
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
82
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
83
+ reload: (() => void) | (() => void);
84
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
84
85
  canServerPageable: boolean;
85
86
  canServerSearch: boolean;
86
87
  canCreate: boolean;
@@ -94,12 +95,12 @@ declare var __VLS_8: {
94
95
  operation: {
95
96
  openDialog: typeof openDialog;
96
97
  openDialogReadonly: typeof openDialogReadonly;
97
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
98
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
99
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
100
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
101
- reload: () => void;
102
- setSearch: (keyword: string) => void;
98
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
99
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
100
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
101
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
102
+ reload: (() => void) | (() => void);
103
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
103
104
  canServerPageable: boolean;
104
105
  canServerSearch: boolean;
105
106
  canCreate: boolean;
@@ -113,12 +114,12 @@ declare var __VLS_8: {
113
114
  operation: {
114
115
  openDialog: typeof openDialog;
115
116
  openDialogReadonly: typeof openDialogReadonly;
116
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
117
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
118
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
119
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
120
- reload: () => void;
121
- setSearch: (keyword: string) => void;
117
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
118
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
119
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
120
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
121
+ reload: (() => void) | (() => void);
122
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
122
123
  canServerPageable: boolean;
123
124
  canServerSearch: boolean;
124
125
  canCreate: boolean;
@@ -162,17 +163,18 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
162
163
  fields: () => never[];
163
164
  stringFields: () => never[];
164
165
  onlyOwnerEdit: boolean;
166
+ api: boolean;
165
167
  }>>, {
166
- reload: () => void;
168
+ reload: (() => void) | (() => void);
167
169
  operation: import("vue").Ref<{
168
170
  openDialog: typeof openDialog;
169
171
  openDialogReadonly: typeof openDialogReadonly;
170
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
171
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
172
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
173
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
174
- reload: () => void;
175
- setSearch: (keyword: string) => void;
172
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
173
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
174
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
175
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
176
+ reload: (() => void) | (() => void);
177
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
176
178
  canServerPageable: boolean;
177
179
  canServerSearch: boolean;
178
180
  canCreate: boolean;
@@ -184,12 +186,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
184
186
  }, {
185
187
  openDialog: typeof openDialog;
186
188
  openDialogReadonly: typeof openDialogReadonly;
187
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
188
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
189
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
190
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
191
- reload: () => void;
192
- setSearch: (keyword: string) => void;
189
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
190
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
191
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
192
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
193
+ reload: (() => void) | (() => void);
194
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
193
195
  canServerPageable: import("vue").ComputedRef<boolean>;
194
196
  canServerSearch: import("vue").ComputedRef<boolean>;
195
197
  canCreate: import("vue").ComputedRef<boolean>;
@@ -201,12 +203,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
201
203
  } | {
202
204
  openDialog: typeof openDialog;
203
205
  openDialogReadonly: typeof openDialogReadonly;
204
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
205
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
206
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
207
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
208
- reload: () => void;
209
- setSearch: (keyword: string) => void;
206
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
207
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
208
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
209
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
210
+ reload: (() => void) | (() => void);
211
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
210
212
  canServerPageable: boolean;
211
213
  canServerSearch: boolean;
212
214
  canCreate: boolean;
@@ -219,8 +221,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
219
221
  items: import("vue").Ref<Record<string, any>[], Record<string, any>[]>;
220
222
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
221
223
  delete: (...args: any[]) => void;
222
- update: (...args: any[]) => void;
223
224
  create: (...args: any[]) => void;
225
+ update: (...args: any[]) => void;
224
226
  "open:dialog": (...args: any[]) => void;
225
227
  "close:dialog": (...args: any[]) => void;
226
228
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
@@ -237,10 +239,11 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
237
239
  fields: () => never[];
238
240
  stringFields: () => never[];
239
241
  onlyOwnerEdit: boolean;
242
+ api: boolean;
240
243
  }>>> & Readonly<{
241
244
  onDelete?: ((...args: any[]) => any) | undefined;
242
- onUpdate?: ((...args: any[]) => any) | undefined;
243
245
  onCreate?: ((...args: any[]) => any) | undefined;
246
+ onUpdate?: ((...args: any[]) => any) | undefined;
244
247
  "onOpen:dialog"?: ((...args: any[]) => any) | undefined;
245
248
  "onClose:dialog"?: ((...args: any[]) => any) | undefined;
246
249
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -3,6 +3,7 @@ import { computed, watch, nextTick, ref, useAttrs } from "vue";
3
3
  import { VDataTable } from "vuetify/components/VDataTable";
4
4
  import { clone } from "lodash-es";
5
5
  import { useGraphqlModel } from "../../composables/graphqlModel";
6
+ import { useApiModel } from "../../composables/apiModel";
6
7
  import { useDialog } from "../../composables/dialog";
7
8
  import { useUserPermission } from "../../composables/userPermission";
8
9
  import { useState } from "#imports";
@@ -28,6 +29,7 @@ const props = defineProps({
28
29
  stringFields: { type: Array, required: false, default: () => [] },
29
30
  onlyOwnerEdit: { type: Boolean, required: false, default: false },
30
31
  onlyOwnerOverridePermission: { type: [String, Array], required: false },
32
+ api: { type: Boolean, required: false, default: false },
31
33
  modelName: { type: String, required: true },
32
34
  modelKey: { type: String, required: false, default: "id" },
33
35
  modelBy: { type: Object, required: false, default: void 0 },
@@ -72,7 +74,7 @@ const {
72
74
  loadItems,
73
75
  reload,
74
76
  isLoading
75
- } = useGraphqlModel(props);
77
+ } = props.api ? useApiModel(props) : useGraphqlModel(props);
76
78
  function openDialog(item) {
77
79
  isDialogReadonly.value = false;
78
80
  currentItem.value = item;
@@ -20,6 +20,7 @@ interface Props extends /* @vue-ignore */ InstanceType<typeof VDataTable['$props
20
20
  stringFields?: Array<string>;
21
21
  onlyOwnerEdit?: boolean;
22
22
  onlyOwnerOverridePermission?: string | string[];
23
+ api?: boolean;
23
24
  }
24
25
  /**
25
26
  * Public props accepted by ModelTable.
@@ -33,12 +34,12 @@ declare var __VLS_8: {
33
34
  operation: {
34
35
  openDialog: typeof openDialog;
35
36
  openDialogReadonly: typeof openDialogReadonly;
36
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
37
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
38
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
39
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
40
- reload: () => void;
41
- setSearch: (keyword: string) => void;
37
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
38
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
39
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
40
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
41
+ reload: (() => void) | (() => void);
42
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
42
43
  canServerPageable: boolean;
43
44
  canServerSearch: boolean;
44
45
  canCreate: boolean;
@@ -49,18 +50,18 @@ declare var __VLS_8: {
49
50
  onlyOwnerOverridePermission: string | string[] | undefined;
50
51
  };
51
52
  }, __VLS_34: {
52
- reload: () => void;
53
+ reload: (() => void) | (() => void);
53
54
  }, __VLS_50: {
54
55
  items: Record<string, any>[];
55
56
  operation: {
56
57
  openDialog: typeof openDialog;
57
58
  openDialogReadonly: typeof openDialogReadonly;
58
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
59
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
60
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
61
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
62
- reload: () => void;
63
- setSearch: (keyword: string) => void;
59
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
60
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
61
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
62
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
63
+ reload: (() => void) | (() => void);
64
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
64
65
  canServerPageable: boolean;
65
66
  canServerSearch: boolean;
66
67
  canCreate: boolean;
@@ -75,12 +76,12 @@ declare var __VLS_8: {
75
76
  operation: {
76
77
  openDialog: typeof openDialog;
77
78
  openDialogReadonly: typeof openDialogReadonly;
78
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
79
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
80
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
81
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
82
- reload: () => void;
83
- setSearch: (keyword: string) => void;
79
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
80
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
81
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
82
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
83
+ reload: (() => void) | (() => void);
84
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
84
85
  canServerPageable: boolean;
85
86
  canServerSearch: boolean;
86
87
  canCreate: boolean;
@@ -94,12 +95,12 @@ declare var __VLS_8: {
94
95
  operation: {
95
96
  openDialog: typeof openDialog;
96
97
  openDialogReadonly: typeof openDialogReadonly;
97
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
98
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
99
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
100
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
101
- reload: () => void;
102
- setSearch: (keyword: string) => void;
98
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
99
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
100
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
101
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
102
+ reload: (() => void) | (() => void);
103
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
103
104
  canServerPageable: boolean;
104
105
  canServerSearch: boolean;
105
106
  canCreate: boolean;
@@ -113,12 +114,12 @@ declare var __VLS_8: {
113
114
  operation: {
114
115
  openDialog: typeof openDialog;
115
116
  openDialogReadonly: typeof openDialogReadonly;
116
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
117
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
118
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
119
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
120
- reload: () => void;
121
- setSearch: (keyword: string) => void;
117
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
118
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
119
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
120
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
121
+ reload: (() => void) | (() => void);
122
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
122
123
  canServerPageable: boolean;
123
124
  canServerSearch: boolean;
124
125
  canCreate: boolean;
@@ -162,17 +163,18 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
162
163
  fields: () => never[];
163
164
  stringFields: () => never[];
164
165
  onlyOwnerEdit: boolean;
166
+ api: boolean;
165
167
  }>>, {
166
- reload: () => void;
168
+ reload: (() => void) | (() => void);
167
169
  operation: import("vue").Ref<{
168
170
  openDialog: typeof openDialog;
169
171
  openDialogReadonly: typeof openDialogReadonly;
170
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
171
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
172
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
173
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
174
- reload: () => void;
175
- setSearch: (keyword: string) => void;
172
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
173
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
174
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
175
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
176
+ reload: (() => void) | (() => void);
177
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
176
178
  canServerPageable: boolean;
177
179
  canServerSearch: boolean;
178
180
  canCreate: boolean;
@@ -184,12 +186,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
184
186
  }, {
185
187
  openDialog: typeof openDialog;
186
188
  openDialogReadonly: typeof openDialogReadonly;
187
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
188
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
189
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
190
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
191
- reload: () => void;
192
- setSearch: (keyword: string) => void;
189
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
190
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
191
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
192
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
193
+ reload: (() => void) | (() => void);
194
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
193
195
  canServerPageable: import("vue").ComputedRef<boolean>;
194
196
  canServerSearch: import("vue").ComputedRef<boolean>;
195
197
  canCreate: import("vue").ComputedRef<boolean>;
@@ -201,12 +203,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
201
203
  } | {
202
204
  openDialog: typeof openDialog;
203
205
  openDialogReadonly: typeof openDialogReadonly;
204
- createItem: (item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>;
205
- importItems: (importItems: Record<string, any>[], callback?: FormDialogCallback) => void;
206
- updateItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>;
207
- deleteItem: (item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>;
208
- reload: () => void;
209
- setSearch: (keyword: string) => void;
206
+ createItem: ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback, importing?: boolean) => Promise<any>);
207
+ importItems: ((importItems: Record<string, any>[], callback?: FormDialogCallback) => void) | ((importItemsList: Record<string, any>[], callback?: FormDialogCallback) => void);
208
+ updateItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<void>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>);
209
+ deleteItem: ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<any>) | ((item: Record<string, any>, callback?: FormDialogCallback) => Promise<unknown>);
210
+ reload: (() => void) | (() => void);
211
+ setSearch: ((keyword: string) => void) | ((keyword: string) => void);
210
212
  canServerPageable: boolean;
211
213
  canServerSearch: boolean;
212
214
  canCreate: boolean;
@@ -219,8 +221,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
219
221
  items: import("vue").Ref<Record<string, any>[], Record<string, any>[]>;
220
222
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
221
223
  delete: (...args: any[]) => void;
222
- update: (...args: any[]) => void;
223
224
  create: (...args: any[]) => void;
225
+ update: (...args: any[]) => void;
224
226
  "open:dialog": (...args: any[]) => void;
225
227
  "close:dialog": (...args: any[]) => void;
226
228
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
@@ -237,10 +239,11 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
237
239
  fields: () => never[];
238
240
  stringFields: () => never[];
239
241
  onlyOwnerEdit: boolean;
242
+ api: boolean;
240
243
  }>>> & Readonly<{
241
244
  onDelete?: ((...args: any[]) => any) | undefined;
242
- onUpdate?: ((...args: any[]) => any) | undefined;
243
245
  onCreate?: ((...args: any[]) => any) | undefined;
246
+ onUpdate?: ((...args: any[]) => any) | undefined;
244
247
  "onOpen:dialog"?: ((...args: any[]) => any) | undefined;
245
248
  "onClose:dialog"?: ((...args: any[]) => any) | undefined;
246
249
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;