Skip to content

Commit 16a29f3

Browse files
committed
Add global trading pair selectors (default | all | none)
1 parent 5c2c45b commit 16a29f3

1 file changed

Lines changed: 21 additions & 5 deletions

File tree

src/routes/strategies/[strategy]/tech-details/analysis/PairsSelector.svelte

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script lang="ts">
2-
import type { ChartPairs } from 'trade-executor/schemas/chart';
2+
import type { ChartPairs, TradingPairs } from 'trade-executor/schemas/chart';
33
import { slide } from 'svelte/transition';
44
import fsm from 'svelte-fsm';
55
import Button from '$lib/components/Button.svelte';
@@ -28,6 +28,10 @@
2828
},
2929
3030
editing: {
31+
select(pairs: TradingPairs) {
32+
provisionalPairIds = pairs.map((p) => p.internal_id!);
33+
},
34+
3135
save() {
3236
onchange?.(provisionalPairIds);
3337
return 'ready';
@@ -63,8 +67,15 @@
6367
<div class="inner">
6468
<header>
6569
<h4>Select pairs</h4>
66-
<Button size="xs" ghost on:click={pairSelector.cancel}>Cancel</Button>
67-
<Button size="xs" on:click={pairSelector.save}>Save</Button>
70+
<div class="button-group">
71+
<Button size="xs" tertiary on:click={() => pairSelector.select(tradingPairs.default_pairs)}>Default</Button>
72+
<Button size="xs" tertiary on:click={() => pairSelector.select(tradingPairs.all_pairs)}>All</Button>
73+
<Button size="xs" tertiary on:click={() => pairSelector.select([])}>None</Button>
74+
</div>
75+
<div class="button-group">
76+
<Button size="xs" ghost on:click={pairSelector.cancel}>Cancel</Button>
77+
<Button size="xs" on:click={pairSelector.save}>Save</Button>
78+
</div>
6879
</header>
6980
<div class="pairs">
7081
{#each tradingPairs.all_pairs as pair (pair.internal_id)}
@@ -144,13 +155,18 @@
144155
145156
header {
146157
display: grid;
147-
grid-template-columns: 1fr auto auto;
148-
gap: 0.5rem;
158+
grid-template-columns: auto 1fr auto;
159+
gap: 1.5rem;
149160
align-items: center;
150161
151162
h4 {
152163
font: var(--f-heading-xs-medium);
153164
}
165+
166+
.button-group {
167+
display: flex;
168+
gap: 0.5rem;
169+
}
154170
}
155171
156172
.pairs {

0 commit comments

Comments
 (0)