1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-07-23 07:09:41 +02:00

feat: Add Categories, Tags and Tools to Manage Data Page (#2737)

* add categories

* add tags

* 🧹

* 🧹 l18n

* add tools

* remove broken on Hand for tools

* fix for tools onHand not updating from frontend

* tools: re-add "on Hand"

* remove itemized icon from create button

* change combine icon

* add divider to BaseOverflowButton

* divide and conquer

---------

Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
This commit is contained in:
Kuchenpirat 2023-11-21 15:31:05 +01:00 committed by GitHub
parent 08656ec09a
commit 63ac21bce2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 605 additions and 24 deletions

View file

@ -14,33 +14,42 @@
<!-- Model -->
<v-list v-if="mode === MODES.model" dense>
<v-list-item-group v-model="itemGroup">
<v-list-item v-for="(item, index) in items" :key="index" @click="setValue(item)">
<v-list-item-icon v-if="item.icon">
<v-icon>{{ item.icon }}</v-icon>
</v-list-item-icon>
<v-list-item-title>{{ item.text }}</v-list-item-title>
</v-list-item>
<template v-for="(item, index) in items">
<v-list-item :key="index" @click="setValue(item)">
<v-list-item-icon v-if="item.icon">
<v-icon>{{ item.icon }}</v-icon>
</v-list-item-icon>
<v-list-item-title>{{ item.text }}</v-list-item-title>
<v-divider v-if="item.divider" :key="`divider-${index}`" class="my-1" ></v-divider>
</v-list-item>
</template>
</v-list-item-group>
</v-list>
<!-- Links -->
<v-list v-else-if="mode === MODES.link" dense>
<v-list-item-group v-model="itemGroup">
<v-list-item v-for="(item, index) in items" :key="index" :to="item.to">
<template v-for="(item, index) in items">
<v-list-item :key="index" :to="item.to">
<v-list-item-icon v-if="item.icon">
<v-icon>{{ item.icon }}</v-icon>
</v-list-item-icon>
<v-list-item-title>{{ item.text }}</v-list-item-title>
</v-list-item>
</v-list-item>
<v-divider v-if="item.divider" :key="`divider-${index}`" class="my-1" ></v-divider>
</template>
</v-list-item-group>
</v-list>
<!-- Event -->
<v-list v-else-if="mode === MODES.event" dense>
<v-list-item v-for="(item, index) in items" :key="index" @click="$emit(item.event)">
<v-list-item-icon v-if="item.icon">
<v-icon>{{ item.icon }}</v-icon>
</v-list-item-icon>
<v-list-item-title>{{ item.text }}</v-list-item-title>
</v-list-item>
<template v-for="(item, index) in items">
<v-list-item :key="index" @click="$emit(item.event)">
<v-list-item-icon v-if="item.icon">
<v-icon>{{ item.icon }}</v-icon>
</v-list-item-icon>
<v-list-item-title>{{ item.text }}</v-list-item-title>
<v-divider v-if="item.divider" :key="`divider-${index}`" class="my-1" ></v-divider>
</v-list-item>
</template>
</v-list>
</v-menu>
</template>
@ -64,6 +73,7 @@ export interface MenuItem {
to?: string;
value?: string;
event?: string;
divider?: boolean;
}
export default defineComponent({