@dative-gpi/foundation-core-components 1.1.24-unit-formatter-3 → 1.1.24-widget-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,105 @@
1
+ <template>
2
+ <FSEntitySelectPresetConfiguration
3
+ :settings="$props.settings"
4
+ :useEntityPreset="$props.useEntityPreset"
5
+ :entityPresetCode="$props.entityPresetCode"
6
+ :entityType="$props.entityType"
7
+ :entitiesIds="$props.entitiesIds"
8
+ :singleEntity="$props.singleEntity"
9
+ @update:useEntityPreset="$emit('update:useEntityPreset', $event)"
10
+ @update:entityPresetCode="$emit('update:entityPresetCode', $event)"
11
+ @update:entityType="$emit('update:entityType', $event)"
12
+ @update:entitiesIds="$emit('update:entitiesIds', $event)"
13
+ @update="$emit('update', $event)"
14
+ />
15
+ <FSDateSelectPresetConfiguration
16
+ :settings="$props.settings"
17
+ :useDatePreset="$props.useDatePreset"
18
+ :datePresetCode="$props.datePresetCode"
19
+ :startDate="$props.startDate"
20
+ :endDate="$props.endDate"
21
+ @update:useDatePreset="$emit('update:useDatePreset', $event)"
22
+ @update:datePresetCode="$emit('update:datePresetCode', $event)"
23
+ @update:startDate="$emit('update:startDate', $event)"
24
+ @update:endDate="$emit('update:endDate', $event)"
25
+ @update="$emit('update', $event)"
26
+ />
27
+ </template>
28
+
29
+ <script lang="ts">
30
+ import { defineComponent, type PropType } from "vue";
31
+
32
+ import { EntityType } from "@dative-gpi/foundation-shared-domain/enums";
33
+ import type { DashboardSettings } from "@dative-gpi/foundation-core-domain/models";
34
+
35
+ import FSEntitySelectPresetConfiguration from "./FSEntitySelectPresetConfiguration.vue";
36
+ import FSDateSelectPresetConfiguration from "./FSDateSelectPresetConfiguration.vue";
37
+
38
+ export default defineComponent({
39
+ name: "FSBaseSelectPresetConfiguration",
40
+ components: {
41
+ FSEntitySelectPresetConfiguration,
42
+ FSDateSelectPresetConfiguration
43
+ },
44
+ props: {
45
+ settings: {
46
+ type: Object as PropType<DashboardSettings>,
47
+ required: true,
48
+ },
49
+ useEntityPreset: {
50
+ type: Boolean,
51
+ required: true,
52
+ },
53
+ entityPresetCode: {
54
+ type: String,
55
+ required: false,
56
+ default: "",
57
+ },
58
+ entityType: {
59
+ type: Number as PropType<EntityType>,
60
+ required: false,
61
+ default: EntityType.None
62
+ },
63
+ entitiesIds: {
64
+ type: Array as PropType<string[]>,
65
+ required: false,
66
+ default: () => [],
67
+ },
68
+ singleEntity: {
69
+ type: Boolean,
70
+ required: false,
71
+ default: false,
72
+ },
73
+ useDatePreset: {
74
+ type: Boolean,
75
+ required: true,
76
+ },
77
+ datePresetCode: {
78
+ type: String,
79
+ required: false,
80
+ default: "",
81
+ },
82
+ startDate: {
83
+ type: String,
84
+ required: false,
85
+ default: "now - 1d",
86
+ },
87
+ endDate: {
88
+ type: String,
89
+ required: false,
90
+ default: "now",
91
+ }
92
+ },
93
+ emits: [
94
+ "update",
95
+ "update:useEntityPreset",
96
+ "update:entityPresetCode",
97
+ "update:entityType",
98
+ "update:entitiesIds",
99
+ "update:useDatePreset",
100
+ "update:datePresetCode",
101
+ "update:startDate",
102
+ "update:endDate",
103
+ ],
104
+ });
105
+ </script>
@@ -0,0 +1,54 @@
1
+ <template>
2
+ <FSTranslateField
3
+ property="title"
4
+ :label="$tr('ui.common.title', 'Title')"
5
+ :modelValue="$props.title"
6
+ :maxWidth="null"
7
+ :translations="$props.translations"
8
+ @update:modelValue="$emit('update:title', $event)"
9
+ @update:translations="$emit('update:translations', $event)"
10
+ />
11
+ <FSTranslateField
12
+ v-if="$props.showSubtitle"
13
+ property="subtitle"
14
+ :maxWidth="null"
15
+ :label="$tr('ui.widget.subtitle', 'Subtitle')"
16
+ :modelValue="$props.subtitle"
17
+ @update:modelValue="$emit('update:subtitle', $event)"
18
+ @update:translations="$emit('update:translations', $event)"
19
+ />
20
+ </template>
21
+
22
+ <script lang="ts">
23
+ import { defineComponent, type PropType } from "vue";
24
+
25
+ import type { Translation } from "@dative-gpi/foundation-shared-components/models";
26
+ import FSTranslateField from "@dative-gpi/foundation-shared-components/components/fields/FSTranslateField.vue";
27
+
28
+ export default defineComponent({
29
+ name: "FSBaseTitleConfiguration",
30
+ components: {
31
+ FSTranslateField
32
+ },
33
+ props: {
34
+ title: {
35
+ type: String,
36
+ required: false
37
+ },
38
+ subtitle: {
39
+ type: String,
40
+ required: false
41
+ },
42
+ translations: {
43
+ type: Array as PropType<Translation[]>,
44
+ required: false
45
+ },
46
+ showSubtitle: {
47
+ type: Boolean,
48
+ required: false,
49
+ default: true
50
+ }
51
+ },
52
+ emits: ["update:title", "update:subtitle", "update:translations"]
53
+ });
54
+ </script>
@@ -0,0 +1,78 @@
1
+ <template>
2
+ <FSSwitch
3
+ :maxWidth="null"
4
+ :label="$tr('ui.widget.use-date-preset', 'Use a date preset from dashboard')"
5
+ :modelValue="$props.useDatePreset"
6
+ @update:modelValue="$emit('update:useDatePreset', $event); $emit('update', { useDatePreset: $event })"
7
+ />
8
+ <FSSelectDashboardDatePreset
9
+ v-if="$props.useDatePreset"
10
+ :maxWidth="null"
11
+ :label="$tr('ui.widget.date-preset', 'Date preset')"
12
+ :items="$props.settings.datePresets"
13
+ :modelValue="$props.datePresetCode"
14
+ @update:modelValue="$emit('update:datePresetCode', $event); $emit('update', { datePresetCode: $event })"
15
+ />
16
+ <template
17
+ v-else
18
+ >
19
+ <FSTermField
20
+ :maxWidth="null"
21
+ :label="$tr('ui.widget.date-setting', 'Date setting')"
22
+ :startDate="$props.startDate"
23
+ :endDate="$props.endDate"
24
+ @update:startDate="$emit('update:startDate', $event)"
25
+ @update:endDate="$emit('update:endDate', $event)"
26
+ @update="$emit('update', $event)"
27
+ />
28
+ </template>
29
+ </template>
30
+
31
+ <script lang="ts">
32
+ import { defineComponent, type PropType } from "vue";
33
+ import type { DashboardSettings } from "@dative-gpi/foundation-core-domain/models";
34
+ import FSSwitch from "@dative-gpi/foundation-shared-components/components/FSSwitch.vue";
35
+ import FSTermField from "@dative-gpi/foundation-shared-components/components/fields/FSTermField.vue";
36
+ import FSSelectDashboardDatePreset from "../dashboards/FSSelectDashboardDatePreset.vue";
37
+
38
+ export default defineComponent({
39
+ name: "FSDateSelectPresetConfiguration",
40
+ components: {
41
+ FSSwitch,
42
+ FSTermField,
43
+ FSSelectDashboardDatePreset
44
+ },
45
+ props: {
46
+ settings: {
47
+ type: Object as PropType<DashboardSettings>,
48
+ required: true,
49
+ },
50
+ useDatePreset: {
51
+ type: Boolean,
52
+ required: true,
53
+ },
54
+ datePresetCode: {
55
+ type: String,
56
+ required: false,
57
+ default: "",
58
+ },
59
+ startDate: {
60
+ type: String,
61
+ required: false,
62
+ default: "now - 1d",
63
+ },
64
+ endDate: {
65
+ type: String,
66
+ required: false,
67
+ default: "now",
68
+ }
69
+ },
70
+ emits: [
71
+ "update",
72
+ "update:useDatePreset",
73
+ "update:datePresetCode",
74
+ "update:startDate",
75
+ "update:endDate"
76
+ ],
77
+ });
78
+ </script>
@@ -0,0 +1,88 @@
1
+ <template>
2
+ <FSSwitch
3
+ :maxWidth="null"
4
+ :label="$tr('ui.widget.use-entity-preset', 'Use an entity preset from dashboard')"
5
+ :modelValue="$props.useEntityPreset"
6
+ @update:modelValue="$emit('update:useEntityPreset', $event); $emit('update', { useEntityPreset: $event })"
7
+ />
8
+ <FSSelectDashboardEntityPreset
9
+ v-if="$props.useEntityPreset"
10
+ :maxWidth="null"
11
+ :label="$tr('ui.common.entity-preset', 'Entity preset')"
12
+ :items="$props.settings.entityPresets"
13
+ :modelValue="$props.entityPresetCode"
14
+ @update:modelValue="$emit('update:entityPresetCode', $event); $emit('update', { entityPresetCode: $event })"
15
+ />
16
+ <FSSelectEntitiesField
17
+ v-else
18
+ :maxWidth="null"
19
+ :label="$tr('ui.widget.entities-settings', 'Entities settings')"
20
+ :entityType="$props.entityType"
21
+ :entitiesIds="$props.entitiesIds"
22
+ :singleEntity="$props.singleEntity"
23
+ :allowedEntityTypes="$props.allowedEntityTypes"
24
+ @update:entityType="$emit('update:entityType', $event)"
25
+ @update:entitiesIds="$emit('update:entitiesIds', $event)"
26
+ @update="$emit('update', $event)"
27
+ />
28
+ </template>
29
+
30
+ <script lang="ts">
31
+ import { defineComponent, type PropType } from "vue";
32
+ import { EntityType } from "@dative-gpi/foundation-shared-domain/enums";
33
+ import type { DashboardSettings } from "@dative-gpi/foundation-core-domain/models";
34
+ import FSSwitch from "@dative-gpi/foundation-shared-components/components/FSSwitch.vue";
35
+ import FSSelectDashboardEntityPreset from "../dashboards/FSSelectDashboardEntityPreset.vue";
36
+ import FSSelectEntitiesField from "../entities/FSSelectEntitiesField.vue";
37
+
38
+ export default defineComponent({
39
+ name: "FSEntitySelectPresetConfiguration",
40
+ components: {
41
+ FSSwitch,
42
+ FSSelectDashboardEntityPreset,
43
+ FSSelectEntitiesField
44
+ },
45
+ props: {
46
+ settings: {
47
+ type: Object as PropType<DashboardSettings>,
48
+ required: true,
49
+ },
50
+ useEntityPreset: {
51
+ type: Boolean,
52
+ required: true,
53
+ },
54
+ entityPresetCode: {
55
+ type: String,
56
+ required: false,
57
+ default: "",
58
+ },
59
+ entityType: {
60
+ type: Number as PropType<EntityType>,
61
+ required: false,
62
+ default: EntityType.None
63
+ },
64
+ entitiesIds: {
65
+ type: Array as PropType<string[]>,
66
+ required: false,
67
+ default: () => [],
68
+ },
69
+ singleEntity: {
70
+ type: Boolean,
71
+ required: false,
72
+ default: false,
73
+ },
74
+ allowedEntityTypes: {
75
+ type: Array as PropType<EntityType[]>,
76
+ required: false,
77
+ default: () => [EntityType.Model, EntityType.Group, EntityType.Location, EntityType.Device, EntityType.Grouping, EntityType.Subgrouping],
78
+ },
79
+ },
80
+ emits: [
81
+ "update",
82
+ "update:useEntityPreset",
83
+ "update:entityPresetCode",
84
+ "update:entityType",
85
+ "update:entitiesIds"
86
+ ],
87
+ });
88
+ </script>
@@ -0,0 +1,35 @@
1
+ <template>
2
+ <FSSelectField
3
+ itemTitle="labelDefault"
4
+ itemValue="hiddenCode"
5
+ :items="$props.items"
6
+ :modelValue="$props.modelValue"
7
+ @update:modelValue="$emit('update:modelValue', $event)"
8
+ v-bind="$attrs"
9
+ />
10
+ </template>
11
+
12
+ <script lang="ts">
13
+ import { defineComponent, type PropType } from "vue";
14
+
15
+ import FSSelectField from "@dative-gpi/foundation-shared-components/components/fields/FSSelectField.vue";
16
+
17
+ export default defineComponent({
18
+ name: "FSSelectDashboardDatePreset",
19
+ components: {
20
+ FSSelectField
21
+ },
22
+ props: {
23
+ items: {
24
+ type: Array as PropType<any[]>,
25
+ required: true
26
+ },
27
+ modelValue: {
28
+ type: String as PropType<string | null>,
29
+ required: false,
30
+ default: null
31
+ }
32
+ },
33
+ emits: ["update:modelValue"]
34
+ });
35
+ </script>
@@ -0,0 +1,36 @@
1
+ <template>
2
+ <FSAutocompleteField
3
+ itemTitle="labelDefault"
4
+ itemValue="hiddenCode"
5
+ :items="$props.items"
6
+ :modelValue="$props.modelValue"
7
+ :clearable="true"
8
+ @update:modelValue="$emit('update:modelValue', $event)"
9
+ v-bind="$attrs"
10
+ />
11
+ </template>
12
+
13
+ <script lang="ts">
14
+ import { defineComponent, type PropType } from "vue";
15
+
16
+ import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
17
+
18
+ export default defineComponent({
19
+ name: "FSSelectDashboardEntityPreset",
20
+ components: {
21
+ FSAutocompleteField
22
+ },
23
+ props: {
24
+ items: {
25
+ type: Array as PropType<any[]>,
26
+ required: true
27
+ },
28
+ modelValue: {
29
+ type: String as PropType<string | null>,
30
+ required: false,
31
+ default: null
32
+ }
33
+ },
34
+ emits: ["update:modelValue"]
35
+ });
36
+ </script>
@@ -0,0 +1,77 @@
1
+ <template>
2
+ <FSEntityField
3
+ v-bind="$attrs"
4
+ :filters="$props.filters"
5
+ :singleSelect="$props.singleEntity"
6
+ :entityType="$props.entityType"
7
+ :modelValue="$props.entitiesIds"
8
+ @update:entityType="onChangeEntityType"
9
+ @update:modelValue="$emit('update:entitiesIds', $event)"
10
+ @update="$emit('update', { entityType: $event.entityType, entitiesIds: $event.modelValue })"
11
+ />
12
+ </template>
13
+
14
+ <script lang="ts">
15
+ import { defineComponent, type PropType, ref } from "vue";
16
+
17
+ import { EntityType } from "@dative-gpi/foundation-shared-domain/enums";
18
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
19
+
20
+ import { type DeviceOrganisationFilters, type GroupFilters, type LocationFilters, type ModelFilters } from "@dative-gpi/foundation-core-domain/models";
21
+
22
+ import FSEntityField from "./FSEntityField.vue";
23
+
24
+ export default defineComponent({
25
+ name: "FSSelectEntitiesField",
26
+ components: {
27
+ FSEntityField
28
+ },
29
+ props: {
30
+ singleEntity: {
31
+ type: Boolean,
32
+ required: false,
33
+ default: false
34
+ },
35
+ entityType: {
36
+ type: Number as PropType<EntityType>,
37
+ required: false,
38
+ default: EntityType.Device
39
+ },
40
+ entitiesFilters: {
41
+ type: String as PropType<string | null>,
42
+ required: false,
43
+ default: null
44
+ },
45
+ entitiesIds: {
46
+ type: Array as PropType<string[]>,
47
+ required: false,
48
+ default: () => []
49
+ },
50
+ filters: {
51
+ type: Object as PropType<DeviceOrganisationFilters | LocationFilters | GroupFilters | ModelFilters>,
52
+ required: false,
53
+ default: null
54
+ }
55
+ },
56
+ emits: ["update:entityType", "update:entitiesIds", "update"],
57
+ setup(props, { emit }) {
58
+ const dialog = ref(false);
59
+
60
+ const onChangeEntityType = (value: EntityType): void => {
61
+ emit("update:entityType", value);
62
+ emit("update:entitiesIds", []);
63
+ emit("update", {
64
+ entityType: value,
65
+ entitiesIds: []
66
+ });
67
+ };
68
+
69
+ return {
70
+ EntityType,
71
+ ColorEnum,
72
+ dialog,
73
+ onChangeEntityType
74
+ };
75
+ }
76
+ });
77
+ </script>
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "url": "https://github.com/Dative-GPI/foundation-shared-ui.git"
5
5
  },
