@dative-gpi/foundation-core-components 1.1.12 → 1.1.14-fix-last
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/components/entities/FSEntityField.vue +3 -5
- package/components/entities/FSSelectEntitiesList.vue +4 -8
- package/components/entities/FSSimpleEntitiesList.vue +1 -3
- package/components/entities/FSTileEntitiesList.vue +1 -3
- package/components/explorers/FSBaseDashboardsExplorer.vue +312 -0
- package/components/explorers/FSDashboardExplorerElementTypeChip.vue +37 -0
- package/components/lists/chartOrganisationTypes/FSBaseChartOrganisationTypesList.vue +7 -6
- package/components/lists/chartOrganisations/FSBaseChartOrganisationsList.vue +7 -6
- package/components/lists/charts/FSBaseChartsList.vue +7 -14
- package/components/lists/dashboards/FSBaseDashboardsList.vue +40 -224
- package/components/lists/dashboards/FSSimpleDashboardsList.vue +27 -53
- package/components/lists/dashboards/FSTileDashboardsList.vue +30 -62
- package/components/lists/folders/FSBaseFoldersList.vue +1 -5
- package/components/lists/userOrganisations/FSBaseUserOrganisationsList.vue +4 -6
- package/package.json +7 -7
- package/utils/dashboards.ts +10 -28
- package/utils/tables.ts +11 -7
- package/utils/users.ts +11 -1
- package/components/explorers/FSBaseFoldersExplorer.vue +0 -337
package/utils/dashboards.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { DashboardOrganisationInfos, DashboardOrganisationTypeInfos, DashboardShallowInfos, FolderInfos } from "@dative-gpi/foundation-core-domain/models";
|
|
2
1
|
import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
|
|
3
2
|
import { type ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
|
|
4
|
-
import { DashboardType } from "@dative-gpi/foundation-shared-domain/enums";
|
|
3
|
+
import { DashboardExplorerElementType, DashboardType } from "@dative-gpi/foundation-shared-domain/enums";
|
|
5
4
|
|
|
6
5
|
const { $tr } = useTranslationsProvider();
|
|
7
6
|
|
|
@@ -23,29 +22,12 @@ export const dashboardTypeColor = (type: DashboardType): ColorBase => {
|
|
|
23
22
|
}
|
|
24
23
|
};
|
|
25
24
|
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface OrganisationTypeDashboardListItem extends DashboardOrganisationTypeInfos {
|
|
37
|
-
dashboardType: DashboardType.OrganisationType
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export interface FolderListItem extends FolderInfos {
|
|
41
|
-
dashboardType: DashboardType.None
|
|
42
|
-
type: FoldersListType.Folder
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export enum FoldersListType {
|
|
46
|
-
Dashboard = "dashboard",
|
|
47
|
-
Folder = "folder"
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export type DashboardsListItem = DashboardShallowListItem | DashboardOrganisationListItem | OrganisationTypeDashboardListItem;
|
|
51
|
-
export type FoldersListItem = DashboardShallowListItem | DashboardOrganisationListItem | FolderListItem;
|
|
25
|
+
export const dashboardExplorerElementTypeLabel = (type: DashboardExplorerElementType): string => {
|
|
26
|
+
switch (type) {
|
|
27
|
+
case DashboardExplorerElementType.Folder: return $tr("ui.common.folder", "Folder");
|
|
28
|
+
case DashboardExplorerElementType.DashboardOrganisation: return $tr("ui.common.custom", "Custom");
|
|
29
|
+
case DashboardExplorerElementType.DashboardShallow: return $tr("ui.dashboard-type.shallow", "Shallow copy");
|
|
30
|
+
case DashboardExplorerElementType.DashboardOrganisationType: return $tr("ui.common.shared", "Shared");
|
|
31
|
+
default: return $tr("ui.common.none", "None");
|
|
32
|
+
}
|
|
33
|
+
};
|
package/utils/tables.ts
CHANGED
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
|
|
2
|
-
export const DASHBOARDS_EXPLORER_MAIN = "ui.tables.
|
|
3
|
-
export const
|
|
4
|
-
|
|
2
|
+
export const DASHBOARDS_EXPLORER_MAIN = "ui.tables.dashboard-explorer-element.main";
|
|
3
|
+
export const DASHBOARDS_ORGANISATION_TYPE_MAIN = "ui.tables.dashboard-organisation-type.main";
|
|
4
|
+
|
|
5
|
+
export const DEVICES_EXPLORER_MAIN = "ui.tables.device-explorer-element.main";
|
|
5
6
|
|
|
6
7
|
export const DEVICES_LIST_MAIN = "ui.tables.device.main";
|
|
7
8
|
export const DEVICES_MAINTENANCE = "ui.tables.device.maintenance";
|
|
8
9
|
export const LOCATIONS_LIST_MAIN = "ui.tables.location.main";
|
|
9
10
|
|
|
10
|
-
export const
|
|
11
|
+
export const CHARTS_LIST_ORGANISATION = "ui.tables.chart.organisation";
|
|
11
12
|
export const CHARTS_LIST_SHARED = "ui.tables.chart.shared";
|
|
12
13
|
|
|
13
14
|
export const SCENARIOS_LIST_MAIN = "ui.tables.scenario.main";
|
|
15
|
+
export const SCENARIOS_LIST_ORGANISATION = "ui.tables.scenario.organisation";
|
|
14
16
|
export const SCENARIOS_LIST_SHARED = "ui.tables.scenario.shared";
|
|
15
17
|
export const CONNECTIVITY_SCENARIOS_LIST_MAIN = "ui.tables.connectivity-scenario.main";
|
|
16
18
|
|
|
17
19
|
export const ALERTS_LIST_MAIN = "ui.tables.alert.main";
|
|
18
20
|
export const CONNECTIVITY_ALERTS_LIST_MAIN = "ui.tables.connectivity-alert.main";
|
|
19
21
|
|
|
22
|
+
export const GROUPINGS_LIST_MAIN = "ui.tables.grouping.main";
|
|
23
|
+
|
|
24
|
+
export const CHARTS_LIST_SELECT = "ui.tables.chart.select";
|
|
25
|
+
export const DATA_CATEGORIES_SELECT = "ui.tables.data-category.select";
|
|
20
26
|
export const DEVICES_SELECT = "ui.tables.device.select";
|
|
21
27
|
export const GROUPS_SELECT = "ui.tables.group.select";
|
|
22
28
|
export const LOCATIONS_SELECT = "ui.tables.location.select";
|
|
23
29
|
export const MODELS_SELECT = "ui.tables.model.select";
|
|
24
|
-
export const DASHBOARDS_SELECT = "ui.tables.dashboard-
|
|
30
|
+
export const DASHBOARDS_SELECT = "ui.tables.dashboard-explorer-element.select";
|
|
25
31
|
export const GROUPINGS_SELECT = "ui.tables.grouping.select";
|
|
26
32
|
export const SUBGROUPINGS_SELECT = "ui.tables.subgrouping.select";
|
|
27
33
|
|
|
28
|
-
export const WIDGET_DASHBOARDS_EXPLORER = "ui.tables.folder-mock.widget";
|
|
29
|
-
|
|
30
34
|
export const LOCATION_DEVICES = "ui.tables.device.location-devices";
|
|
31
35
|
export const DEVICE_ALERTS = "ui.tables.alert.device-alerts";
|
|
32
36
|
export const DEVICE_CONNECTIVITY_ALERTS = "ui.tables.connectivity-alerts.device-connectivity-alerts";
|
package/utils/users.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { useDateFormat } from "@dative-gpi/foundation-shared-services/composables";
|
|
1
2
|
import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
|
|
2
3
|
import { UserType, UserValidityState } from "@dative-gpi/foundation-shared-domain/enums";
|
|
3
4
|
|
|
4
5
|
const { $tr } = useTranslationsProvider();
|
|
6
|
+
const { epochToShortTimeFormat } = useDateFormat();
|
|
5
7
|
|
|
6
8
|
export const userTypeLabel = (type: UserType): string => {
|
|
7
9
|
switch (type) {
|
|
@@ -29,4 +31,12 @@ export const userValidityLabel = (validity: UserValidityState): string => {
|
|
|
29
31
|
case UserValidityState.AccountValidated: return $tr("ui.user-validity.account-validated", "Validated");
|
|
30
32
|
default: return "";
|
|
31
33
|
}
|
|
32
|
-
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const formatLastActivity = (value?: string | null): string => {
|
|
37
|
+
if (!value) {
|
|
38
|
+
return "";
|
|
39
|
+
}
|
|
40
|
+
const timestamp = new Date(value).getTime();
|
|
41
|
+
return epochToShortTimeFormat(timestamp);
|
|
42
|
+
};
|
|
@@ -1,337 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<FSDataTable
|
|
3
|
-
defaultMode="iterator"
|
|
4
|
-
:items="items"
|
|
5
|
-
:item-to="$props.itemTo"
|
|
6
|
-
:loading="fetchingFolders || fetchingDashboardOrganisations || fetchingDashboardShallows"
|
|
7
|
-
:tableCode="$props.tableCode"
|
|
8
|
-
:headersOptions="headersOptions"
|
|
9
|
-
:modelValue="selecteds"
|
|
10
|
-
:selectable="$props.selectable"
|
|
11
|
-
@update:modelValue="onSelect"
|
|
12
|
-
v-bind="$attrs"
|
|
13
|
-
>
|
|
14
|
-
<template
|
|
15
|
-
v-for="(_, name) in $slots"
|
|
16
|
-
v-slot:[name]="slotData"
|
|
17
|
-
>
|
|
18
|
-
<slot
|
|
19
|
-
:name="name"
|
|
20
|
-
v-bind="slotData"
|
|
21
|
-
/>
|
|
22
|
-
</template>
|
|
23
|
-
<template
|
|
24
|
-
#header.imageId-title
|
|
25
|
-
>
|
|
26
|
-
<FSIcon>
|
|
27
|
-
mdi-panorama-variant-outline
|
|
28
|
-
</FSIcon>
|
|
29
|
-
</template>
|
|
30
|
-
<template
|
|
31
|
-
#item.imageId="{ item }"
|
|
32
|
-
>
|
|
33
|
-
<FSImage
|
|
34
|
-
v-if="item.imageId"
|
|
35
|
-
height="32px"
|
|
36
|
-
width="32px"
|
|
37
|
-
:imageId="item.imageId"
|
|
38
|
-
:thumbnail="true"
|
|
39
|
-
/>
|
|
40
|
-
</template>
|
|
41
|
-
<template
|
|
42
|
-
#item.icon="{ item }"
|
|
43
|
-
>
|
|
44
|
-
<FSIcon>
|
|
45
|
-
{{ item.icon }}
|
|
46
|
-
</FSIcon>
|
|
47
|
-
</template>
|
|
48
|
-
<template
|
|
49
|
-
#item.main="{ item }"
|
|
50
|
-
>
|
|
51
|
-
<FSIcon
|
|
52
|
-
v-if="item.id === mainOrganisationDashboardId"
|
|
53
|
-
>
|
|
54
|
-
mdi-account-group-outline
|
|
55
|
-
</FSIcon>
|
|
56
|
-
<FSIcon
|
|
57
|
-
v-if="item.id === mainUserDashboardId"
|
|
58
|
-
>
|
|
59
|
-
mdi-home
|
|
60
|
-
</FSIcon>
|
|
61
|
-
</template>
|
|
62
|
-
<template
|
|
63
|
-
#item.locked="{ item }"
|
|
64
|
-
>
|
|
65
|
-
<FSIconCheck
|
|
66
|
-
:value="item.locked"
|
|
67
|
-
/>
|
|
68
|
-
</template>
|
|
69
|
-
<template
|
|
70
|
-
#item.tags="{ item }"
|
|
71
|
-
>
|
|
72
|
-
<FSTagGroup
|
|
73
|
-
variant="slide"
|
|
74
|
-
:showRemove="false"
|
|
75
|
-
:tags="item.tags"
|
|
76
|
-
/>
|
|
77
|
-
</template>
|
|
78
|
-
<template
|
|
79
|
-
#item.dashboardType="{ item }"
|
|
80
|
-
>
|
|
81
|
-
<FSChip
|
|
82
|
-
v-if="item.type === FoldersListType.Dashboard"
|
|
83
|
-
:color="ColorEnum.Light"
|
|
84
|
-
:label="dashboardTypeLabel(item.dashboardType)"
|
|
85
|
-
/>
|
|
86
|
-
<FSChip
|
|
87
|
-
v-else-if="item.type === FoldersListType.Folder"
|
|
88
|
-
:color="ColorEnum.Light"
|
|
89
|
-
:label="$tr('ui.common.folder', 'Folder')"
|
|
90
|
-
/>
|
|
91
|
-
</template>
|
|
92
|
-
<template
|
|
93
|
-
#item.tile="{ index, item, toggleSelect }"
|
|
94
|
-
>
|
|
95
|
-
<FSFolderTileUI
|
|
96
|
-
v-if="item.type == FoldersListType.Folder"
|
|
97
|
-
:key="index"
|
|
98
|
-
:bottomColor="item.colors"
|
|
99
|
-
v-bind="item"
|
|
100
|
-
:selectable="$props.selectable"
|
|
101
|
-
:modelValue="isSelected(item.id)"
|
|
102
|
-
@update:modelValue="toggleSelect(item)"
|
|
103
|
-
:to="$props.itemTo && $props.itemTo(item)"
|
|
104
|
-
/>
|
|
105
|
-
<FSDashboardOrganisationTileUI
|
|
106
|
-
v-if="item.type == FoldersListType.Dashboard && item.dashboardType == DashboardType.Organisation"
|
|
107
|
-
:key="index"
|
|
108
|
-
:bottomColor="item.colors"
|
|
109
|
-
:selectable="$props.selectable"
|
|
110
|
-
:modelValue="isSelected(item.id)"
|
|
111
|
-
@update:modelValue="toggleSelect(item)"
|
|
112
|
-
:to="$props.itemTo && $props.itemTo(item)"
|
|
113
|
-
v-bind="item"
|
|
114
|
-
/>
|
|
115
|
-
<FSDashboardShallowTileUI
|
|
116
|
-
v-if="item.type == FoldersListType.Dashboard && item.dashboardType == DashboardType.Shallow"
|
|
117
|
-
:key="index"
|
|
118
|
-
:bottomColor="item.colors"
|
|
119
|
-
:selectable="$props.selectable"
|
|
120
|
-
:modelValue="isSelected(item.id)"
|
|
121
|
-
@update:modelValue="toggleSelect(item)"
|
|
122
|
-
:to="$props.itemTo && $props.itemTo(item)"
|
|
123
|
-
v-bind="item"
|
|
124
|
-
/>
|
|
125
|
-
</template>
|
|
126
|
-
</FSDataTable>
|
|
127
|
-
</template>
|
|
128
|
-
|
|
129
|
-
<script lang="ts">
|
|
130
|
-
import _ from "lodash";
|
|
131
|
-
import type { RouteLocation } from "vue-router";
|
|
132
|
-
import { computed, defineComponent, onMounted, type PropType, ref, watch } from "vue";
|
|
133
|
-
|
|
134
|
-
import { useOrganisation } from "@dative-gpi/foundation-shared-services/composables";
|
|
135
|
-
import { useDashboardOrganisations, useFolders, useDashboardShallows, useAppOrganisationId, useCurrentUserOrganisation } from "@dative-gpi/foundation-core-services/composables";
|
|
136
|
-
|
|
137
|
-
import { DashboardType } from "@dative-gpi/foundation-shared-domain/enums";
|
|
138
|
-
import { dashboardTypeLabel, FoldersListType, type FoldersListItem } from "@dative-gpi/foundation-core-components/utils";
|
|
139
|
-
import type { FolderFilters, DashboardOrganisationFilters, DashboardShallowFilters, DashboardInfos } from "@dative-gpi/foundation-core-domain/models";
|
|
140
|
-
|
|
141
|
-
import FSIcon from "@dative-gpi/foundation-shared-components/components/FSIcon.vue";
|
|
142
|
-
import FSChip from '@dative-gpi/foundation-shared-components/components/FSChip.vue';
|
|
143
|
-
import FSImage from "@dative-gpi/foundation-shared-components/components/FSImage.vue";
|
|
144
|
-
import FSTagGroup from "@dative-gpi/foundation-shared-components/components/FSTagGroup.vue";
|
|
145
|
-
import FSIconCheck from "@dative-gpi/foundation-shared-components/components/FSIconCheck.vue";
|
|
146
|
-
import FSFolderTileUI from "@dative-gpi/foundation-shared-components/components/tiles/FSFolderTileUI.vue";
|
|
147
|
-
import FSDashboardShallowTileUI from "@dative-gpi/foundation-shared-components/components/tiles/FSDashboardShallowTileUI.vue";
|
|
148
|
-
import FSDashboardOrganisationTileUI from "@dative-gpi/foundation-shared-components/components/tiles/FSDashboardOrganisationTileUI.vue";
|
|
149
|
-
|
|
150
|
-
import FSDataTable from "../lists/FSDataTable.vue";
|
|
151
|
-
import { ColorEnum } from '@dative-gpi/foundation-shared-components/models';
|
|
152
|
-
import { useTranslations } from '@dative-gpi/bones-ui';
|
|
153
|
-
|
|
154
|
-
export default defineComponent({
|
|
155
|
-
name: "FSBaseFoldersExplorer",
|
|
156
|
-
components: {
|
|
157
|
-
FSDashboardOrganisationTileUI,
|
|
158
|
-
FSDashboardShallowTileUI,
|
|
159
|
-
FSFolderTileUI,
|
|
160
|
-
FSDataTable,
|
|
161
|
-
FSIconCheck,
|
|
162
|
-
FSTagGroup,
|
|
163
|
-
FSImage,
|
|
164
|
-
FSChip,
|
|
165
|
-
FSIcon
|
|
166
|
-
},
|
|
167
|
-
props: {
|
|
168
|
-
foldersFilters: {
|
|
169
|
-
type: Object as PropType<FolderFilters>,
|
|
170
|
-
default: undefined,
|
|
171
|
-
required: false
|
|
172
|
-
},
|
|
173
|
-
dashboardOrganisationsFilters: {
|
|
174
|
-
type: Object as PropType<DashboardOrganisationFilters>,
|
|
175
|
-
default: undefined,
|
|
176
|
-
required: false
|
|
177
|
-
},
|
|
178
|
-
dashboardShallowsFilters: {
|
|
179
|
-
type: Object as PropType<DashboardShallowFilters>,
|
|
180
|
-
default: undefined,
|
|
181
|
-
required: false
|
|
182
|
-
},
|
|
183
|
-
modelValue: {
|
|
184
|
-
type: Array as PropType<string[]>,
|
|
185
|
-
required: false,
|
|
186
|
-
default: () => []
|
|
187
|
-
},
|
|
188
|
-
itemTo: {
|
|
189
|
-
type: Function as PropType<(item: DashboardInfos) => Partial<RouteLocation>>,
|
|
190
|
-
required: false
|
|
191
|
-
},
|
|
192
|
-
tableCode: {
|
|
193
|
-
type: String,
|
|
194
|
-
required: true
|
|
195
|
-
},
|
|
196
|
-
selectable: {
|
|
197
|
-
type: Boolean,
|
|
198
|
-
required: false,
|
|
199
|
-
default: true
|
|
200
|
-
}
|
|
201
|
-
},
|
|
202
|
-
emits: ["update", "update:modelValue", "update:type", "update:dashboard-type"],
|
|
203
|
-
setup(props, { emit }) {
|
|
204
|
-
const { $tr } = useTranslations();
|
|
205
|
-
const { fetch: fetchUserOrganisation, entity: userOrganisation } = useCurrentUserOrganisation();
|
|
206
|
-
const { entity: organisation, get: getOrganisation } = useOrganisation();
|
|
207
|
-
const { organisationId } = useAppOrganisationId();
|
|
208
|
-
|
|
209
|
-
const { entities: dashboardOrganisations, fetching: fetchingDashboardOrganisations, getMany: getManyDashboardOrganisations } = useDashboardOrganisations();
|
|
210
|
-
const { entities: dashboardShallows, fetching: fetchingDashboardShallows, getMany: getManyDashboardShallows } = useDashboardShallows();
|
|
211
|
-
const { entities: folders, fetching: fetchingFolders, getMany: getManyFolders } = useFolders();
|
|
212
|
-
|
|
213
|
-
const selecteds = ref<string[]>([]);
|
|
214
|
-
|
|
215
|
-
const mainUserDashboardId = computed(() => {
|
|
216
|
-
return userOrganisation.value?.mainDashboardId;
|
|
217
|
-
});
|
|
218
|
-
|
|
219
|
-
const mainOrganisationDashboardId = computed(() => {
|
|
220
|
-
return organisation.value?.mainDashboardId;
|
|
221
|
-
});
|
|
222
|
-
|
|
223
|
-
const items = computed((): FoldersListItem[] => {
|
|
224
|
-
return [
|
|
225
|
-
...folders.value.map(g => ({
|
|
226
|
-
...g,
|
|
227
|
-
type: FoldersListType.Folder,
|
|
228
|
-
dashboardType: DashboardType.None
|
|
229
|
-
})) as FoldersListItem[],
|
|
230
|
-
..._.sortBy([
|
|
231
|
-
...dashboardOrganisations.value.map(d => ({
|
|
232
|
-
...d,
|
|
233
|
-
type: FoldersListType.Dashboard,
|
|
234
|
-
dashboardType: DashboardType.Organisation
|
|
235
|
-
})) as FoldersListItem[],
|
|
236
|
-
...dashboardShallows.value.map(d => ({
|
|
237
|
-
...d,
|
|
238
|
-
type: FoldersListType.Dashboard,
|
|
239
|
-
dashboardType: DashboardType.Shallow
|
|
240
|
-
})) as FoldersListItem[]
|
|
241
|
-
], d => d.label)
|
|
242
|
-
]
|
|
243
|
-
});
|
|
244
|
-
|
|
245
|
-
const headersOptions = computed(() => ({
|
|
246
|
-
dashboardType: {
|
|
247
|
-
fixedFilters: [
|
|
248
|
-
{
|
|
249
|
-
value: DashboardType.Organisation,
|
|
250
|
-
text: dashboardTypeLabel(DashboardType.Organisation)
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
value: DashboardType.Shallow,
|
|
254
|
-
text: dashboardTypeLabel(DashboardType.Shallow)
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
value: 10,
|
|
258
|
-
text: $tr("ui.common.folder", "Folder")
|
|
259
|
-
},
|
|
260
|
-
],
|
|
261
|
-
methodFilter: (value: number, dashboardType: DashboardType) => {
|
|
262
|
-
if(dashboardType !== DashboardType.None) {
|
|
263
|
-
return value === dashboardType;
|
|
264
|
-
} else {
|
|
265
|
-
return value === 10;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}));
|
|
270
|
-
|
|
271
|
-
const onSelect = (values: string[]) => {
|
|
272
|
-
selecteds.value = values;
|
|
273
|
-
const selectedItems = items.value.filter(i => selecteds.value!.includes(i.id));
|
|
274
|
-
const newDashboardType = selectedItems.map(i => i.dashboardType);
|
|
275
|
-
const newModelValue = selectedItems.map(i => i.id);
|
|
276
|
-
const newType = selectedItems.map(i => i.type);
|
|
277
|
-
emit("update:dashboard-type", newDashboardType);
|
|
278
|
-
emit("update:modelValue", newModelValue);
|
|
279
|
-
emit("update:type", newType);
|
|
280
|
-
emit("update", { dashboardType: newDashboardType, modelValue: newModelValue, type: newType });
|
|
281
|
-
};
|
|
282
|
-
|
|
283
|
-
const isSelected = (id: string) => {
|
|
284
|
-
return selecteds.value?.includes(id);
|
|
285
|
-
};
|
|
286
|
-
|
|
287
|
-
onMounted(() => {
|
|
288
|
-
fetchUserOrganisation();
|
|
289
|
-
})
|
|
290
|
-
|
|
291
|
-
watch(() => organisationId.value, () => {
|
|
292
|
-
if (organisationId.value) {
|
|
293
|
-
getOrganisation(organisationId.value);
|
|
294
|
-
}
|
|
295
|
-
}, { immediate: true });
|
|
296
|
-
|
|
297
|
-
watch(() => props.foldersFilters, (next, previous) => {
|
|
298
|
-
if ((!next && !previous) || !_.isEqual(next, previous)) {
|
|
299
|
-
getManyFolders(props.foldersFilters, f => f.parentId == props.foldersFilters?.parentId);
|
|
300
|
-
}
|
|
301
|
-
}, { immediate: true });
|
|
302
|
-
|
|
303
|
-
watch(() => props.dashboardOrganisationsFilters, (next, previous) => {
|
|
304
|
-
if ((!next && !previous) || !_.isEqual(next, previous)) {
|
|
305
|
-
getManyDashboardOrganisations(props.dashboardOrganisationsFilters, f => f.folderId == props.foldersFilters?.parentId);
|
|
306
|
-
}
|
|
307
|
-
}, { immediate: true });
|
|
308
|
-
|
|
309
|
-
watch(() => props.dashboardShallowsFilters, (next, previous) => {
|
|
310
|
-
if ((!next && !previous) || !_.isEqual(next, previous)) {
|
|
311
|
-
getManyDashboardShallows(props.dashboardShallowsFilters, f => f.folderId == props.foldersFilters?.parentId);
|
|
312
|
-
}
|
|
313
|
-
}, { immediate: true });
|
|
314
|
-
|
|
315
|
-
watch(() => props.modelValue, (next) => {
|
|
316
|
-
selecteds.value = next;
|
|
317
|
-
}, { immediate: true });
|
|
318
|
-
|
|
319
|
-
return {
|
|
320
|
-
fetchingDashboardOrganisations,
|
|
321
|
-
fetchingDashboardShallows,
|
|
322
|
-
fetchingFolders,
|
|
323
|
-
mainOrganisationDashboardId,
|
|
324
|
-
mainUserDashboardId,
|
|
325
|
-
headersOptions,
|
|
326
|
-
ColorEnum,
|
|
327
|
-
selecteds,
|
|
328
|
-
items,
|
|
329
|
-
onSelect,
|
|
330
|
-
isSelected,
|
|
331
|
-
FoldersListType,
|
|
332
|
-
DashboardType,
|
|
333
|
-
dashboardTypeLabel
|
|
334
|
-
};
|
|
335
|
-
}
|
|
336
|
-
});
|
|
337
|
-
</script>
|