mealie/frontend/components/global/InputQuantity.vue
Hayden 92cf97e401
Feature/shopping lists second try (#927)
* generate types

* use generated types

* ui updates

* init button link for common styles

* add links

* setup label views

* add delete confirmation

* reset when not saved

* link label to foods and auto set when adding to shopping list

* generate types

* use inheritence to manage exception handling

* fix schema generation and add test for open_api generation

* add header to api docs

* move list consilidation to service

* split list and list items controller

* shopping list/list item tests - PARTIAL

* enable recipe add/remove in shopping lists

* generate types

* linting

* init global utility components

* update types and add list item api

* fix import cycle and database error

* add container and border classes

* new recipe list component

* fix tests

* breakout item editor

* refactor item editor

* update bulk actions

* update input / color contrast

* type generation

* refactor controller dependencies

* include food/unit editor

* remove console.logs

* fix and update type generation

* fix incorrect type for column

* fix postgres error

* fix delete by variable

* auto remove refs

* fix typo
2022-01-16 15:24:24 -09:00

64 lines
No EOL
1.1 KiB
Vue

<template>
<div class="d-flex align-center" style="max-width: 60px">
<v-text-field
v-model.number="quantity"
hide-details
label="Qty"
:min="min"
:max="max"
type="number"
class="rounded-xl"
small
text
>
</v-text-field>
</div>
</template>
<script lang="ts">
import { computed, defineComponent } from "@nuxtjs/composition-api";
export default defineComponent({
name: "VInputNumber",
props: {
label: {
type: String,
default: "Qty",
},
min: {
type: Number,
default: 0,
},
max: {
type: Number,
default: 9999,
},
rules: {
type: Array,
default: () => [],
},
step: {
type: Number,
default: 1,
},
value: {
type: Number,
default: 0,
},
},
setup(props, context) {
const quantity = computed({
get: () => {
return Number(props.value);
},
set: (val) => {
context.emit("input", val);
},
});
return {
quantity,
};
},
});
</script>