@dative-gpi/foundation-shared-components 1.0.108 → 1.0.109

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.
@@ -23,7 +23,7 @@
23
23
  >
24
24
  <FSSpan
25
25
  class="fs-agenda-header-text"
26
- font="text-h3"
26
+ font="text-button"
27
27
  >
28
28
  {{ epochToMonthYearOnlyFormat($props.start) }}
29
29
  </FSSpan>
@@ -134,7 +134,7 @@ export default defineComponent({
134
134
  const width = computed(() => {
135
135
  let start = props.start - dayDurationOffset.value;
136
136
  let end = props.end - dayDurationOffset.value;
137
- if(props.variant === 'current') {
137
+ if(props.variant === 'current' && dayEnd.value > props.now) {
138
138
  end = props.now;
139
139
  } else if (props.end > dayEnd.value) {
140
140
  end = dayEnd.value - dayDurationOffset.value;
@@ -3,11 +3,11 @@
3
3
  gap="0"
4
4
  >
5
5
  <FSRow
6
+ :padding="`0 ${paddingRightHours} 0 ${paddingLeftHours}`"
6
7
  class="fs-agenda-hours-row"
7
8
  :wrap="false"
8
9
  gap="0"
9
10
  align="center-center"
10
- :style="style"
11
11
  >
12
12
  <FSRow
13
13
  v-for="hour in hours"
@@ -37,6 +37,7 @@
37
37
  </FSRow>
38
38
  </FSRow>
39
39
  <FSRow
40
+ :padding="`0 ${paddingRightMarkers} 0 ${paddingLeftMarkers}`"
40
41
  class="fs-agenda-hours-row-markers"
41
42
  :wrap="false"
42
43
  gap="0"
@@ -88,8 +89,12 @@ export default defineComponent({
88
89
  required: false,
89
90
  default: false,
90
91
  },
92
+ firstColumnWidth: {
93
+ type: String,
94
+ required: true,
95
+ },
91
96
  },
92
- setup() {
97
+ setup(props) {
93
98
  const { getColors } = useColors();
94
99
  const { isMobileSized } = useBreakpoints();
95
100
 
@@ -108,12 +113,27 @@ export default defineComponent({
108
113
  return Array.from({ length: hoursToShow.value }, (_, i) => i * (24 / hoursToShow.value));
109
114
  });
110
115
 
111
- const style = computed((): StyleValue => {
112
- return {
113
- '--fs-agenda-hours-row-transform': `translateX(calc(-${2.4 * 24 / hoursToShow.value}%))`,
114
- }
116
+ const paddingLeftHours = computed(() => {
117
+ // ((100% - ${props.firstColumnWidth}) / ${hoursToShow.value}) is the width of each hour slot (2 hour if 12 hours are shown, 1 hour if 24 hours are shown)
118
+ // 0.5 * ((100% - ${props.firstColumnWidth}) / ${hoursToShow.value}) is half of the width of each hour slot
119
+ // So we have : ${props.firstColumnWidth} - Half of the width of each hour slot
120
+ return `calc(${props.firstColumnWidth} - 0.5 * ((100% - ${props.firstColumnWidth}) / ${hoursToShow.value}))`;
121
+ });
122
+
123
+ const paddingRightHours = computed(() => {
124
+ return `calc(0.5 * ((100% - ${props.firstColumnWidth}) / ${hoursToShow.value}))`;
115
125
  });
116
126
 
127
+ const paddingLeftMarkers = computed(() => {
128
+ return `calc(${props.firstColumnWidth} - 0.5 * ((100% - ${props.firstColumnWidth}) / 24))`;
129
+ });
130
+
131
+ const paddingRightMarkers = computed(() => {
132
+ return `calc(0.5 * ((100% - ${props.firstColumnWidth}) / 24))`;
133
+ });
134
+
135
+
136
+
117
137
  const getMarkerStyle = (isNowHour: boolean): StyleValue => {
118
138
  if(isNowHour) {
119
139
  return {
@@ -129,8 +149,12 @@ export default defineComponent({
129
149
 
130
150
  return {
131
151
  hours,
132
- style,
133
152
  fontColor,
153
+ hoursToShow,
154
+ paddingLeftHours,
155
+ paddingRightHours,
156
+ paddingLeftMarkers,
157
+ paddingRightMarkers,
134
158
  getMarkerStyle,
135
159
  to2Digits
136
160
  };
@@ -131,7 +131,7 @@ export default defineComponent({
131
131
  const height = computed(() => {
132
132
  let start = props.start - dayDurationOffset.value;
133
133
  let end = props.end - dayDurationOffset.value;
134
- if (props.variant === 'current') {
134
+ if (props.variant === 'current' && dayEnd.value > props.now) {
135
135
  end = props.now;
136
136
  } else if (props.end > dayEnd.value) {
137
137
  end = dayEnd.value - dayDurationOffset.value;
@@ -2,7 +2,6 @@
2
2
  <FSRow
3
3
  class="fs-day-agenda"
4
4
  height="100%"
5
- padding="8px 0 0 0"
6
5
  :wrap="false"
7
6
  gap="0px"
8
7
  :style="style"
@@ -9,13 +9,8 @@
9
9
  gap="0"
10
10
  :wrap="false"
11
11
  >
12
- <FSCol
13
- height="100%"
14
- :width="$props.firstColumnWidth"
15
- >
16
- </FSCol>
17
-
18
12
  <FSAgendaHoursRow
13
+ :firstColumnWidth="$props.firstColumnWidth"
19
14
  :displayNow="$props.nowIsInSelectedRange"
20
15
  :modelValue="nowHour"
21
16
  />
@@ -9,13 +9,8 @@
9
9
  gap="0"
10
10
  :wrap="false"
11
11
  >
12
- <FSCol
13
- height="100%"
14
- :width="$props.firstColumnWidth"
15
- >
16
- </FSCol>
17
-
18
12
  <FSAgendaHoursRow
13
+ :firstColumnWidth="$props.firstColumnWidth"
19
14
  :displayNow="$props.nowIsInSelectedRange"
20
15
  :modelValue="nowHour"
21
16
  />
@@ -42,7 +42,7 @@
42
42
  <script lang="ts">
43
43
  import { computed, defineComponent, type PropType } from "vue";
44
44
 
45
- import { DateRules, IconRules, NumberRules, TextRules, TimeRules, TimeStepRules } from "../../models";
45
+ import { DateRules, IconRules, NumberRules, TextRules, TimeRules, TimeStepRules, AutocompleteRules } from "../../models";
46
46
  import { useMagicFieldProvider } from "../../composables";
47
47
  import { MagicFieldType } from "../../models/magicFields";
48
48
 
@@ -104,6 +104,8 @@ export default defineComponent({
104
104
  return [TimeRules.required()];
105
105
  case MagicFieldType.TimeStepField:
106
106
  return [TimeStepRules.required()];
107
+ case MagicFieldType.PlotPerField:
108
+ return [AutocompleteRules.required()];
107
109
  }
108
110
  return [];
109
111
  });
@@ -36,7 +36,8 @@ export default defineComponent({
36
36
  const dashboardVariableTypes = computed((): { id: DashboardVariableType; label: string }[] => ([
37
37
  { id: DashboardVariableType.Number, label: $tr("ui.dashboard-variable-type.number", "Number") },
38
38
  { id: DashboardVariableType.String, label: $tr("ui.dashboard-variable-type.string", "String") },
39
- { id: DashboardVariableType.TimeStep, label: $tr("ui.dashboard-variable-type.time-step", "Time step") }
39
+ { id: DashboardVariableType.TimeStep, label: $tr("ui.dashboard-variable-type.time-step", "Time step")},
40
+ { id: DashboardVariableType.PlotPer, label: $tr("ui.dashboard-variable-type.plot-per", "Plot per")}
40
41
  ]));
41
42
 
42
43
  return {
@@ -0,0 +1,52 @@
1
+ <template>
2
+ <FSAutocompleteField
3
+ :label="label ?? $tr('ui.common.aggregation-type','Aggregation')"
4
+ :items="aggregationTypeItems"
5
+ :modelValue="modelValue"
6
+ @update:modelValue="$emit('update:modelValue', $event)"
7
+ v-bind="$attrs"
8
+ />
9
+ </template>
10
+
11
+ <script lang="ts">
12
+ import { computed, defineComponent, type PropType } from "vue";
13
+
14
+ import { AggregationType } from "@dative-gpi/foundation-shared-domain/enums";
15
+
16
+ import { getEnumEntries } from "@dative-gpi/foundation-shared-domain/tools";
17
+ import { aggregationTypeLabel } from "@dative-gpi/foundation-shared-components/tools";
18
+
19
+ import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
20
+
21
+ export default defineComponent({
22
+ components: {
23
+ FSAutocompleteField
24
+ },
25
+ props: {
26
+ modelValue : {
27
+ type: Number as PropType<AggregationType>,
28
+ required: false
29
+ },
30
+ label : {
31
+ type: String,
32
+ required: false
33
+ }
34
+ },
35
+ emits: ['update:modelValue'],
36
+ setup() {
37
+
38
+ const aggregationTypeItems = computed(()=>{
39
+ return getEnumEntries(AggregationType).filter(f=>f.value != AggregationType.None).map((f)=>{
40
+ return {
41
+ id: f.value,
42
+ label: aggregationTypeLabel(f.value)
43
+ }
44
+ })
45
+ });
46
+
47
+ return {
48
+ aggregationTypeItems
49
+ }
50
+ }
51
+ })
52
+ </script>
@@ -0,0 +1,49 @@
1
+ <template>
2
+ <FSToggleSet
3
+ :hideHeader="true"
4
+ :values="axisTypeItems"
5
+ :modelValue="modelValue"
6
+ @update:modelValue="$emit('update:modelValue', $event)"
7
+ v-bind="$attrs"
8
+ />
9
+ </template>
10
+
11
+ <script lang="ts">
12
+ import { computed, defineComponent, type PropType } from "vue";
13
+
14
+ import {AxisType} from "@dative-gpi/foundation-shared-domain/enums";
15
+
16
+ import { getEnumEntries } from "@dative-gpi/foundation-shared-domain/tools";
17
+ import { axisTypeLabel } from "@dative-gpi/foundation-shared-components/tools";
18
+
19
+ import FSToggleSet from "@dative-gpi/foundation-shared-components/components/FSToggleSet.vue";
20
+
21
+
22
+ export default defineComponent({
23
+ components: {
24
+ FSToggleSet
25
+ },
26
+ props: {
27
+ modelValue: {
28
+ type: Number as PropType<AxisType>,
29
+ required: false
30
+ }
31
+ },
32
+ emits: ['update:modelValue'],
33
+ setup() {
34
+
35
+ const axisTypeItems = computed(()=>{
36
+ return getEnumEntries(AxisType).map((f)=>{
37
+ return {
38
+ id: f.value,
39
+ label: axisTypeLabel(f.value)
40
+ }
41
+ })
42
+ });
43
+
44
+ return {
45
+ axisTypeItems
46
+ }
47
+ }
48
+ })
49
+ </script>
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <FSAutocompleteField
3
+ :label="label ?? $tr('ui.common.display-as','Display as')"
4
+ :items="displayAsItems"
5
+ :modelValue="modelValue"
6
+ @update:modelValue="$emit('update:modelValue', $event)"
7
+ v-bind="$attrs"
8
+ />
9
+ </template>
10
+
11
+ <script lang="ts">
12
+ import { computed, defineComponent, type PropType } from "vue";
13
+
14
+ import {DisplayAs} from "@dative-gpi/foundation-shared-domain/enums";
15
+
16
+ import { getEnumEntries } from "@dative-gpi/foundation-shared-domain/tools";
17
+ import { displayAsLabel } from "@dative-gpi/foundation-shared-components/tools";
18
+
19
+ import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
20
+
21
+ export default defineComponent({
22
+ components: {
23
+ FSAutocompleteField
24
+ },
25
+ props: {
26
+ modelValue: {
27
+ type: Number as PropType<DisplayAs>,
28
+ required: false
29
+ },
30
+ label: {
31
+ type: String,
32
+ required: false
33
+ }
34
+
35
+ },
36
+ emits: ['update:modelValue'],
37
+ setup() {
38
+
39
+ const displayAsItems = computed(()=>{
40
+ return getEnumEntries(DisplayAs).filter(f=>f.value != DisplayAs.None).map((f)=>{
41
+ return {
42
+ id: f.value,
43
+ label: displayAsLabel(f.value)
44
+ }
45
+ })
46
+ });
47
+
48
+ return {
49
+ displayAsItems,
50
+ }
51
+ }
52
+ })
53
+ </script>
@@ -0,0 +1,54 @@
1
+ <template>
2
+ <FSAutocompleteField
3
+ :label="label ?? $tr('ui.common.filter-type','Filter type')"
4
+ :toggleSet="true"
5
+ :items="filterTypeItems"
6
+ :modelValue="modelValue"
7
+ @update:modelValue="$emit('update:modelValue', $event)"
8
+ v-bind="$attrs"
9
+ />
10
+ </template>
11
+
12
+ <script lang="ts">
13
+ import { computed, defineComponent, type PropType } from "vue";
14
+
15
+ import {FilterType} from "@dative-gpi/foundation-shared-domain/enums";
16
+
17
+ import { getEnumEntries } from "@dative-gpi/foundation-shared-domain/tools";
18
+ import { filterTypeLabel } from "@dative-gpi/foundation-shared-components/tools";
19
+
20
+ import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
21
+
22
+ export default defineComponent({
23
+ components: {
24
+ FSAutocompleteField
25
+ },
26
+ props: {
27
+ modelValue: {
28
+ type: Number as PropType<FilterType>,
29
+ required: false,
30
+ default : FilterType.None
31
+ },
32
+ label: {
33
+ type: String,
34
+ required: false
35
+ }
36
+ },
37
+ emits: ['update:modelValue'],
38
+ setup() {
39
+
40
+ const filterTypeItems = computed(()=>{
41
+ return getEnumEntries(FilterType).filter(f=>f.value != FilterType.None).map((f)=>{
42
+ return {
43
+ id: f.value,
44
+ label: filterTypeLabel(f.value)
45
+ }
46
+ })
47
+ });
48
+
49
+ return {
50
+ filterTypeItems
51
+ }
52
+ }
53
+ })
54
+ </script>
@@ -0,0 +1,54 @@
1
+ <template>
2
+ <FSAutocompleteField
3
+ :label="label ?? $tr('ui.common.heat-rule','Heat rule')"
4
+ :items="heatmapRuleItems"
5
+ :modelValue="modelValue"
6
+ @update:modelValue="$emit('update:modelValue', $event)"
7
+ v-bind="$attrs"
8
+ />
9
+ </template>
10
+
11
+ <script lang="ts">
12
+ import { computed, defineComponent, type PropType } from "vue";
13
+
14
+ import {HeatmapRule} from "@dative-gpi/foundation-shared-domain/enums";
15
+
16
+ import { getEnumEntries } from "@dative-gpi/foundation-shared-domain/tools";
17
+ import { heatmapRuleLabel } from "@dative-gpi/foundation-shared-components/tools";
18
+
19
+ import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
20
+
21
+
22
+ export default defineComponent({
23
+ components: {
24
+ FSAutocompleteField
25
+ },
26
+ props: {
27
+ modelValue: {
28
+ type: Number as PropType<HeatmapRule>,
29
+ required: false
30
+ },
31
+ label: {
32
+ type: String,
33
+ required: false
34
+ }
35
+
36
+ },
37
+ emits: ['update:modelValue'],
38
+ setup() {
39
+
40
+ const heatmapRuleItems = computed(()=>{
41
+ return getEnumEntries(HeatmapRule).filter(f=>f.value != HeatmapRule.None).map((f)=>{
42
+ return {
43
+ id: f.value,
44
+ label: heatmapRuleLabel(f.value)
45
+ }
46
+ })
47
+ });
48
+
49
+ return {
50
+ heatmapRuleItems
51
+ }
52
+ }
53
+ })
54
+ </script>
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <FSAutocompleteField
3
+ :label="label ?? $tr('ui.common.operation-on','Operation on')"
4
+ :items="operationOnItems"
5
+ :modelValue="modelValue"
6
+ @update:modelValue="$emit('update:modelValue', $event)"
7
+ v-bind="$attrs"
8
+ />
9
+ </template>
10
+
11
+ <script lang="ts">
12
+ import { computed, defineComponent, type PropType } from "vue";
13
+
14
+ import {OperationOn} from "@dative-gpi/foundation-shared-domain/enums";
15
+
16
+ import { getEnumEntries } from "@dative-gpi/foundation-shared-domain/tools";
17
+ import { operationOnLabel} from "@dative-gpi/foundation-shared-components/tools";
18
+
19
+ import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
20
+
21
+
22
+ export default defineComponent({
23
+ components: {
24
+ FSAutocompleteField
25
+ },
26
+ props: {
27
+ modelValue: {
28
+ type: Number as PropType<OperationOn>,
29
+ required: false
30
+ },
31
+ label : {
32
+ type: String,
33
+ required: false
34
+ }
35
+ },
36
+ emits: ['update:modelValue'],
37
+ setup() {
38
+
39
+ const operationOnItems = computed(()=>{
40
+ return getEnumEntries(OperationOn).filter(f=>f.value != OperationOn.None).map((f)=>{
41
+ return {
42
+ id: f.value,
43
+ label: operationOnLabel(f.value)
44
+ }
45
+ })
46
+ });
47
+
48
+ return {
49
+ operationOnItems
50
+ }
51
+ }
52
+ })
53
+ </script>
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <FSAutocompleteField
3
+ :label="label ?? $tr('ui.common.planning-type','Planning type')"
4
+ :items="planningTypeItems"
5
+ :modelValue="modelValue"
6
+ @update:modelValue="$emit('update:modelValue', $event)"
7
+ v-bind="$attrs"
8
+ />
9
+ </template>
10
+
11
+ <script lang="ts">
12
+ import { computed, defineComponent, type PropType } from "vue";
13
+
14
+ import {PlanningType} from "@dative-gpi/foundation-shared-domain/enums";
15
+
16
+ import { getEnumEntries } from "@dative-gpi/foundation-shared-domain/tools";
17
+ import { planningTypeLabel } from "@dative-gpi/foundation-shared-components/tools";
18
+
19
+ import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
20
+
21
+
22
+ export default defineComponent({
23
+ components: {
24
+ FSAutocompleteField
25
+ },
26
+ props: {
27
+ modelValue: {
28
+ type: Number as PropType<PlanningType>,
29
+ required: false
30
+ },
31
+ label: {
32
+ type: String,
33
+ required: false
34
+ }
35
+ },
36
+ emits: ['update:modelValue'],
37
+ setup() {
38
+
39
+ const planningTypeItems = computed(()=>{
40
+ return getEnumEntries(PlanningType).filter(f=>f.value != PlanningType.None).map((f)=>{
41
+ return {
42
+ id: f.value,
43
+ label: planningTypeLabel(f.value)
44
+ }
45
+ })
46
+ });
47
+
48
+ return {
49
+ planningTypeItems
50
+ }
51
+ }
52
+ })
53
+ </script>
@@ -0,0 +1,52 @@
1
+ <template>
2
+ <FSAutocompleteField
3
+ :label="label ?? $tr('ui.common.plot-per','Plot per')"
4
+ :items="plotPerItems"
5
+ :modelValue="modelValue"
6
+ @update:modelValue="$emit('update:modelValue', $event)"
7
+ v-bind="$attrs"
8
+ />
9
+ </template>
10
+
11
+ <script lang="ts">
12
+ import { computed, defineComponent, type PropType } from "vue";
13
+
14
+ import {PlotPer} from "@dative-gpi/foundation-shared-domain/enums";
15
+
16
+ import { getEnumEntries } from "@dative-gpi/foundation-shared-domain/tools";
17
+ import { plotPerLabel } from "@dative-gpi/foundation-shared-components/tools";
18
+
19
+ import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
20
+
21
+ export default defineComponent({
22
+ components: {
23
+ FSAutocompleteField
24
+ },
25
+ props: {
26
+ modelValue: {
27
+ type: Number as PropType<PlotPer>,
28
+ required: false
29
+ },
30
+ label: {
31
+ type: String,
32
+ required: false
33
+ }
34
+ },
35
+ emits: ['update:modelValue'],
36
+ setup() {
37
+
38
+ const plotPerItems = computed(()=>{
39
+ return getEnumEntries(PlotPer).filter(f=>f.value != PlotPer.None).map((f)=>{
40
+ return {
41
+ id: f.value,
42
+ label: plotPerLabel(f.value)
43
+ }
44
+ })
45
+ });
46
+
47
+ return {
48
+ plotPerItems
49
+ }
50
+ }
51
+ })
52
+ </script>
@@ -0,0 +1,59 @@
1
+ <template>
2
+ <FSSelectField
3
+ :items="entityTypes"
4
+ :clearable="false"
5
+ :modelValue="$props.modelValue"
6
+ @update:modelValue="$emit('update:modelValue', $event)"
7
+ v-bind="$attrs"
8
+ />
9
+ </template>
10
+
11
+ <script lang="ts">
12
+ import type { PropType} from "vue";
13
+ import { computed, defineComponent } from "vue";
14
+
15
+ import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
16
+ import { EntityType } from "@dative-gpi/foundation-shared-domain/enums";
17
+
18
+ import FSSelectField from "@dative-gpi/foundation-shared-components/components/fields/FSSelectField.vue";
19
+
20
+ export default defineComponent({
21
+ name: "FSSelectEntityType",
22
+ components: {
23
+ FSSelectField
24
+ },
25
+ props: {
26
+ modelValue: {
27
+ type: Number as PropType<EntityType>,
28
+ required: false,
29
+ default: EntityType.Device
30
+ },
31
+ useNone: {
32
+ type: Boolean,
33
+ required: false,
34
+ default: false
35
+ }
36
+ },
37
+ emits: ["update:modelValue"],
38
+ setup(props) {
39
+ const { $tr } = useTranslationsProvider();
40
+
41
+ const entityTypes = computed((): { id: EntityType; label: string }[] => {
42
+ const items = [
43
+ { id: EntityType.Model, label: $tr("ui.entity-type.models", "Models") },
44
+ { id: EntityType.Device, label: $tr("ui.entity-type.devices", "Devices") },
45
+ { id: EntityType.Group, label: $tr("ui.entity-type.groups", "Groups") },
46
+ { id: EntityType.Location, label: $tr("ui.entity-type.locations", "Locations") }
47
+ ];
48
+ if (props.useNone) {
49
+ items.unshift({ id: EntityType.None, label: $tr("ui.entity-type.none", "None") });
50
+ }
51
+ return items;
52
+ });
53
+
54
+ return {
55
+ entityTypes
56
+ };
57
+ }
58
+ });
59
+ </script>
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <FSAutocompleteField
3
+ :label="label ?? $tr('ui.common.serie-type','Serie type')"
4
+ :items="serieTypeItems"
5
+ :modelValue="modelValue"
6
+ @update:modelValue="$emit('update:modelValue', $event)"
7
+ v-bind="$attrs"
8
+ />
9
+ </template>
10
+
11
+ <script lang="ts">
12
+ import { computed, defineComponent, type PropType } from "vue";
13
+
14
+ import {SerieType} from "@dative-gpi/foundation-shared-domain/enums";
15
+
16
+ import { getEnumEntries } from "@dative-gpi/foundation-shared-domain/tools";
17
+ import { serieTypeLabel } from "@dative-gpi/foundation-shared-components/tools";
18
+
19
+ import FSAutocompleteField from "@dative-gpi/foundation-shared-components/components/fields/FSAutocompleteField.vue";
20
+
21
+
22
+ export default defineComponent({
23
+ components: {
24
+ FSAutocompleteField
25
+ },
26
+ props: {
27
+ modelValue: {
28
+ type: Number as PropType<SerieType>,
29
+ required: false
30
+ },
31
+ label: {
32
+ type: String,
33
+ required: false
34
+ }
35
+ },
36
+ emits: ['update:modelValue'],
37
+ setup() {
38
+
39
+ const serieTypeItems = computed(()=>{
40
+ return getEnumEntries(SerieType).filter(f=>f.value != SerieType.None).map((f)=>{
41
+ return {
42
+ id: f.value,
43
+ label: serieTypeLabel(f.value)
44
+ }
45
+ })
46
+ });
47
+
48
+ return {
49
+ serieTypeItems
50
+ }
51
+ }
52
+ })
53
+ </script>
@@ -10,6 +10,7 @@ const FIELDS = {
10
10
  [MagicFieldType.IconField] : defineAsyncComponent(() => import("../components/fields/FSIconField.vue")),
11
11
  [MagicFieldType.TimeField] : defineAsyncComponent(() => import("../components/fields/FSTimeField.vue")),
12
12
  [MagicFieldType.TimeStepField] : defineAsyncComponent(() => import("../components/fields/FSTimeStepField.vue")),
13
+ [MagicFieldType.PlotPerField] : defineAsyncComponent(() => import("../components/selects/chartSelectors/FSPlotPerSelector.vue")),
13
14
  };
14
15
 
15
16
  export const useMagicFieldProvider = () => {
@@ -7,4 +7,5 @@ export enum MagicFieldType {
7
7
  IconField = 5,
8
8
  TimeField = 6,
9
9
  TimeStepField = 7,
10
+ PlotPerField = 8,
10
11
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dative-gpi/foundation-shared-components",
3
3
  "sideEffects": false,
4
- "version": "1.0.108",
4
+ "version": "1.0.109",
5
5
  "description": "",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -10,8 +10,8 @@
10
10
  "author": "",
11
11
  "license": "ISC",
12
12
  "dependencies": {
13
- "@dative-gpi/foundation-shared-domain": "1.0.108",
14
- "@dative-gpi/foundation-shared-services": "1.0.108"
13
+ "@dative-gpi/foundation-shared-domain": "1.0.109",
14
+ "@dative-gpi/foundation-shared-services": "1.0.109"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "@dative-gpi/bones-ui": "^1.0.0",
@@ -35,5 +35,5 @@
35
35
  "sass": "1.71.1",
36
36
  "sass-loader": "13.3.2"
37
37
  },
38
- "gitHead": "f5ec01bfa6108f5140a55273e0abfc6b9b2e69bc"
38
+ "gitHead": "4c6fede4689135f15a5af1ed120a816c1aed111c"
39
39
  }
@@ -1,11 +1,3 @@
1
- .fs-agenda-hours-row {
2
- transform: var(--fs-agenda-hours-row-transform);
3
- }
4
-
5
- .fs-agenda-hours-row-markers {
6
- transform: translateX(calc(-2.4% + 1px)); // 1px is the border width
7
- }
8
-
9
1
  .fs-agenda-hours-row-marker {
10
2
  height: 4px;
11
3
  border-right: solid 1px var(--fs-agenda-hours-row-marker-color);