From e136127e4c857bf520f7d3ca4a4b8ba56e926676 Mon Sep 17 00:00:00 2001 From: Tako Date: Tue, 13 Jun 2023 13:00:45 +0000 Subject: [PATCH] remember pairlist collapsed state --- src/components/ftbot/PairlistConfigItem.vue | 16 +++++++--------- src/components/ftbot/PairlistConfigurator.vue | 13 +------------ src/stores/pairlistConfig.ts | 4 ++++ src/types/pairlists.ts | 1 + 4 files changed, 13 insertions(+), 21 deletions(-) diff --git a/src/components/ftbot/PairlistConfigItem.vue b/src/components/ftbot/PairlistConfigItem.vue index db8c8532..b6d29d97 100644 --- a/src/components/ftbot/PairlistConfigItem.vue +++ b/src/components/ftbot/PairlistConfigItem.vue @@ -26,22 +26,22 @@ @click="pairlistStore.removeFromConfig(index)" /> - + (); -const showParameters = ref(false); - const pairlist = defineModel({ required: true }); const hasParameters = computed(() => Object.keys(pairlist.value.params).length > 0); function toggleVisible() { if (hasParameters.value) { - showParameters.value = !showParameters.value; + pairlist.value.showParameters = !pairlist.value.showParameters; } } diff --git a/src/components/ftbot/PairlistConfigurator.vue b/src/components/ftbot/PairlistConfigurator.vue index d5be8a7d..f368c805 100644 --- a/src/components/ftbot/PairlistConfigurator.vue +++ b/src/components/ftbot/PairlistConfigurator.vue @@ -58,7 +58,7 @@ :class="{ empty: configEmpty }" > (null); const availablePairlistsEl = ref(null); const selectedView = ref<'Config' | 'Results'>('Config'); -// v-for updates with sorting, deleting and adding items seem to get wonky without unique keys for every item -const pairlistsComp = computed(() => - pairlistStore.config.pairlists.map((p) => { - if (p.id) { - return p; - } else { - return { id: Date.now().toString(36) + Math.random().toString(36).substring(2), ...p }; - } - }), -); - const configEmpty = computed(() => { return pairlistStore.config.pairlists.length == 0; }); diff --git a/src/stores/pairlistConfig.ts b/src/stores/pairlistConfig.ts index a77946e7..23898730 100644 --- a/src/stores/pairlistConfig.ts +++ b/src/stores/pairlistConfig.ts @@ -62,6 +62,10 @@ export const usePairlistConfigStore = defineStore( function addToConfig(pairlist: Pairlist, index: number) { pairlist = structuredClone(toRaw(pairlist)); + pairlist.showParameters = false; + if (!pairlist.id) { + pairlist.id = Date.now().toString(36) + Math.random().toString(36).substring(2); + } for (const param in pairlist.params) { pairlist.params[param].value = isNotUndefined(pairlist.params[param].default) ? pairlist.params[param].default diff --git a/src/types/pairlists.ts b/src/types/pairlists.ts index a4308557..786653ac 100644 --- a/src/types/pairlists.ts +++ b/src/types/pairlists.ts @@ -15,6 +15,7 @@ export interface Pairlist { is_pairlist_generator: boolean; name: string; description: string; + showParameters: boolean; params: Record; }