Files
habitica/website/client/components/inventory/stable/foodItem.vue
negue 92e4d5cd68 Refactor/market vue (#10601)
* extract inventoryDrawer from market

* show scrollbar only if needed

* extract featuredItemsHeader / pinUtils

* extract pageLayout

* extract layoutSection / filterDropdown - fix sortByNumber

* rollback sortByNumber order-fix

* move equipment lists out of the layout-section (for now)

* refactor sellModal

* extract checkbox

* extract equipment section

* extract category row

* revert scroll - remove sellModal item template

* fix(lint): commas and semis

* Created category item component (#10613)

* extract filter sidebar

* fix gemCount - fix raising the item count if the item wasn't previously owned

* fixes #10659

* remove unneeded method
2018-09-09 12:05:33 +02:00

73 lines
1.4 KiB
Vue

<template lang="pug">
div
.item-wrapper(@click="click($event)", :id="itemId")
.item(:class="{'item-active': active }")
countBadge(
:show="true",
:count="itemCount"
)
span.item-content(
:class="'Pet_Food_'+item.key",
v-drag.food="item.key",
@itemDragEnd="dragend($event)",
@itemDragStart="dragstart($event)"
)
b-popover(
:target="itemId",
triggers="hover",
placement="top",
)
h4.popover-content-title {{ itemName || item.text() }}
div.popover-content-text(v-html="item.notes()")
</template>
<script>
import DragDropDirective from 'client/directives/dragdrop.directive';
import CountBadge from 'client/components/ui/countBadge';
import uuid from 'uuid';
export default {
components: {
CountBadge,
},
directives: {
drag: DragDropDirective,
},
props: {
item: {
type: Object,
},
itemCount: {
type: Number,
},
itemContentClass: {
type: String,
},
itemName: {
type: String,
},
active: {
type: Boolean,
},
},
data () {
return Object.freeze({
itemId: uuid.v4(),
});
},
methods: {
dragend ($event) {
this.$emit('itemDragEnd', $event);
},
dragstart ($event) {
this.$emit('itemDragStart', $event);
},
click ($event) {
this.$emit('itemClick', $event);
},
},
};
</script>