Skip to content

Commit

Permalink
update code to match comments
Browse files Browse the repository at this point in the history
  • Loading branch information
P4l0m4 committed Jul 11, 2024
1 parent cb225aa commit 5966365
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@
<slot />
<ul class="legends">
<UiLegend
v-for="(segment, index) in segments"
v-for="(legendSegment, index) in legendSegments"
:key="index"
:color="segment.color"
:value="segment.value"
:unit="segment.unit"
:tooltip="segment.tooltip"
:color="legendSegment.color"
:value="legendSegment.value"
:unit="legendSegment.unit"
:tooltip="legendSegment.tooltip"
>
{{ segment.label }}
{{ legendSegment.label }}
</UiLegend>
</ul>
</div>
</div>
</template>

<script setup lang="ts">
import type { DonutSegment } from '@core/types/donut-chart.type'
import type { LegendColor } from '@core/types/ui-legend.type'
import DonutChart from '@core/components/DonutChart.vue'
import UiLegend from '@core/components/UiLegend.vue'
import type { DonutSegmentColor } from '@core/types/donut-chart.type'
import type { LegendColor } from '@core/types/legend.type'
import type { IconDefinition } from '@fortawesome/fontawesome-common-types'
import { computed } from 'vue'
Expand All @@ -32,7 +32,7 @@ const props = defineProps<{
label: string
value: number
unit?: string
color: LegendColor
color: DonutSegmentColor
tooltip?: string
}[]
icon?: IconDefinition
Expand All @@ -43,26 +43,22 @@ defineSlots<{
default: () => void
}>()
const donutSegments = computed(() => {
if (props?.segments.length === 0) {
return []
}
return props.segments
.filter(segment => segment.color !== 'dark-blue')
.map(segment => {
let color
if (segment.color === 'disabled' || segment.color === 'default') {
color = 'unknown'
} else {
color = segment.color
}
const donutSegments = computed(() =>
props.segments.map(segment => ({
value: segment.value,
color: segment.color,
}))
)
return {
value: segment.value,
color,
}
}) as DonutSegment[]
})
const legendSegments = computed(() =>
props.segments.map(segment => ({
label: segment.label,
value: segment.value,
unit: segment.unit,
color: segment.color === 'unknown' ? 'disabled' : (segment.color as LegendColor),
tooltip: segment.tooltip,
}))
)
</script>

<style lang="postcss" scoped>
Expand Down
4 changes: 2 additions & 2 deletions @xen-orchestra/web-core/lib/types/donut-chart.type.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export type DonutColor = 'success' | 'warning' | 'error' | 'unknown'
export type DonutSegmentColor = 'success' | 'warning' | 'error' | 'unknown'
export type DonutSegment = {
value: number
color: DonutColor
color: DonutSegmentColor
}

0 comments on commit 5966365

Please sign in to comment.