Files
DiceCloud/app/imports/ui/components/AbilityListTile.Story.vue
2019-01-30 14:10:46 +02:00

117 lines
2.2 KiB
Vue

<template lang="html">
<v-list>
<template v-for="(ability, index) in abilities">
<v-divider v-if="index !== 0"/>
<ability-list-tile
:key="ability.name"
:id="`${_uid}-${ability.name}`"
v-bind="ability"
@click="click({ability, elementId: `${_uid}-${ability.name}`})"
/>
</template>
</v-list>
</template>
<script>
import AbilityListTile from '/imports/ui/components/AbilityListTile.vue';
import store from "/imports/ui/vuexStore.js";
export default {
data(){ return{
abilities: [
{
name: "Strength",
value: 8,
mod: -1,
effects: [
{
name: "Ghost Touch",
operation: "add",
value: -2,
enabled: true,
_id: Random.id(),
},{
name: "Some Base",
operation: "base",
value: 15,
enabled: true,
_id: Random.id(),
},{
name: "Some Multiply",
operation: "mul",
value: 1.5,
enabled: true,
_id: Random.id(),
},{
name: "Some Min",
operation: "min",
value: 8,
enabled: true,
_id: Random.id(),
},{
name: "Some Advantage",
operation: "advantage",
value: 1,
enabled: true,
_id: Random.id(),
},{
name: "Some Disadvantage",
operation: "disadvantage",
value: 1,
enabled: true,
_id: Random.id(),
},{
name: "Some Passive",
operation: "passiveAdd",
value: -2,
calculation: "3-5",
_id: Random.id(),
},{
name: "Some Conditional",
operation: "conditional",
calculation: "+8 Only when asleep",
enabled: true,
_id: Random.id(),
},
]
}, {
name: "Dexterity",
value: 18,
mod: 4,
}, {
name: "Constitution",
value: 12,
mod: 1,
}, {
name: "Intelligence",
value: 20,
mod: 5,
}, {
name: "Wisdom",
value: 6,
mod: -2,
}, {
name: "Charisma",
value: 28,
mod: 9,
},
]
}},
components: {
AbilityListTile,
},
methods: {
click({ability, elementId}){
store.commit("pushDialogStack", {
component: "attribute-dialog",
elementId,
data: ability,
});
},
},
};
</script>
<style lang="css" scoped>
</style>