From 8305596373c29924ac03aed9cdc97d03ec2136a3 Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Tue, 26 Feb 2019 14:11:59 +0200 Subject: [PATCH] Added resource cards --- .../api/creature/properties/Attributes.js | 8 +- app/imports/ui/StoryBook.vue | 2 + app/imports/ui/character/StatsTab.vue | 28 ++++++- .../components/attributes/HitDiceListTile.vue | 7 +- .../attributes/ResourceCard.Story.vue | 47 ++++++++++++ .../ui/components/attributes/ResourceCard.vue | 75 +++++++++++++++++++ 6 files changed, 157 insertions(+), 10 deletions(-) create mode 100644 app/imports/ui/components/attributes/ResourceCard.Story.vue create mode 100644 app/imports/ui/components/attributes/ResourceCard.vue diff --git a/app/imports/api/creature/properties/Attributes.js b/app/imports/api/creature/properties/Attributes.js index efc3806a..c181d3f5 100644 --- a/app/imports/api/creature/properties/Attributes.js +++ b/app/imports/api/creature/properties/Attributes.js @@ -209,13 +209,17 @@ const adjustAttribute = new ValidatedMethod({ if (adjustment > 0) adjustment = 0; Attributes.update(_id, {$set: {adjustment}}); } else if (typeof increment === 'number'){ - let remaining = currentAttribute.value + currentAttribute.adjustment; + let remaining = currentAttribute.value + (currentAttribute.adjustment || 0); let adj = currentAttribute.adjustment; // Can't decrease adjustment below remaining value if (-increment > remaining) increment = -remaining; // Can't increase adjustment above zero if (increment > -adj) increment = -adj; - Attributes.update(_id, {$inc: {adjustment: increment}}); + if (typeof currentAttribute.adjustment === 'number'){ + Attributes.update(_id, {$inc: {adjustment: increment}}); + } else { + Attributes.update(_id, {$set: {adjustment: increment}}); + } } } }, diff --git a/app/imports/ui/StoryBook.vue b/app/imports/ui/StoryBook.vue index b2882c0c..8e22f485 100644 --- a/app/imports/ui/StoryBook.vue +++ b/app/imports/ui/StoryBook.vue @@ -51,6 +51,7 @@ import HealthBar from '/imports/ui/components/attributes/HealthBar.Story.vue'; import HitDiceListTile from '/imports/ui/components/attributes/HitDiceListTile.Story.vue'; import IconSearch from '/imports/ui/components/IconSearch.Story.vue'; + import ResourceCard from '/imports/ui/components/attributes/ResourceCard.Story.vue'; import SkillListTile from '/imports/ui/components/skills/SkillListTile.Story.vue'; import SmartInput from '/imports/ui/components/global/SmartInput.Story.vue'; import ToolbarLayout from '/imports/ui/layouts/ToolbarLayout.vue'; @@ -69,6 +70,7 @@ HealthBar, HitDiceListTile, IconSearch, + ResourceCard, SkillListTile, SmartInput, ToolbarLayout, diff --git a/app/imports/ui/character/StatsTab.vue b/app/imports/ui/character/StatsTab.vue index 46523b15..672e30cd 100644 --- a/app/imports/ui/character/StatsTab.vue +++ b/app/imports/ui/character/StatsTab.vue @@ -50,7 +50,7 @@ :data-id="hitDie._id" :key="hitDice._id" @click="clickAttribute({_id: hitDie._id})" - @change="e => hitDiceChange(hitDie._id, e)" + @change="e => incrementChange(hitDie._id, e)" /> @@ -87,6 +87,19 @@ +
+ +
+ @@ -82,7 +77,7 @@ export default { height: 100%; } .buttons > .v-btn { - margin: -2px; + margin: 0; } .hit-dice-list-tile.hover { background: #f5f5f5 !important; diff --git a/app/imports/ui/components/attributes/ResourceCard.Story.vue b/app/imports/ui/components/attributes/ResourceCard.Story.vue new file mode 100644 index 00000000..b5070640 --- /dev/null +++ b/app/imports/ui/components/attributes/ResourceCard.Story.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/app/imports/ui/components/attributes/ResourceCard.vue b/app/imports/ui/components/attributes/ResourceCard.vue new file mode 100644 index 00000000..64044104 --- /dev/null +++ b/app/imports/ui/components/attributes/ResourceCard.vue @@ -0,0 +1,75 @@ + + + + +