@dative-gpi/foundation-core-components 0.0.144 → 0.0.145

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.
@@ -32,35 +32,28 @@
32
32
  </FSRow>
33
33
  </template>
34
34
  <template
35
- #autocomplete-item="{ props, item }"
35
+ #item-label="{ item, font }"
36
36
  >
37
- <v-list-item
38
- v-bind="{ ...props, title: '' }"
37
+ <FSRow
38
+ align="center-left"
39
+ :wrap="false"
39
40
  >
40
- <FSRow
41
- align="center-left"
42
- :wrap="false"
41
+ <FSIcon
42
+ v-if="item.raw.icon"
43
43
  >
44
- <FSCheckbox
45
- v-if="$props.multiple"
46
- :modelValue="$props.modelValue?.includes(item.value)"
47
- @click="props.onClick"
48
- />
49
- <FSIcon
50
- v-if="item.raw.icon"
51
- >
52
- {{ item.raw.icon }}
53
- </FSIcon>
54
- <FSSpan>
55
- {{ item.raw.label }}
56
- </FSSpan>
57
- <FSChip
58
- :color="chartOriginColor(item.raw.type)"
59
- :label="chartOriginLabel(item.raw.type)"
60
- :editable="false"
61
- />
62
- </FSRow>
63
- </v-list-item>
44
+ {{ item.raw.icon }}
45
+ </FSIcon>
46
+ <FSSpan
47
+ :font="font"
48
+ >
49
+ {{ item.raw.label }}
50
+ </FSSpan>
51
+ <FSChip
52
+ :color="chartOriginColor(item.raw.type)"
53
+ :label="chartOriginLabel(item.raw.type)"
54
+ :editable="false"
55
+ />
56
+ </FSRow>
64
57
  </template>
65
58
  <template
66
59
  #toggle-set-item="props"
@@ -97,19 +90,16 @@ import { useAutocomplete } from "@dative-gpi/foundation-shared-components/compos
97
90
  import { chartOriginColor, chartOriginLabel } from "../../utils";
98
91
 
99
92
  import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
100
- import FSCheckbox from "@dative-gpi/foundation-shared-components/components/FSCheckbox.vue";
101
93
  import FSButton from "@dative-gpi/foundation-shared-components/components/FSButton.vue";
102
94
  import FSChip from "@dative-gpi/foundation-shared-components/components/FSChip.vue";
103
95
  import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
104
96
  import FSSpan from "@dative-gpi/foundation-shared-components/components/FSSpan.vue";
105
97
  import FSRow from "@dative-gpi/foundation-shared-components/components/FSRow.vue";
106
98
 
