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 @@
+
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}}
-
-
-
-
+
+
+
{{name}}
+ {{#if hasUses}}
{{usesLeft}}/{{usesValue}}
{{/if}}
+
+
+
+ {{description}}
+
+ {{#if hasUses}}
+
+ {{/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