flaschengeist-frontend/src/plugins/pricelist/components/BuildManual/BuildManualVolume.vue

43 lines
1.1 KiB
Vue
Raw Normal View History

2021-03-30 13:40:02 +00:00
<template>
<q-carousel
v-model="volume"
transition-prev="slide-right"
transition-next="slide-left"
animated
swipeable
control-color="primary"
navigation
arrows
>
<q-carousel-slide v-for="volume in volumes" :key="volume.id" :name="volume.id">
<build-manual-volume-part :volume="volume" />
</q-carousel-slide>
</q-carousel>
</template>
<script lang="ts">
import { defineComponent, PropType, ref, computed } from 'vue';
2021-03-30 20:16:12 +00:00
import { DrinkPriceVolume } from '../../store';
2021-03-30 13:40:02 +00:00
import BuildManualVolumePart from './BuildManualVolumePart.vue';
export default defineComponent({
name: 'BuildManualVolume',
components: { BuildManualVolumePart },
props: {
volumes: {
type: Array as PropType<Array<DrinkPriceVolume>>,
required: true,
},
},
setup(props) {
const volume = ref(props.volumes[0].id);
const options = computed(() => {
let ret: Array<{ label: number; value: number }> = [];
props.volumes.forEach((volume: DrinkPriceVolume) => {
ret.push({ label: volume.id, value: volume.id });
});
return ret;
});
return { volume, options };
},
});
</script>