Inventory items can now be equipped
This commit is contained in:
20
app/imports/ui/properties/treeNodeViews/DefaultTreeNode.vue
Normal file
20
app/imports/ui/properties/treeNodeViews/DefaultTreeNode.vue
Normal file
@@ -0,0 +1,20 @@
|
||||
<template lang="html">
|
||||
<div class="layout row align-center justify-start">
|
||||
<property-icon
|
||||
class="mr-2"
|
||||
:type="model.type"
|
||||
:class="selected && 'primary--text'"
|
||||
/>
|
||||
<div class="text-no-wrap text-truncate">
|
||||
{{ title }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import treeNodeViewMixin from '/imports/ui/properties/treeNodeViews/treeNodeViewMixin.js';
|
||||
|
||||
export default {
|
||||
mixins: [treeNodeViewMixin],
|
||||
}
|
||||
</script>
|
||||
27
app/imports/ui/properties/treeNodeViews/ItemTreeNode.vue
Normal file
27
app/imports/ui/properties/treeNodeViews/ItemTreeNode.vue
Normal file
@@ -0,0 +1,27 @@
|
||||
<template lang="html">
|
||||
<div class="layout row align-center justify-start">
|
||||
<v-icon
|
||||
class="mr-2"
|
||||
:class="selected && 'primary--text'"
|
||||
>
|
||||
{{ model.equipped ? 'check_box' : 'check_box_outline_blank' }}
|
||||
</v-icon>
|
||||
<div
|
||||
class="text-no-wrap text-truncate"
|
||||
:class="model.equipped && 'body-2'"
|
||||
>
|
||||
{{ title }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import treeNodeViewMixin from '/imports/ui/properties/treeNodeViews/treeNodeViewMixin.js';
|
||||
|
||||
export default {
|
||||
mixins: [treeNodeViewMixin],
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="css" scoped>
|
||||
</style>
|
||||
@@ -0,0 +1,6 @@
|
||||
import DefaultTreeNode from '/imports/ui/properties/treeNodeViews/DefaultTreeNode.vue';
|
||||
import ItemTreeNode from '/imports/ui/properties/treeNodeViews/ItemTreeNode.vue';
|
||||
export default {
|
||||
default: DefaultTreeNode,
|
||||
item: ItemTreeNode,
|
||||
}
|
||||
24
app/imports/ui/properties/treeNodeViews/treeNodeViewMixin.js
Normal file
24
app/imports/ui/properties/treeNodeViews/treeNodeViewMixin.js
Normal file
@@ -0,0 +1,24 @@
|
||||
import PROPERTIES from '/imports/constants/PROPERTIES.js';
|
||||
import PropertyIcon from '/imports/ui/properties/shared/PropertyIcon.vue';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
PropertyIcon,
|
||||
},
|
||||
props: {
|
||||
model: {
|
||||
type: Object,
|
||||
default: () => ({}),
|
||||
},
|
||||
selected: Boolean,
|
||||
},
|
||||
computed: {
|
||||
title(){
|
||||
let model = this.model;
|
||||
if (!model) return;
|
||||
if (model.name) return model.name;
|
||||
let prop = PROPERTIES[model.type]
|
||||
return prop && prop.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user