@dative-gpi/foundation-core-components 1.0.35 → 1.0.37-report-v1

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 (84) hide show
  1. package/components/autocompletes/FSAutocompleteChart.vue +18 -8
  2. package/components/autocompletes/FSAutocompleteDashboard.vue +16 -6
  3. package/components/autocompletes/FSAutocompleteDashboardOrganisation.vue +7 -1
  4. package/components/autocompletes/FSAutocompleteDataCategory.vue +11 -5
  5. package/components/autocompletes/FSAutocompleteDataDefinition.vue +7 -1
  6. package/components/autocompletes/FSAutocompleteGroup.vue +7 -1
  7. package/components/autocompletes/FSAutocompleteLocation.vue +6 -0
  8. package/components/autocompletes/FSAutocompleteManufacturer.vue +8 -0
  9. package/components/autocompletes/FSAutocompleteModel.vue +9 -1
  10. package/components/autocompletes/FSAutocompleteOrganisationType.vue +7 -1
  11. package/components/autocompletes/FSAutocompleteRole.vue +17 -6
  12. package/components/autocompletes/FSAutocompleteServiceAccountRoleOrganisation.vue +7 -1
  13. package/components/autocompletes/FSAutocompleteUserOrganisation.vue +9 -1
  14. package/components/chips/FSChipGroupUserOrganisation.vue +61 -0
  15. package/components/chips/FSChipGroupUserOrganisationUI.vue +38 -0
  16. package/components/customProperties/FSMetaField.vue +31 -35
  17. package/components/customProperties/FSMetaHistory.vue +4 -4
  18. package/components/customProperties/FSMetaValue.vue +66 -33
  19. package/components/customProperties/helpers.ts +2 -1
  20. package/components/entities/FSBaseEntitiesList.vue +50 -0
  21. package/components/entities/FSDialogSelectEntities.vue +83 -0
  22. package/components/entities/FSEntityField.vue +203 -0
  23. package/components/entities/FSSelectEntitiesList.vue +209 -0
  24. package/components/entities/FSSimpleEntitiesList.vue +100 -0
  25. package/components/explorers/FSBaseDevicesExplorer.vue +310 -0
  26. package/components/explorers/FSBaseFoldersExplorer.vue +277 -0
  27. package/components/lists/FSDataTable.vue +23 -21
  28. package/components/lists/alerts/FSBaseAlertsList.vue +338 -0
  29. package/components/lists/alerts/FSButtonAcknowledgeAlert.vue +101 -0
  30. package/components/lists/authTokens/FSBaseAuthTokensList.vue +79 -0
  31. package/components/lists/chartOrganisationTypes/FSBaseChartOrganisationTypesList.vue +205 -0
  32. package/components/lists/chartOrganisations/FSBaseChartOrganisationsList.vue +206 -0
  33. package/components/lists/charts/FSBaseChartsList.vue +268 -0
  34. package/components/lists/comments/FSBaseCommentsList.vue +143 -0
  35. package/components/lists/connectivityScenarios/FSBaseConnectivityScenariosList.vue +128 -0
  36. package/components/lists/dashboardOrganisationTypes/FSBaseDashboardOrganisationTypesList.vue +179 -0
  37. package/components/lists/dashboards/FSBaseDashboardsList.vue +235 -0
  38. package/components/lists/dashboards/FSSimpleDashboardsList.vue +62 -0
  39. package/components/lists/dataCategories/FSBaseDataCategoriesList.vue +155 -0
  40. package/components/lists/dataDefinitions/FSBaseDataDefinitionsList.vue +130 -0
  41. package/components/lists/deviceOrganisations/FSBaseDeviceOrganisationsList.vue +378 -0
  42. package/components/lists/deviceOrganisations/FSSimpleDeviceOrganisationsList.vue +44 -0
  43. package/components/lists/folders/FSBaseFoldersList.vue +127 -0
  44. package/components/lists/folders/FSSimpleFoldersList.vue +44 -0
  45. package/components/lists/groups/FSBaseGroupsList.vue +136 -0
  46. package/components/lists/groups/FSSimpleGroupsList.vue +44 -0
  47. package/components/lists/locations/FSBaseLocationsList.vue +118 -0
  48. package/components/lists/locations/FSSimpleLocationsList.vue +44 -0
  49. package/components/lists/models/FSBaseModelsList.vue +155 -0
  50. package/components/lists/models/FSSimpleModelsList.vue +44 -0
  51. package/components/lists/reports/FSBaseReportExecutionsList.vue +137 -0
  52. package/components/lists/reports/FSBaseReportsList.vue +140 -0
  53. package/components/lists/roleOrganisationTypes/FSBaseRoleOrganisationTypesList.vue +128 -0
  54. package/components/lists/roleOrganisations/FSBaseRoleOrganisationsList.vue +128 -0
  55. package/components/lists/scenarioOrganisationTypes/FSBaseScenarioOrganisationTypesList.vue +157 -0
  56. package/components/lists/scenarioOrganisations/FSBaseScenarioOrganisationsList.vue +145 -0
  57. package/components/lists/scenarios/FSBaseScenariosList.vue +241 -0
  58. package/components/lists/serviceAccountOrganisations/FSBaseServiceAccountOrganisationsList.vue +155 -0
  59. package/components/lists/serviceAccountRoleOrganisations/FSBaseServiceAccountRoleOrganisationsList.vue +128 -0
  60. package/components/lists/userOrganisations/FSBaseUserOrganisationsList.vue +171 -0
  61. package/components/lists/userOrganisations/FSSimpleUserOrganisationsList.vue +45 -0
  62. package/components/tiles/FSChartTile.vue +70 -0
  63. package/components/tiles/FSDeviceOrganisationTile.vue +9 -2
  64. package/components/tiles/FSLocationTile.vue +66 -0
  65. package/components/treeviews/FSTreeViewFolder.vue +15 -3
  66. package/components/treeviews/FSTreeViewGroup.vue +22 -4
  67. package/package.json +9 -9
  68. package/utils/dashboards.ts +33 -5
  69. package/utils/index.ts +2 -2
  70. package/utils/permissions.ts +80 -0
  71. package/utils/roles.ts +4 -4
  72. package/utils/tables.ts +41 -0
  73. package/utils/users.ts +7 -4
  74. package/components/selects/FSAggregationSelector.vue +0 -51
  75. package/components/selects/FSAxisTypeSelector.vue +0 -48
  76. package/components/selects/FSDisplayAsSelector.vue +0 -52
  77. package/components/selects/FSFilterTypeSelector.vue +0 -53
  78. package/components/selects/FSHeatmapRuleSelector.vue +0 -52
  79. package/components/selects/FSOperationOnSelector.vue +0 -51
  80. package/components/selects/FSPlanningTypeSelector.vue +0 -51
  81. package/components/selects/FSPlotPerSelector.vue +0 -51
  82. package/components/selects/FSSelectSelectedEntities.vue +0 -59
  83. package/components/selects/FSSerieTypeSelector.vue +0 -51
  84. package/utils/charts.ts +0 -136
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <FSSimpleList
3
+ :items="folders"
4
+ :loading="fetching"
5
+ v-bind="$attrs"
6
+ />
7
+ </template>
8
+
9
+ <script lang="ts">
10
+ import { defineComponent, type PropType, watch } from "vue";
11
+
12
+ import type { FolderFilters } from "@dative-gpi/foundation-core-domain/models";
13
+ import { useFolders } from "@dative-gpi/foundation-core-services/composables";
14
+
15
+ import FSSimpleList from "@dative-gpi/foundation-shared-components/components/lists/FSSimpleList.vue";
16
+
17
+ export default defineComponent({
18
+ name: "FSSimpleFoldersList",
19
+ components: {
20
+ FSSimpleList,
21
+ },
22
+ props: {
23
+ folderFilters: {
24
+ type: Object as PropType<FolderFilters>,
25
+ required: false,
26
+ default: () => ({})
27
+ }
28
+ },
29
+ setup(props){
30
+ const { entities: folders, getMany, fetching } = useFolders();
31
+
32
+ const fetch = () => {
33
+ getMany(props.folderFilters);
34
+ }
35
+
36
+ watch(() => props.folderFilters, fetch, { immediate: true });
37
+
38
+ return {
39
+ folders,
40
+ fetching
41
+ }
42
+ }
43
+ });
44
+ </script>
@@ -0,0 +1,136 @@
1
+ <template>
2
+ <FSDataTable
3
+ defaultMode="iterator"
4
+ :loading="fetchingGroups"
5
+ :items="groups"
6
+ :showSelect="$props.editable"
7
+ :tableCode="$props.tableCode"
8
+ :modelValue="$props.modelValue"
9
+ @update:modelValue="$emit('update:modelValue', $event)"
10
+ v-bind="$attrs"
11
+ >
12
+ <template
13
+ v-for="(_, name) in $slots"
14
+ v-slot:[name]="slotData"
15
+ >
16
+ <slot
17
+ :name="name"
18
+ v-bind="slotData"
19
+ />
20
+ </template>
21
+ <template
22
+ #header.imageId-title
23
+ >
24
+ <FSIcon>
25
+ mdi-panorama-variant-outline
26
+ </FSIcon>
27
+ </template>
28
+ <template
29
+ #item.imageId="{ item }"
30
+ >
31
+ <FSImage
32
+ v-if="item.imageId"
33
+ height="32px"
34
+ width="32px"
35
+ :imageId="item.imageId"
36
+ :thumbnail="true"
37
+ />
38
+ </template>
39
+ <template
40
+ #item.icon="{ item }"
41
+ >
42
+ <FSIcon>
43
+ {{ item.icon }}
44
+ </FSIcon>
45
+ </template>
46
+ <template
47
+ #item.tags="{ item }"
48
+ >
49
+ <FSTagGroup
50
+ variant="slide"
51
+ :editable="false"
52
+ :tags="item.tags"
53
+ />
54
+ </template>
55
+ <template
56
+ #item.tile="{ item, toggleSelect }"
57
+ >
58
+ <FSGroupTileUI
59
+ :editable="$props.editable"
60
+ :modelValue="isSelected(item.id)"
61
+ @update:modelValue="toggleSelect(item)"
62
+ v-bind="item"
63
+ />
64
+ </template>
65
+ </FSDataTable>
66
+ </template>
67
+
68
+ <script lang="ts">
69
+ import { defineComponent, watch } from "vue";
70
+ import type { PropType} from "vue";
71
+ import _ from "lodash";
72
+
73
+ import type { GroupFilters } from "@dative-gpi/foundation-core-domain/models";
74
+ import { useGroups } from "@dative-gpi/foundation-core-services/composables";
75
+
76
+ import FSDataTable from "../FSDataTable.vue";
77
+
78
+ import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
79
+ import FSImage from "@dative-gpi/foundation-shared-components/components/FSImage.vue";
80
+ import FSTagGroup from "@dative-gpi/foundation-shared-components/components/FSTagGroup.vue";
81
+ import FSGroupTileUI from "@dative-gpi/foundation-shared-components/components/tiles/FSGroupTileUI.vue";
82
+
83
+
84
+ export default defineComponent({
85
+ name: "FSBaseGroupsList",
86
+ components: {
87
+ FSDataTable,
88
+ FSImage,
89
+ FSIcon,
90
+ FSGroupTileUI,
91
+ FSTagGroup
92
+ },
93
+ props: {
94
+ tableCode: {
95
+ type: String as PropType<string | null>,
96
+ required: false,
97
+ default: null
98
+ },
99
+ groupsFilters: {
100
+ type: Object as PropType<GroupFilters>,
101
+ required: false,
102
+ default: null
103
+ },
104
+ editable: {
105
+ type: Boolean,
106
+ required: false,
107
+ default: true
108
+ },
109
+ modelValue: {
110
+ type: Array as PropType<string[]>,
111
+ required: false,
112
+ default: () => []
113
+ }
114
+ },
115
+ emits: ["update:modelValue"],
116
+ setup(props) {
117
+ const { getMany: fetchGroups, fetching: fetchingGroups, entities: groups } = useGroups();
118
+
119
+ const isSelected = (id: string) => {
120
+ return props.modelValue.includes(id);
121
+ };
122
+
123
+ watch(() => props.groupsFilters, (next, previous) => {
124
+ if ((!next && !previous) || !_.isEqual(next, previous)) {
125
+ fetchGroups(props.groupsFilters);
126
+ }
127
+ }, { immediate: true });
128
+
129
+ return {
130
+ fetchingGroups,
131
+ groups,
132
+ isSelected
133
+ };
134
+ }
135
+ });
136
+ </script>
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <FSSimpleList
3
+ :items="groups"
4
+ :loading="fetching"
5
+ v-bind="$attrs"
6
+ />
7
+ </template>
8
+
9
+ <script lang="ts">
10
+ import { defineComponent, type PropType, watch } from "vue";
11
+
12
+ import type { GroupFilters } from "@dative-gpi/foundation-core-domain/models";
13
+ import { useGroups } from "@dative-gpi/foundation-core-services/composables";
14
+
15
+ import FSSimpleList from "@dative-gpi/foundation-shared-components/components/lists/FSSimpleList.vue";
16
+
17
+ export default defineComponent({
18
+ name: "FSSimpleGroupsList",
19
+ components: {
20
+ FSSimpleList,
21
+ },
22
+ props: {
23
+ groupFilters: {
24
+ type: Object as PropType<GroupFilters>,
25
+ required: false,
26
+ default: () => ({})
27
+ }
28
+ },
29
+ setup(props){
30
+ const { entities: groups, getMany, fetching } = useGroups();
31
+
32
+ const fetch = () => {
33
+ getMany(props.groupFilters);
34
+ }
35
+
36
+ watch(() => props.groupFilters, fetch, { immediate: true });
37
+
38
+ return {
39
+ groups,
40
+ fetching
41
+ }
42
+ }
43
+ });
44
+ </script>
@@ -0,0 +1,118 @@
1
+ <template>
2
+ <FSDataTable
3
+ defaultMode="iterator"
4
+ :loading="fetchingLocations"
5
+ :items="locations"
6
+ :showSelect="$props.editable"
7
+ :tableCode="tableCode"
8
+ :modelValue="$props.modelValue"
9
+ @update:modelValue="$emit('update:modelValue', $event)"
10
+ v-bind="$attrs"
11
+ >
12
+ <template
13
+ v-for="(_, name) in $slots"
14
+ v-slot:[name]="slotData"
15
+ >
16
+ <slot
17
+ :name="name"
18
+ v-bind="slotData"
19
+ />
20
+ </template>
21
+ <template
22
+ #item.icon="{ item }"
23
+ >
24
+ <FSIcon >
25
+ {{ item.icon }}
26
+ </FSIcon>
27
+ </template>
28
+
29
+ <template
30
+ #item.tile="{ item, toggleSelect }"
31
+ >
32
+ <FSLocationTileUI
33
+ v-bind="item"
34
+ :bottomColor="item.colors"
35
+ :address="item.address.placeLabel"
36
+ :editable="true"
37
+ :singleSelect="singleSelect"
38
+ :modelValue="isSelected(item.id)"
39
+ :to="$props.itemTo && $props.itemTo(item)"
40
+ @update:modelValue="toggleSelect(item)"
41
+ />
42
+ </template>
43
+ </FSDataTable>
44
+ </template>
45
+
46
+ <script lang="ts">
47
+ import _ from "lodash";
48
+ import type { RouteLocation } from "vue-router";
49
+ import { defineComponent, type PropType, watch } from "vue";
50
+
51
+ import { useLocations } from "@dative-gpi/foundation-core-services/composables";
52
+ import type { LocationFilters, LocationInfos } from "@dative-gpi/foundation-core-domain/models";
53
+
54
+ import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
55
+
56
+ import FSDataTable from "../FSDataTable.vue";
57
+ import FSLocationTileUI from "@dative-gpi/foundation-shared-components/components/tiles/FSLocationTileUI.vue";
58
+
59
+ export default defineComponent({
60
+ name: "FSBaseLocationsList",
61
+ components: {
62
+ FSLocationTileUI,
63
+ FSDataTable,
64
+ FSIcon
65
+ },
66
+ props: {
67
+ tableCode: {
68
+ type: String as PropType<string | null>,
69
+ required: false,
70
+ default: null
71
+ },
72
+ locationsFilters: {
73
+ type: Object as PropType<LocationFilters>,
74
+ required: false,
75
+ default: null
76
+ },
77
+ editable: {
78
+ type: Boolean,
79
+ required: false,
80
+ default: true
81
+ },
82
+ itemTo: {
83
+ type: Function as PropType<(item: LocationInfos) => Partial<RouteLocation>>,
84
+ required: false
85
+ },
86
+ singleSelect: {
87
+ type: Boolean,
88
+ required: false,
89
+ default: false
90
+ },
91
+ modelValue: {
92
+ type: Array as PropType<string[]>,
93
+ default: () => [],
94
+ required: false
95
+ }
96
+ },
97
+ emits: ["update:modelValue"],
98
+ setup(props) {
99
+ const { getMany: fetchLocations, fetching: fetchingLocations, entities: locations } = useLocations();
100
+
101
+ watch(() => props.locationsFilters, (next, previous) => {
102
+ if ((!next && !previous) || !_.isEqual(next, previous)) {
103
+ fetchLocations(props.locationsFilters);
104
+ }
105
+ }, { immediate: true });
106
+
107
+ const isSelected = (id: string) => {
108
+ return props.modelValue?.includes(id);
109
+ };
110
+
111
+ return {
112
+ fetchingLocations,
113
+ isSelected,
114
+ locations
115
+ };
116
+ }
117
+ });
118
+ </script>
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <FSSimpleList
3
+ :items="locations"
4
+ :loading="fetching"
5
+ v-bind="$attrs"
6
+ />
7
+ </template>
8
+
9
+ <script lang="ts">
10
+ import { defineComponent, type PropType, watch } from "vue";
11
+
12
+ import type { LocationFilters } from "@dative-gpi/foundation-core-domain/models";
13
+ import { useLocations } from "@dative-gpi/foundation-core-services/composables";
14
+
15
+ import FSSimpleList from "@dative-gpi/foundation-shared-components/components/lists/FSSimpleList.vue";
16
+
17
+ export default defineComponent({
18
+ name: "FSSimpleLocationsList",
19
+ components: {
20
+ FSSimpleList,
21
+ },
22
+ props: {
23
+ locationFilters: {
24
+ type: Object as PropType<LocationFilters>,
25
+ required: false,
26
+ default: () => ({})
27
+ }
28
+ },
29
+ setup(props){
30
+ const { entities: locations, getMany, fetching } = useLocations();
31
+
32
+ const fetch = () => {
33
+ getMany(props.locationFilters);
34
+ }
35
+
36
+ watch(() => props.locationFilters, fetch, { immediate: true });
37
+
38
+ return {
39
+ locations,
40
+ fetching
41
+ }
42
+ }
43
+ });
44
+ </script>
@@ -0,0 +1,155 @@
1
+ <template>
2
+ <FSDataTable
3
+ defaultMode="iterator"
4
+ :singleSelect="$props.singleSelect"
5
+ :showSelect="$props.editable"
6
+ :tableCode="$props.tableCode"
7
+ :loading="fetchingModels"
8
+ :items="models"
9
+ :modelValue="$props.modelValue"
10
+ @update:modelValue="$emit('update:modelValue', $event)"
11
+ v-bind="$attrs"
12
+ >
13
+ <template
14
+ v-for="(_, name) in $slots"
15
+ v-slot:[name]="slotData"
16
+ >
17
+ <slot
18
+ :name="name"
19
+ v-bind="slotData"
20
+ />
21
+ </template>
22
+ <template
23
+ #header.imageId-title
24
+ >
25
+ <FSIcon>
26
+ mdi-panorama-variant-outline
27
+ </FSIcon>
28
+ </template>
29
+ <template
30
+ #header.connectable-title
31
+ >
32
+ <FSIcon>
33
+ mdi-wifi
34
+ </FSIcon>
35
+ </template>
36
+ <template
37
+ #item.imageId="{ item }"
38
+ >
39
+ <FSImage
40
+ v-if="item.imageId"
41
+ height="32px"
42
+ width="32px"
43
+ :imageId="item.imageId"
44
+ :thumbnail="true"
45
+ />
46
+ </template>
47
+ <template
48
+ #item.icon="{ item }"
49
+ >
50
+ <FSIcon >
51
+ {{ item.icon }}
52
+ </FSIcon>
53
+ </template>
54
+ <template
55
+ #item.connectable="{ item }"
56
+ >
57
+ <FSIconCheck
58
+ :value="item.connectable"
59
+ />
60
+ </template>
61
+ <template
62
+ #item.tile="{ item, toggleSelect }"
63
+ >
64
+ <FSModelTileUI
65
+ :to="$props.itemTo && $props.itemTo(item)"
66
+ :singleSelect="$props.singleSelect"
67
+ :imageId="item.imageId"
68
+ :label="item.label"
69
+ :modelValue="isSelected(item.id)"
70
+ @update:modelValue="toggleSelect(item)"
71
+ v-bind="item"
72
+ />
73
+ </template>
74
+ </FSDataTable>
75
+ </template>
76
+
77
+ <script lang="ts">
78
+ import _ from "lodash";
79
+ import type { RouteLocation } from "vue-router";
80
+ import { defineComponent, type PropType, watch } from "vue";
81
+
82
+ import {ColorEnum} from "@dative-gpi/foundation-shared-components/models";
83
+
84
+ import { useModels } from "@dative-gpi/foundation-core-services/composables";
85
+ import type { ModelFilters, ModelInfos } from "@dative-gpi/foundation-core-domain/models";
86
+
87
+ import FSDataTable from "../FSDataTable.vue";
88
+ import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
89
+ import FSImage from "@dative-gpi/foundation-shared-components/components/FSImage.vue";
90
+ import FSIconCheck from "@dative-gpi/foundation-shared-components/components/FSIconCheck.vue";
91
+ import FSModelTileUI from "@dative-gpi/foundation-shared-components/components/tiles/FSModelTileUI.vue";
92
+
93
+ export default defineComponent({
94
+ name: "FSBaseModelsList",
95
+ components: {
96
+ FSModelTileUI,
97
+ FSDataTable,
98
+ FSIconCheck,
99
+ FSImage,
100
+ FSIcon,
101
+ },
102
+ props: {
103
+ tableCode: {
104
+ type: String as PropType<string | null>,
105
+ required: false,
106
+ default: null
107
+ },
108
+ modelsFilters: {
109
+ type: Object as PropType<ModelFilters>,
110
+ required: false,
111
+ default: null
112
+ },
113
+ itemTo: {
114
+ type: Function as PropType<(item: ModelInfos) => Partial<RouteLocation>>,
115
+ required: false
116
+ },
117
+ editable: {
118
+ type: Boolean,
119
+ required: false,
120
+ default: true
121
+ },
122
+ singleSelect: {
123
+ type: Boolean,
124
+ required: false,
125
+ default: false
126
+ },
127
+ modelValue: {
128
+ type: Array as PropType<string[]>,
129
+ default: () => [],
130
+ required: false
131
+ }
132
+ },
133
+ emits: ["update:modelValue"],
134
+ setup(props) {
135
+ const { getMany: fetchModels, fetching: fetchingModels, entities: models } = useModels();
136
+
137
+ const isSelected = (id: string): boolean => {
138
+ return props.modelValue.includes(id);
139
+ };
140
+
141
+ watch(() => props.modelsFilters, (next, previous) => {
142
+ if ((!next && !previous) || !_.isEqual(next, previous)) {
143
+ fetchModels(props.modelsFilters);
144
+ }
145
+ }, { immediate: true });
146
+
147
+ return {
148
+ fetchingModels,
149
+ ColorEnum,
150
+ models,
151
+ isSelected
152
+ };
153
+ }
154
+ });
155
+ </script>
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <FSSimpleList
3
+ :items="models"
4
+ :loading="fetching"
5
+ v-bind="$attrs"
6
+ />
7
+ </template>
8
+
9
+ <script lang="ts">
10
+ import { defineComponent, type PropType, watch } from "vue";
11
+
12
+ import type { ModelFilters } from "@dative-gpi/foundation-core-domain/models";
13
+ import { useModels } from "@dative-gpi/foundation-core-services/composables";
14
+
15
+ import FSSimpleList from "@dative-gpi/foundation-shared-components/components/lists/FSSimpleList.vue";
16
+
17
+ export default defineComponent({
18
+ name: "FSSimpleModelsList",
19
+ components: {
20
+ FSSimpleList,
21
+ },
22
+ props: {
23
+ modelFilters: {
24
+ type: Object as PropType<ModelFilters>,
25
+ required: false,
26
+ default: () => ({})
27
+ }
28
+ },
29
+ setup(props){
30
+ const { entities: models, getMany, fetching } = useModels();
31
+
32
+ const fetch = () => {
33
+ getMany(props.modelFilters);
34
+ }
35
+
36
+ watch(() => props.modelFilters, fetch, { immediate: true });
37
+
38
+ return {
39
+ models,
40
+ fetching
41
+ }
42
+ }
43
+ });
44
+ </script>