107
-
108
99
  export default defineComponent({
109
100
  name: "FSAutocompleteChart",
110
101
  components: {
111
102
  FSAutocompleteField,
112
- FSCheckbox,
113
103
  FSButton,
114
104
  FSChip,
115
105
  FSIcon,
@@ -32,35 +32,28 @@
32
32
  </FSRow>
33
33
  </template>
34
34
  <template
35
- #autocomplete-item="{ props, item }"
35
+ #item-label="{ item, font }"
36
36
  >
37
- <v-list-item
38
- v-bind="{ ...props, title: '' }"
37
+ <FSRow
38
+ align="center-left"
39
+ :wrap="false"
39
40
  >
40
- <FSRow
41
- align="center-left"
42
- :wrap="false"
41
+ <FSIcon
42
+ v-if="item.raw.icon"
43
43
  >
44
- <FSCheckbox
45
- v-if="$props.multiple"
46
- :modelValue="$props.modelValue?.includes(item.value)"
47
- @click="props.onClick"
48
- />
49
- <FSIcon
50
- v-if="item.raw.icon"
51
- >
52
- {{ item.raw.icon }}
53
- </FSIcon>
54
- <FSSpan>
55
- {{ item.raw.label }}
56
- </FSSpan>
57
- <FSChip
58
- :color="dashboardTypeColor(item.raw.type)"
59
- :label="dashboardTypeLabel(item.raw.type)"
60
- :editable="false"
61
- />
62
- </FSRow>
63
- </v-list-item>
44
+ {{ item.raw.icon }}
45
+ </FSIcon>
46
+ <FSSpan
47
+ :font="font"
48
+ >
49
+ {{ item.raw.label }}
50
+ </FSSpan>
51
+ <FSChip
52
+ :color="dashboardTypeColor(item.raw.type)"
53
+ :label="dashboardTypeLabel(item.raw.type)"
54
+ :editable="false"
55
+ />
56
+ </FSRow>
64
57
  </template>
65
58
  <template
66
59
  #toggle-set-item="props"
@@ -98,7 +91,6 @@ import { DashboardType } from "@dative-gpi/foundation-shared-domain/models";
98
91
  import { dashboardTypeColor, dashboardTypeLabel } from "../../utils";
99
92
 
100
93
  import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
101
- import FSCheckbox from "@dative-gpi/foundation-shared-components/components/FSCheckbox.vue";
102
94
  import FSButton from "@dative-gpi/foundation-shared-components/components/FSButton.vue";
103
95
  import FSChip from "@dative-gpi/foundation-shared-components/components/FSChip.vue";
104
96
  import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
@@ -110,7 +102,6 @@ export default defineComponent({
110
102
  name: "FSAutocompleteDashboard",
111
103
  components: {
112
104
  FSAutocompleteField,
113
- FSCheckbox,
114
105
  FSButton,
115
106
  FSChip,
116
107
  FSIcon,
@@ -25,28 +25,21 @@
25
25
  </FSRow>
26
26
  </template>
27
27
  <template
28
- #autocomplete-item="{ props, item }"
28
+ #item-label="{ item, font }"
29
29
  >
30
- <v-list-item
31
- v-bind="{ ...props, title: '' }"
30
+ <FSRow
31
+ align="center-left"
32
+ :wrap="false"
32
33
  >
33
- <FSRow
34
- align="center-left"
35
- :wrap="false"
34
+ <FSIcon>
35
+ {{ item.raw.correlated ? 'mdi-link' : 'mdi-link-off' }}
36
+ </FSIcon>
37
+ <FSSpan
38
+ :font="font"
36
39
  >
37
- <FSCheckbox
38
- v-if="$props.multiple"
39
- :modelValue="$props.modelValue?.includes(item.value)"
40
- @click="props.onClick"
41
- />
42
- <FSIcon>
43
- {{ item.raw.correlated ? 'mdi-link' : 'mdi-link-off' }}
44
- </FSIcon>
45
- <FSSpan>
46
- {{ item.raw.label }}
47
- </FSSpan>
48
- </FSRow>
49
- </v-list-item>
40
+ {{ item.raw.label }}
41
+ </FSSpan>
42
+ </FSRow>
50
43
  </template>
51
44
  <template
52
45
  #toggle-set-item="props"
@@ -71,7 +64,6 @@ import { useDataCategories } from "@dative-gpi/foundation-core-services/composab
71
64
  import { DataCategoryFilters } from "@dative-gpi/foundation-core-domain/models";
72
65
 
73
66
  import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
74
- import FSCheckbox from "@dative-gpi/foundation-shared-components/components/FSCheckbox.vue";
75
67
  import FSButton from "@dative-gpi/foundation-shared-components/components/FSButton.vue";
76
68
  import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
77
69
  import FSSpan from "@dative-gpi/foundation-shared-components/components/FSSpan.vue";
@@ -81,7 +73,6 @@ export default defineComponent({
81
73
  name: "FSAutocompleteDataCategory",
82
74
  components: {
83
75
  FSAutocompleteField,
84
- FSCheckbox,
85
76
  FSButton,
86
77
  FSIcon,
87
78
  FSSpan,
@@ -26,29 +26,22 @@
26
26
  </FSRow>
27
27
  </template>
28
28
  <template
29
- #autocomplete-item="{ props, item }"
29
+ #item-label="{ item, font }"
30
30
  >
31
- <v-list-item
32
- v-bind="{ ...props, title: '' }"
31
+ <FSRow
32
+ align="center-left"
33
+ :wrap="false"
33
34
  >
34
- <FSRow
35
- align="center-left"
36
- :wrap="false"
35
+ <FSChip
36
+ v-if="item.raw.unit"
37
+ :label="item.raw.unit"
38
+ />
39
+ <FSSpan
40
+ :font="font"
37
41
  >
38
- <FSCheckbox
39
- v-if="$props.multiple"
40
- :modelValue="$props.modelValue?.includes(item.value)"
41
- @click="props.onClick"
42
- />
43
- <FSChip
44
- v-if="item.raw.unit"
45
- :label="item.raw.unit"
46
- />
47
- <FSSpan>
48
- {{ item.raw.label }}
49
- </FSSpan>
50
- </FSRow>
51
- </v-list-item>
42
+ {{ item.raw.label }}
43
+ </FSSpan>
44
+ </FSRow>
52
45
  </template>
53
46
  <template
54
47
  #toggle-set-item="props"
@@ -81,7 +74,6 @@ import { useDataDefinitions } from "@dative-gpi/foundation-core-services/composa
81
74
  import { DataDefinitionFilters } from "@dative-gpi/foundation-core-domain/models";
82
75
 
83
76
  import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
84
- import FSCheckbox from "@dative-gpi/foundation-shared-components/components/FSCheckbox.vue";
85
77
  import FSButton from "@dative-gpi/foundation-shared-components/components/FSButton.vue";
86
78
  import FSChip from "@dative-gpi/foundation-shared-components/components/FSChip.vue";
87
79
  import FSSpan from "@dative-gpi/foundation-shared-components/components/FSSpan.vue";
@@ -91,7 +83,6 @@ export default defineComponent({
91
83
  name: "FSAutocompleteDataDefinition",
92
84
  components: {
93
85
  FSAutocompleteField,
94
- FSCheckbox,
95
86
  FSButton,
96
87
  FSChip,
97
88
  FSSpan,
@@ -27,30 +27,23 @@
27
27
  </FSRow>
28
28
  </template>
29
29
  <template
30
- #autocomplete-item="{ props, item }"
30
+ #item-label="{ item, font }"
31
31
  >
32
- <v-list-item
33
- v-bind="{ ...props, title: '' }"
32
+ <FSRow
33
+ align="center-left"
34
+ :wrap="false"
34
35
  >
35
- <FSRow
36
- align="center-left"
37
- :wrap="false"
36
+ <FSIcon
37
+ v-if="item.raw.icon"
38
+ >
39
+ {{ item.raw.icon }}
40
+ </FSIcon>
41
+ <FSSpan
42
+ :font="font"
38
43
  >
39
- <FSCheckbox
40
- v-if="$props.multiple"
41
- :modelValue="$props.modelValue?.includes(item.value)"
42
- @click="props.onClick"
43
- />
44
- <FSIcon
45
- v-if="item.raw.icon"
46
- >
47
- {{ item.raw.icon }}
48
- </FSIcon>
49
- <FSSpan>
50
- {{ item.raw.label }}
51
- </FSSpan>
52
- </FSRow>
53
- </v-list-item>
44
+ {{ item.raw.label }}
45
+ </FSSpan>
46
+ </FSRow>
54
47
  </template>
55
48
  </FSAutocompleteField>
56
49
  </template>
@@ -63,7 +56,6 @@ import { useGroups } from "@dative-gpi/foundation-core-services/composables";
63
56
  import { GroupFilters } from "@dative-gpi/foundation-core-domain/models";
64
57
 
65
58
  import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
66
- import FSCheckbox from "@dative-gpi/foundation-shared-components/components/FSCheckbox.vue";
67
59
  import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
68
60
  import FSSpan from "@dative-gpi/foundation-shared-components/components/FSSpan.vue";
69
61
  import FSRow from "@dative-gpi/foundation-shared-components/components/FSRow.vue";
@@ -72,7 +64,6 @@ export default defineComponent({
72
64
  name: "FSAutocompleteGroup",
73
65
  components: {
74
66
  FSAutocompleteField,
75
- FSCheckbox,
76
67
  FSIcon,
77
68
  FSSpan,
78
69
  FSRow
@@ -27,30 +27,23 @@
27
27
  </FSRow>
28
28
  </template>
29
29
  <template
30
- #autocomplete-item="{ props, item }"
30
+ #item-label="{ item, font }"
31
31
  >
32
- <v-list-item
33
- v-bind="{ ...props, title: '' }"
32
+ <FSRow
33
+ align="center-left"
34
+ :wrap="false"
34
35
  >
35
- <FSRow
36
- align="center-left"
37
- :wrap="false"
36
+ <FSIcon
37
+ v-if="item.raw.icon"
38
+ >
39
+ {{ item.raw.icon }}
40
+ </FSIcon>
41
+ <FSSpan
42
+ :font="font"
38
43
  >
39
- <FSCheckbox
40
- v-if="$props.multiple"
41
- :modelValue="$props.modelValue?.includes(item.value)"
42
- @click="props.onClick"
43
- />
44
- <FSIcon
45
- v-if="item.raw.icon"
46
- >
47
- {{ item.raw.icon }}
48
- </FSIcon>
49
- <FSSpan>
50
- {{ item.raw.label }}
51
- </FSSpan>
52
- </FSRow>
53
- </v-list-item>
44
+ {{ item.raw.label }}
45
+ </FSSpan>
46
+ </FSRow>
54
47
  </template>
55
48
  </FSAutocompleteField>
56
49
  </template>
@@ -63,7 +56,6 @@ import { useLocations } from "@dative-gpi/foundation-core-services/composables";
63
56
  import { LocationFilters } from "@dative-gpi/foundation-core-domain/models";
64
57
 
65
58
  import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
66
- import FSCheckbox from "@dative-gpi/foundation-shared-components/components/FSCheckbox.vue";
67
59
  import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
68
60
  import FSSpan from "@dative-gpi/foundation-shared-components/components/FSSpan.vue";
69
61
  import FSRow from "@dative-gpi/foundation-shared-components/components/FSRow.vue";
@@ -72,7 +64,6 @@ export default defineComponent({
72
64
  name: "FSAutocompleteLocation",
73
65
  components: {
74
66
  FSAutocompleteField,
75
- FSCheckbox,
76
67
  FSIcon,
77
68
  FSSpan,
78
69
  FSRow
@@ -32,35 +32,28 @@
32
32
  </FSRow>
33
33
  </template>
34
34
  <template
35
- #autocomplete-item="{ props, item }"
35
+ #item-label="{ item, font }"
36
36
  >
37
- <v-list-item
38
- v-bind="{ ...props, title: '' }"
37
+ <FSRow
38
+ align="center-left"
39
+ :wrap="false"
39
40
  >
40
- <FSRow
41
- align="center-left"
42
- :wrap="false"
41
+ <FSIcon
42
+ v-if="item.raw.icon"
43
43
  >
44
- <FSCheckbox
45
- v-if="$props.multiple"
46
- :modelValue="$props.modelValue?.includes(item.value)"
47
- @click="props.onClick"
48
- />
49
- <FSIcon
50
- v-if="item.raw.icon"
51
- >
52
- {{ item.raw.icon }}
53
- </FSIcon>
54
- <FSSpan>
55
- {{ item.raw.label }}
56
- </FSSpan>
57
- <FSChip
58
- :color="roleTypeColor(item.raw.type)"
59
- :label="roleTypeLabel(item.raw.type)"
60
- :editable="false"
61
- />
62
- </FSRow>
63
- </v-list-item>
44
+ {{ item.raw.icon }}
45
+ </FSIcon>
46
+ <FSSpan
47
+ :font="font"
48
+ >
49
+ {{ item.raw.label }}
50
+ </FSSpan>
51
+ <FSChip
52
+ :color="roleTypeColor(item.raw.type)"
53
+ :label="roleTypeLabel(item.raw.type)"
54
+ :editable="false"
55
+ />
56
+ </FSRow>
64
57
  </template>
65
58
  <template
66
59
  #toggle-set-item="props"
@@ -97,7 +90,6 @@ import { useAutocomplete } from "@dative-gpi/foundation-shared-components/compos
97
90
  import { roleTypeColor, roleTypeLabel } from "../../utils";
98
91
 
99
92
  import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
100
- import FSCheckbox from "@dative-gpi/foundation-shared-components/components/FSCheckbox.vue";
101
93
  import FSButton from "@dative-gpi/foundation-shared-components/components/FSButton.vue";
102
94
  import FSChip from "@dative-gpi/foundation-shared-components/components/FSChip.vue";
103
95
  import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
@@ -108,7 +100,6 @@ export default defineComponent({
108
100
  name: "FSAutocompleteRole",
109
101
  components: {
110
102
  FSAutocompleteField,
111
- FSCheckbox,
112
103
  FSButton,
113
104
  FSChip,
114
105
  FSIcon,
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <FSAutocompleteField
3
+ itemTitle="name"
3
4
  :toggleSet="!$props.toggleSetDisabled && toggleSet"
4
- :customFilter="customFilter"
5
5
  :multiple="$props.multiple"
6
6
  :items="userOrganisations"
7
7
  :loading="loading"
@@ -29,31 +29,24 @@
29
29
  </FSRow>
30
30
  </template>
31
31
  <template
32
- #autocomplete-item="{ props, item }"
32
+ #item-label="{ item, font }"
33
33
  >
34
- <v-list-item
35
- v-bind="{ ...props, title: '' }"
34
+ <FSRow
35
+ align="center-left"
36
+ :wrap="false"
36
37
  >
37
- <FSRow
38
- align="center-left"
39
- :wrap="false"
38
+ <FSImage
39
+ v-if="item.raw.imageId"
40
+ height="26px"
41
+ width="26px"
42
+ :imageId="item.raw.imageId"
43
+ />
44
+ <FSSpan
45
+ :font="font"
40
46
  >
41
- <FSCheckbox
42
- v-if="$props.multiple"
43
- :modelValue="$props.modelValue?.includes(item.value)"
44
- @click="props.onClick"
45
- />
46
- <FSImage
47
- v-if="item.raw.imageId"
48
- height="26px"
49
- width="26px"
50
- :imageId="item.raw.imageId"
51
- />
52
- <FSSpan>
53
- {{ item.raw.name }}
54
- </FSSpan>
55
- </FSRow>
56
- </v-list-item>
47
+ {{ item.raw.name }}
48
+ </FSSpan>
49
+ </FSRow>
57
50
  </template>
58
51
  <template
59
52
  #toggle-set-item="props"
@@ -91,7 +84,6 @@ import { useUserOrganisations } from "@dative-gpi/foundation-core-services/compo
91
84
  import { useAutocomplete } from "@dative-gpi/foundation-shared-components/composables";
92
85
 
93
86
  import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
94
- import FSCheckbox from "@dative-gpi/foundation-shared-components/components/FSCheckbox.vue";
95
87
  import FSButton from "@dative-gpi/foundation-shared-components/components/FSButton.vue";
96
88
  import FSImage from "@dative-gpi/foundation-shared-components/components/FSImage.vue";
97
89
  import FSSpan from "@dative-gpi/foundation-shared-components/components/FSSpan.vue";
@@ -101,7 +93,6 @@ export default defineComponent({
101
93
  name: "FSAutocompleteUserOrganisation",
102
94
  components: {
103
95
  FSAutocompleteField,
104
- FSCheckbox,
105
96
  FSButton,
106
97
  FSImage,
107
98
  FSSpan,
@@ -148,10 +139,6 @@ export default defineComponent({
148
139
  return getManyUserOrganisations({ ...props.userOrganisationFilters, search: search ?? undefined });
149
140
  };
150
141
 
151
- const customFilter = (_: any, search: string, item: any): boolean => {
152
- return item.raw.name.toLowerCase().includes(search.toLowerCase());
153
- };
154
-
155
142
  const { toggleSet, search, init, onUpdate } = useAutocomplete(
156
143
  userOrganisations,
157
144
  [() => props.userOrganisationFilters],
@@ -168,7 +155,6 @@ export default defineComponent({
168
155
  toggleSet,
169
156
  loading,
170
157
  search,
171
- customFilter,
172
158
  onUpdate
173
159
  };
174
160
  }
@@ -0,0 +1,77 @@
1
+ <template>
2
+ <FSTreeViewField
3
+ :multiple="$props.multiple"
4
+ :loading="fetchingFolders"
5
+ :items="folders"
6
+ :modelValue="$props.modelValue"
7
+ @update:modelValue="onUpdate"
8
+ v-bind="$attrs"
9
+ >
10
+ <template
11
+ #menu-prepend="{ item }"
12
+ >
13
+ <FSIcon
14
+ v-if="item.icon"
15
+ >
16
+ {{ item.icon }}
17
+ </FSIcon>
18
+ </template>
19
+ </FSTreeViewField>
20
+ </template>
21
+
22
+ <script lang="ts">
23
+ import { defineComponent, PropType } from "vue";
24
+
25
+ import { useTreeView } from "@dative-gpi/foundation-shared-components/composables";
26
+ import { useFolders } from "@dative-gpi/foundation-core-services/composables";
27
+ import { FolderFilters } from "@dative-gpi/foundation-core-domain/models";
28
+
29
+ import FSTreeViewField from "@dative-gpi/foundation-shared-components/components/fields/FSTreeViewField.vue";
30
+ import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
31
+
32
+ export default defineComponent({
33
+ name: "FSTreeViewFolder",
34
+ components: {
35
+ FSTreeViewField,
36
+ FSIcon
37
+ },
38
+ props: {
39
+ folderFilters: {
40
+ type: Object as PropType<FolderFilters>,
41
+ required: false,
42
+ default: null
43
+ },
44
+ modelValue: {
45
+ type: [Array, String] as PropType<string[] | string | null>,
46
+ required: false,
47
+ default: null
48
+ },
49
+ multiple: {
50
+ type: Boolean,
51
+ required: false,
52
+ default: false
53
+ }
54
+ },
55
+ emits: ["update:modelValue"],
56
+ setup(props, { emit }) {
57
+ const { getMany: getManyFolders, fetching: fetchingFolders, entities: folders } = useFolders();
58
+
59
+ const innerFetch = () => {
60
+ return getManyFolders({ ...props.folderFilters });
61
+ };
62
+
63
+ const { onUpdate } = useTreeView(
64
+ folders,
65
+ [() => props.folderFilters],
66
+ emit,
67
+ innerFetch
68
+ );
69
+
70
+ return {
71
+ fetchingFolders,
72
+ folders,
73
+ onUpdate
74
+ };
75
+ }
76
+ });
77
+ </script>
@@ -0,0 +1,77 @@
1
+ <template>
2
+ <FSTreeViewField
3
+ :multiple="$props.multiple"
4
+ :loading="fetchingGroups"
5
+ :items="groups"
6
+ :modelValue="$props.modelValue"
7
+ @update:modelValue="onUpdate"
8
+ v-bind="$attrs"
9
+ >
10
+ <template
11
+ #menu-prepend="{ item }"
12
+ >
13
+ <FSIcon
14
+ v-if="item.icon"
15
+ >
16
+ {{ item.icon }}
17
+ </FSIcon>
18
+ </template>
19
+ </FSTreeViewField>
20
+ </template>
21
+
22
+ <script lang="ts">
23
+ import { defineComponent, PropType } from "vue";
24
+
25
+ import { useTreeView } from "@dative-gpi/foundation-shared-components/composables";
26
+ import { useGroups } from "@dative-gpi/foundation-core-services/composables";
27
+ import { GroupFilters } from "@dative-gpi/foundation-core-domain/models";
28
+
29
+ import FSTreeViewField from "@dative-gpi/foundation-shared-components/components/fields/FSTreeViewField.vue";
30
+ import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
31
+
32
+ export default defineComponent({
33
+ name: "FSTreeViewGroup",
34
+ components: {
35
+ FSTreeViewField,
36
+ FSIcon
37
+ },
38
+ props: {
39
+ groupFilters: {
40
+ type: Object as PropType<GroupFilters>,
41
+ required: false,
42
+ default: null
43
+ },
44
+ modelValue: {
45
+ type: [Array, String] as PropType<string[] | string | null>,
46
+ required: false,
47
+ default: null
48
+ },
49
+ multiple: {
50
+ type: Boolean,
51
+ required: false,
52
+ default: false
53
+ }
54
+ },
55
+ emits: ["update:modelValue"],
56
+ setup(props, { emit }) {
57
+ const { getMany: getManyGroups, fetching: fetchingGroups, entities: groups } = useGroups();
58
+
59
+ const innerFetch = () => {
60
+ return getManyGroups({ ...props.groupFilters });
61
+ };
62
+
63
+ const { onUpdate } = useTreeView(
64
+ groups,
65
+ [() => props.groupFilters],
66
+ emit,
67
+ innerFetch
68
+ );
69
+
70
+ return {
71
+ fetchingGroups,
72
+ groups,
73
+ onUpdate
74
+ };
75
+ }
76
+ });
77
+ </script>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dative-gpi/foundation-core-components",
3
3
  "sideEffects": false,
4
- "version": "0.0.144",
4
+ "version": "0.0.145",
5
5
  "description": "",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -10,11 +10,11 @@
10
10
  "author": "",
11
11
  "license": "ISC",
12
12
  "dependencies": {
13
- "@dative-gpi/foundation-core-domain": "0.0.144",
14
- "@dative-gpi/foundation-core-services": "0.0.144",
15
- "@dative-gpi/foundation-shared-components": "0.0.144",
16
- "@dative-gpi/foundation-shared-domain": "0.0.144",
17
- "@dative-gpi/foundation-shared-services": "0.0.144",
13
+ "@dative-gpi/foundation-core-domain": "0.0.145",
14
+ "@dative-gpi/foundation-core-services": "0.0.145",
15
+ "@dative-gpi/foundation-shared-components": "0.0.145",
16
+ "@dative-gpi/foundation-shared-domain": "0.0.145",
17
+ "@dative-gpi/foundation-shared-services": "0.0.145",
18
18
  "color": "^4.2.3",
19
19
  "vue": "^3.4.23",
20
20
  "vuedraggable": "^4.1.0"
@@ -24,5 +24,5 @@
24
24
  "sass": "^1.69.5",
25
25
  "sass-loader": "^13.3.2"
26
26
  },
27
- "gitHead": "e894b5045c2f95bea5635cc4eb3c17dd0934ff2e"
27
+ "gitHead": "3d11321eaa64d0fa150cab22ff5256f28e4cf93e"
28
28
  }