frequi_origin/src/components/ftbot/PairlistConfigItem.vue

68 lines
1.6 KiB
Vue
Raw Normal View History

2023-05-23 18:27:33 +00:00
<template>
<b-card no-body class="mb-2">
<template #header>
<b-row align-v="center" class="text-start">
2023-05-23 18:27:33 +00:00
<b-col>
<b-row align-v="center">
2023-05-23 18:43:16 +00:00
<b-col cols="auto"><i-mdi-reorder-horizontal class="handle me-2 fs-4" /></b-col>
2023-05-23 18:27:33 +00:00
<b-col
><b-button variant="link" @click="visible = !visible">
<h6 class="mb-0">{{ pairlist.name }}</h6>
</b-button></b-col
>
</b-row>
</b-col>
<b-col cols="auto">
<b-button size="sm" @click="emit('remove', index)">x</b-button>
</b-col>
</b-row>
</template>
<b-card-body :class="{ hidden: !visible }">
<b-collapse v-model="visible">
<PairlistConfigParameter
v-for="(parameter, key) in pairlist.params"
:key="key"
v-model="pairlist.params[key].value"
:param="parameter"
/>
</b-collapse>
</b-card-body>
</b-card>
</template>
<script setup lang="ts">
import { Pairlist } from '@/types';
import { computed, ref } from 'vue';
import PairlistConfigParameter from '../general/PairlistConfigParameter.vue';
const props = defineProps<{
modelValue: Pairlist;
index: number;
}>();
const emit = defineEmits(['update:modelValue', 'remove']);
const visible = ref(false);
const pairlist = computed({
get() {
return props.modelValue;
},
set(value: Pairlist) {
emit('update:modelValue', value);
},
});
</script>
<style>
.hidden {
padding: 0;
}
.collapsing {
-webkit-transition: none;
transition: none;
display: none;
}
</style>