6
6
  "sideEffects": false,
7
- "version": "1.1.24-unit-formatter-3",
7
+ "version": "1.1.24-widget-2",
8
8
  "description": "",
9
9
  "publishConfig": {
10
10
  "access": "public"
@@ -13,11 +13,11 @@
13
13
  "author": "",
14
14
  "license": "ISC",
15
15
  "dependencies": {
16
- "@dative-gpi/foundation-core-domain": "1.1.24-unit-formatter-3",
17
- "@dative-gpi/foundation-core-services": "1.1.24-unit-formatter-3",
18
- "@dative-gpi/foundation-shared-components": "1.1.24-unit-formatter-3",
19
- "@dative-gpi/foundation-shared-domain": "1.1.24-unit-formatter-3",
20
- "@dative-gpi/foundation-shared-services": "1.1.24-unit-formatter-3"
16
+ "@dative-gpi/foundation-core-domain": "1.1.24-widget-2",
17
+ "@dative-gpi/foundation-core-services": "1.1.24-widget-2",
18
+ "@dative-gpi/foundation-shared-components": "1.1.24-widget-2",
19
+ "@dative-gpi/foundation-shared-domain": "1.1.24-widget-2",
20
+ "@dative-gpi/foundation-shared-services": "1.1.24-widget-2"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "@dative-gpi/bones-ui": "^1.0.0",
@@ -29,5 +29,5 @@
29
29
  "sass": "1.71.1",
30
30
  "sass-loader": "13.3.2"
31
31
  },
32
- "gitHead": "a33172a3ef389d50731c54d3f6628e716d62f421"
32
+ "gitHead": "e3b64258974077d06ddad77bc4133e4e5aa08c31"
33
33
  }