From 4c31ab601cd153c26f70d2e1eb141996d8524f6c Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Thu, 28 Sep 2017 13:03:54 +0200 Subject: [PATCH] Improved new user experience and fixed errors on character delete --- rpg-docs/Model/Character/Characters.js | 4 +++- rpg-docs/client/globalHelpers/canEditCharacter.js | 3 ++- .../characterSettings/deleteCharacterConfirmation.js | 6 ++---- rpg-docs/client/views/character/characterSheet.html | 2 +- rpg-docs/client/views/character/characterSheet.js | 6 ++++++ .../views/character/newUserStepper/newUserStepper.css | 2 +- .../client/views/character/stats/statCard/statCard.html | 2 +- rpg-docs/client/views/character/stats/stats.html | 2 +- rpg-docs/client/views/character/stats/stats.js | 7 +++++-- .../public/custom_components/paper-stepper/paper-step.html | 2 +- .../custom_components/paper-stepper/paper-stepper.html | 4 ++-- 11 files changed, 25 insertions(+), 15 deletions(-) diff --git a/rpg-docs/Model/Character/Characters.js b/rpg-docs/Model/Character/Characters.js index 50b7156b..7ba2ac97 100644 --- a/rpg-docs/Model/Character/Characters.js +++ b/rpg-docs/Model/Character/Characters.js @@ -299,6 +299,7 @@ Characters.calculate = { var fieldSelector = {}; fieldSelector[fieldName] = 1; var char = Characters.findOne(charId, {fields: fieldSelector}); + if (!char) return; var field = char[fieldName]; if (field === undefined){ throw new Meteor.Error( @@ -332,6 +333,7 @@ Characters.calculate = { }, attributeValue: memoize(function(charId, attributeName){ var attribute = Characters.calculate.getField(charId, attributeName); + if (!attribute) return; //base value var value = Characters.calculate.attributeBase(charId, attributeName); //plus adjustment @@ -343,6 +345,7 @@ Characters.calculate = { }), skillMod: memoize(preventLoop(function(charId, skillName){ var skill = Characters.calculate.getField(charId, skillName); + if (!skill) return; //get the final value of the ability score var ability = Characters.calculate.attributeValue(charId, skill.ability); @@ -394,7 +397,6 @@ Characters.calculate = { return prof && prof.value || 0; }), passiveSkill: memoize(function(charId, skillName){ - var skill = Characters.calculate.getField(charId, skillName); var mod = +Characters.calculate.skillMod(charId, skillName); var value = 10 + mod; Effects.find( diff --git a/rpg-docs/client/globalHelpers/canEditCharacter.js b/rpg-docs/client/globalHelpers/canEditCharacter.js index 2de1b6d6..57d0ce6f 100644 --- a/rpg-docs/client/globalHelpers/canEditCharacter.js +++ b/rpg-docs/client/globalHelpers/canEditCharacter.js @@ -3,7 +3,8 @@ Template.registerHelper("canEditCharacter", function(charId) { }); canEditCharacter = function(charId) { - var char = Characters.findOne(charId) + var char = Characters.findOne(charId); + if (!char) return false; var userId = Meteor.userId(); return char.owner === userId || _.contains(char.writers, userId); diff --git a/rpg-docs/client/views/character/characterSettings/deleteCharacterConfirmation.js b/rpg-docs/client/views/character/characterSettings/deleteCharacterConfirmation.js index af8a64c2..fda5ba5c 100644 --- a/rpg-docs/client/views/character/characterSettings/deleteCharacterConfirmation.js +++ b/rpg-docs/client/views/character/characterSettings/deleteCharacterConfirmation.js @@ -10,7 +10,7 @@ Template.deleteCharacterConfirmation.helpers({ if (Template.instance().canDelete.get()) { return "background: #d23f31; color: white;"; } - } + }, }); Template.deleteCharacterConfirmation.events({ @@ -20,9 +20,7 @@ Template.deleteCharacterConfirmation.events({ }, "click #deleteButton": function(event, instance) { if (instance.find("#nameInput").value === this.name) { - popDialogStack(); - Router.go("/characterList"); - Characters.remove(this._id); + popDialogStack(true); } }, "click .cancelButton": function(event, instance){ diff --git a/rpg-docs/client/views/character/characterSheet.html b/rpg-docs/client/views/character/characterSheet.html index 3a4262a0..cc4c4d6d 100644 --- a/rpg-docs/client/views/character/characterSheet.html +++ b/rpg-docs/client/views/character/characterSheet.html @@ -1,7 +1,7 @@