rename combining ledger to combined
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
import {computed, ref} from "vue";
|
||||
import {storeToRefs} from "pinia";
|
||||
import {isCombining, Ledger, LedgerType, LedgerTypes, useLedgersStore} from "./ledger";
|
||||
import {isCombined, Ledger, LedgerType, LedgerTypes, useLedgersStore} from "./ledger";
|
||||
import {Modal} from "@/components";
|
||||
import LedgerLabel from "./LedgerLabel.vue";
|
||||
import {PlusIcon, TrashIcon} from '@heroicons/vue/24/outline';
|
||||
@@ -15,7 +15,7 @@ const props = defineProps<Props>();
|
||||
|
||||
const ledgersStore = useLedgersStore();
|
||||
const {ledgers} = storeToRefs(ledgersStore);
|
||||
const {findById, findAllById, createMain, createCombining, updateMain, updateCombining} = ledgersStore;
|
||||
const {findById, findAllById, createMain, createCombined, updateMain, updateCombined} = ledgersStore;
|
||||
|
||||
const modalOpen = ref<boolean>(false);
|
||||
|
||||
@@ -39,7 +39,7 @@ const open = () => {
|
||||
if (ledger) {
|
||||
type.value = ledger.type;
|
||||
name.value = ledger.name;
|
||||
members.value = isCombining(ledger) ? findAllById(ledger.memberLedgerIds) : [];
|
||||
members.value = isCombined(ledger) ? findAllById(ledger.memberLedgerIds) : [];
|
||||
} else {
|
||||
type.value = LedgerTypes.Main;
|
||||
name.value = "";
|
||||
@@ -52,7 +52,7 @@ const canSave = computed(() => name.value.trim().length > 0);
|
||||
const isCreating = computed(() => props.ledgerId)
|
||||
const title = computed(() => {
|
||||
if (isCreating.value) {
|
||||
return `Creating ${type.value === LedgerTypes.Main ? 'Main' : 'Combining'} Ledger`
|
||||
return `Creating ${type.value === LedgerTypes.Main ? 'Main' : 'Combined'} Ledger`
|
||||
}
|
||||
return `Updating ${name.value}`
|
||||
})
|
||||
@@ -61,7 +61,7 @@ const create = () => {
|
||||
if (type.value === LedgerTypes.Main) {
|
||||
createMain({name: name.value})
|
||||
} else {
|
||||
createCombining({name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
|
||||
createCombined({name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ const update = () => {
|
||||
if (type.value === LedgerTypes.Main) {
|
||||
updateMain(props.ledgerId, {name: name.value})
|
||||
} else {
|
||||
updateCombining(props.ledgerId, {name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
|
||||
updateCombined(props.ledgerId, {name: name.value, memberLedgerIds: members.value.map(l => l.ledgerId)})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ defineExpose({ open });
|
||||
<button class="switch" :class="{active: type === LedgerTypes.Main}" @click="type = LedgerTypes.Main">Main</button>
|
||||
</div>
|
||||
<div class="switch flex bg-slate-600 rounded-e-md p-1">
|
||||
<button class="switch" :class="{active: type === LedgerTypes.Combining}" @click="type = LedgerTypes.Combining">Combining</button>
|
||||
<button class="switch" :class="{active: type === LedgerTypes.Combined}" @click="type = LedgerTypes.Combined">Combined</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="m-4">
|
||||
@@ -110,7 +110,7 @@ defineExpose({ open });
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="type === LedgerTypes.Combining" class="ms-4 mb-4">
|
||||
<div v-if="type === LedgerTypes.Combined" class="ms-4 mb-4">
|
||||
Member Ledgers:
|
||||
<div v-for="ledger in members" :key="ledger.ledgerId" class="flex">
|
||||
<LedgerLabel class="flex grow mb-2" :ledger="ledger" />
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
|
||||
import {isCombining, Ledger} from "@/ledger/ledger.ts";
|
||||
import {isCombined, Ledger} from "@/ledger/ledger.ts";
|
||||
import {FolderOpenIcon} from '@heroicons/vue/24/outline';
|
||||
|
||||
interface Props {
|
||||
@@ -12,7 +12,7 @@ const props = defineProps<Props>();
|
||||
|
||||
<template>
|
||||
<div class="flex">
|
||||
<FolderOpenIcon v-if="isCombining(ledger)" class="w-4 me-1" />
|
||||
<FolderOpenIcon v-if="isCombined(ledger)" class="w-4 me-1" />
|
||||
<div v-else class="w-4 me-1"/>
|
||||
<span>{{ ledger.name }}</span>
|
||||
</div>
|
||||
|
||||
+11
-11
@@ -1,12 +1,12 @@
|
||||
import {
|
||||
CombiningLedgerResponse,
|
||||
CombiningLedgerResponseTypeEnum,
|
||||
CreateCombiningLedgerRequest,
|
||||
CombinedLedgerResponse,
|
||||
CombinedLedgerResponseTypeEnum,
|
||||
CreateCombinedLedgerRequest,
|
||||
CreateMainLedgerRequest,
|
||||
LedgerResponseTypeEnum,
|
||||
MainLedgerResponse,
|
||||
MainLedgerResponseTypeEnum,
|
||||
UpdateCombiningLedgerRequest,
|
||||
UpdateCombinedLedgerRequest,
|
||||
UpdateMainLedgerRequest
|
||||
} from "@/generated/mammon";
|
||||
import {defineStore} from "pinia";
|
||||
@@ -17,14 +17,14 @@ export const LedgerTypes = LedgerResponseTypeEnum;
|
||||
|
||||
export type LedgerType = LedgerResponseTypeEnum;
|
||||
export type MainLedger = MainLedgerResponse & {type: MainLedgerResponseTypeEnum}
|
||||
export type CombiningLedger = CombiningLedgerResponse & {type: CombiningLedgerResponseTypeEnum}
|
||||
export type Ledger = MainLedger | CombiningLedger;
|
||||
export type CombinedLedger = CombinedLedgerResponse & {type: CombinedLedgerResponseTypeEnum}
|
||||
export type Ledger = MainLedger | CombinedLedger;
|
||||
|
||||
export const isMain = (ledger: Ledger): ledger is MainLedger => {
|
||||
return ledger.type === LedgerTypes.Main;
|
||||
}
|
||||
export const isCombining = (ledger: Ledger): ledger is CombiningLedger => {
|
||||
return ledger.type === LedgerTypes.Combining;
|
||||
export const isCombined = (ledger: Ledger): ledger is CombinedLedger => {
|
||||
return ledger.type === LedgerTypes.Combined;
|
||||
}
|
||||
|
||||
export const useLedgersStore = defineStore('ledgers', () => {
|
||||
@@ -50,14 +50,14 @@ export const useLedgersStore = defineStore('ledgers', () => {
|
||||
const findAllById = (ledgerIds: string[]): Ledger[] => ledgerIds.map(findById).filter((x): x is Ledger => x !== undefined)
|
||||
|
||||
const createMain = (ledger: CreateMainLedgerRequest) => ledgerControllerApi.createMainLedger(ledger).then(response => addLedger(response.data as Ledger));
|
||||
const createCombining = (ledger: CreateCombiningLedgerRequest) => ledgerControllerApi.createCombiningLedger(ledger).then(response => addLedger(response.data as Ledger));
|
||||
const createCombined = (ledger: CreateCombinedLedgerRequest) => ledgerControllerApi.createCombinedLedger(ledger).then(response => addLedger(response.data as Ledger));
|
||||
const updateMain = (ledgerId: string, ledger: UpdateMainLedgerRequest) => ledgerControllerApi.updateMainLedger(ledgerId, ledger).then(response => replaceLedger(response.data as Ledger));
|
||||
const updateCombining = (ledgerId: string, ledger: UpdateCombiningLedgerRequest) => ledgerControllerApi.updateCombiningLedger(ledgerId, ledger).then(response => replaceLedger(response.data as Ledger));
|
||||
const updateCombined = (ledgerId: string, ledger: UpdateCombinedLedgerRequest) => ledgerControllerApi.updateCombinedLedger(ledgerId, ledger).then(response => replaceLedger(response.data as Ledger));
|
||||
|
||||
const refresh = () => ledgerControllerApi.findAll().then(response => ledgers.value = response.data as Ledger[]);
|
||||
|
||||
refresh();
|
||||
|
||||
return {ledgers, findById, findAllById, createMain, createCombining, updateMain, updateCombining, refresh};
|
||||
return {ledgers, findById, findAllById, createMain, createCombined, updateMain, updateCombined, refresh};
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user