rename rule to rule clause

This commit is contained in:
Sirttas
2026-05-28 10:53:46 +02:00
parent 9acbc101e1
commit b40b58f866
4 changed files with 15 additions and 15 deletions
+37
View File
@@ -0,0 +1,37 @@
<script setup lang="ts">
import {RuleClauseResponse} from "@/generated/mammon";
import {computed} from "vue";
import {isMain, Ledger, LedgerSelect, systemLedger, useLedgersStore} from "@/ledger";
import {ratesTypes} from "@/rules/rules.ts";
const rule = defineModel<RuleClauseResponse>();
const ledgersStore = useLedgersStore();
const {findById} = ledgersStore;
const ledgers = computed<Ledger[]>(() => [systemLedger, ...ledgersStore.ledgers.filter(isMain)]);
const ledgerComputed = (key: 'fromLedgerId' | 'toLedgerId') => computed<Ledger>({
get: () => rule.value && rule.value[key] ? findById(rule.value[key]) ?? systemLedger : systemLedger,
set: value => {
if (value) {
rule.value = {...rule.value, [key]: value.ledgerId.length ? value.ledgerId : undefined}
}
}
})
const fromLedger = ledgerComputed('fromLedgerId')
const toLedger = ledgerComputed('toLedgerId')
</script>
<template>
From:
<LedgerSelect class="me-2 grow" v-model="fromLedger" :ledgers="ledgers" />
To:
<LedgerSelect class="me-2 grow" v-model="toLedger" :ledgers="ledgers" />
At:
<select class="me-2 grow" v-model="rule.rate">
<option v-for="rateType in ratesTypes" :key="rateType.key" :value="rateType.key">{{ rateType.name }}</option>
</select>
</template>