diff --git a/rpg-docs/client/views/character/features/featureDialog/featureDialog.html b/rpg-docs/client/views/character/features/featureDialog/featureDialog.html index 80a89674..0b908852 100644 --- a/rpg-docs/client/views/character/features/featureDialog/featureDialog.html +++ b/rpg-docs/client/views/character/features/featureDialog/featureDialog.html @@ -19,6 +19,20 @@ +
+
+
Limit Uses + + {{#if usesSet}} + + {{/if}} +
+
{{#if effects}}
diff --git a/rpg-docs/client/views/character/features/featureDialog/featureDialog.js b/rpg-docs/client/views/character/features/featureDialog/featureDialog.js index ea418f5c..1e140ad7 100644 --- a/rpg-docs/client/views/character/features/featureDialog/featureDialog.js +++ b/rpg-docs/client/views/character/features/featureDialog/featureDialog.js @@ -40,7 +40,21 @@ Template.featureDialog.events({ "change #featureDescriptionInput": function(event){ var description = Template.instance().find("#featureDescriptionInput").value; Features.update(this._id, {$set: {description: description}}); - } + }, + "change #limitUseCheck": function(event){ + var currentUses = this.uses; + var featureId = this._id; + if( event.target.checked && !_.isString(currentUses) ){ + Features.update(featureId, {$set: {uses: ""}}, {removeEmptyStrings: false}); + } else if (!event.target.checked && _.isString(currentUses)){ + Features.update(featureId, {$unset: {uses: ""}}); + } + }, + "change #usesInput, input #quantityInput": function(event){ + var value = event.target.value; + var featureId = this._id; + Features.update(featureId, {$set: {uses: value}}); + }, }); Template.featureDialog.helpers({ @@ -50,5 +64,8 @@ Template.featureDialog.helpers({ effects: function(){ var cursor = Effects.find({sourceId: this._id, type: "feature"}) return cursor; + }, + usesSet: function(){ + return _.isString(this.uses); } }); \ No newline at end of file diff --git a/rpg-docs/client/views/character/features/features.css b/rpg-docs/client/views/character/features/features.css index 9a1e5ae9..ebe517c0 100644 --- a/rpg-docs/client/views/character/features/features.css +++ b/rpg-docs/client/views/character/features/features.css @@ -1,10 +1,5 @@ -paper-shadow.featureCard { - width: 300px; - padding: 16px; - margin: 4px; - background: white; - flex-grow: 1; - border-radius: 2px; +.containerTop { + cursor: pointer; } .features { @@ -19,6 +14,7 @@ paper-shadow.featureCard { margin-bottom: 8px; } -.featureCardBottom { +.containerMain.featureDescription { white-space: pre-line; + padding-bottom: 0; } diff --git a/rpg-docs/client/views/character/features/features.html b/rpg-docs/client/views/character/features/features.html index 94352ccf..b0cf4010 100644 --- a/rpg-docs/client/views/character/features/features.html +++ b/rpg-docs/client/views/character/features/features.html @@ -7,16 +7,24 @@
-
+
{{#each features}} - -
-
-

{{name}}

-
-

{{description}}

- -
+ +
+
{{name}}
+ {{#if hasUses}}
{{usesLeft}}/{{usesValue}}
{{/if}} + +
+
+ {{description}} +
+ {{#if hasUses}} +
+ {{#if usesLeft}}Use{{/if}} + Reset +
+ {{/if}} +
{{/each}}
diff --git a/rpg-docs/client/views/character/features/features.js b/rpg-docs/client/views/character/features/features.js index c15580a2..bbf08475 100644 --- a/rpg-docs/client/views/character/features/features.js +++ b/rpg-docs/client/views/character/features/features.js @@ -2,6 +2,9 @@ Template.features.helpers({ features: function(){ var features = Features.find({charId: this._id}); return features; + }, + hasUses: function(){ + return this.usesValue() > 0; } }); @@ -14,7 +17,7 @@ Template.features.events({ heroId: featureId }) }, - "tap .featureCard": function(event){ + "tap .containerTop": function(event){ var featureId = this._id; var charId = Template.parentData()._id; GlobalUI.setDetail({ @@ -22,5 +25,13 @@ Template.features.events({ data: {featureId: featureId, charId: charId}, heroId: featureId }); + }, + "tap .useFeature": function(event){ + var featureId = this._id; + Features.update(featureId, {$inc: {used: 1}}); + }, + "tap .resetFeature": function(event){ + var featureId = this._id; + Features.update(featureId, {$set: {used: 0}}); } }); \ No newline at end of file