Added dialog to choose temporary hitpoints

This commit is contained in:
Thaum
2015-03-25 12:54:22 +00:00
parent cb2d1ab958
commit 6515f397fe
7 changed files with 52 additions and 13 deletions

View File

@@ -2,7 +2,7 @@
<template name="splitStackDialog"> <template name="splitStackDialog">
<div style="width: 300px; height: 110px;"> <div style="width: 300px; height: 110px;">
<paper-input-decorator label="Quantity" floatinglabel> <paper-input-decorator label="Quantity" floatinglabel>
<input id="quantityInput" type="number" value={{quantity}}> <input autoFocus id="quantityInput" type="number" value={{quantity}}>
</paper-input-decorator> </paper-input-decorator>
<paper-button id="oneButton"> One </paper-button> <paper-button id="oneButton"> One </paper-button>
<paper-button id="halfButton"> Half </paper-button> <paper-button id="halfButton"> Half </paper-button>

View File

@@ -0,0 +1,13 @@
<!-- data just needs charId -->
<template name="addTHPDialog">
<div style="width: 200px; height: 100px;">
<paper-input-decorator label="Quantity" floatinglabel>
<input autoFocus id="quantityInput" type="number" value="10">
</paper-input-decorator>
<div layout horizontal justify-center>
Delete when zero <paper-checkbox id="deleteWhenZeroCheckbox" checked style="margin-left: 8px;"></paper-checkbox>
</div>
</div>
<paper-button id="cancelButton" affirmative> Cancel </paper-button>
<paper-button id="addButton" affirmative> Add </paper-button>
</template>

View File

@@ -0,0 +1,15 @@
Template.addTHPDialog.events({
'tap #addButton': function(event, instance){
console.log({
charId: this.charId,
maximum: +instance.find('#quantityInput').value,
deleteOnZero: !!instance.find('#deleteWhenZeroCheckbox').checked
});
TemporaryHitPoints.insert({
charId: this.charId,
maximum: +instance.find('#quantityInput').value,
deleteOnZero: !!instance.find('#deleteWhenZeroCheckbox').checked
});
}
});

View File

@@ -1,5 +1,6 @@
.healthCard paper-slider{ .healthCard paper-slider{
width: 100%; width: 100%;
margin-right: 8px;
} }
/*Slider knob color*/ /*Slider knob color*/

View File

@@ -12,12 +12,18 @@
role="slider" role="slider"
></paper-slider> ></paper-slider>
{{#each tempHitPoints}} {{#each tempHitPoints}}
<paper-slider class="tempHitPointSlider" <div layout horizontal>
value={{left}} <paper-slider class="tempHitPointSlider"
max={{maximum}} value={{left}}
editable pin max={{maximum}}
role="slider" editable pin
></paper-slider> role="slider"
flex
></paper-slider>
{{#unless left}}{{#unless deleteOnZero}}
<paper-icon-button class="deleteTHP" icon="delete"></paper-icon-button>
{{/unless}}{{/unless}}
</div>
{{/each}} {{/each}}
<div class="caption"> <div class="caption">
{{#if multipliers.immunities.length}} <div>Immune: {{#each multipliers.immunities}} {{name}} {{/each}}</div>{{/if}} {{#if multipliers.immunities.length}} <div>Immune: {{#each multipliers.immunities}} {{name}} {{/each}}</div>{{/if}}

View File

@@ -18,10 +18,10 @@ Template.healthCard.helpers({
else return "radio-button-off"; else return "radio-button-off";
}, },
failDisabled: function(num){ failDisabled: function(num){
return !(num === this.fail || num - 1 === this.fail) return !(num === this.fail || num - 1 === this.fail);
}, },
passDisabled: function(num){ passDisabled: function(num){
return !(num === this.pass || num - 1 === this.pass) return !(num === this.pass || num - 1 === this.pass);
}, },
dead: function(){ dead: function(){
return this.fail >= 3; return this.fail >= 3;
@@ -50,7 +50,7 @@ Template.healthCard.helpers({
"weaknesses": multipliers["2"] || [] "weaknesses": multipliers["2"] || []
}; };
} }
}) });
Template.healthCard.events({ Template.healthCard.events({
"change #hitPointSlider": function(event){ "change #hitPointSlider": function(event){
@@ -63,9 +63,14 @@ Template.healthCard.events({
var used = this.maximum - value; var used = this.maximum - value;
TemporaryHitPoints.update(this._id, {$set: {"used": used}}); TemporaryHitPoints.update(this._id, {$set: {"used": used}});
}, },
"tap .deleteTHP": function(event){
TemporaryHitPoints.remove(this._id);
},
"tap #addTempHP": function(event){ "tap #addTempHP": function(event){
var max = prompt("Add temporary hitpoints", "10"); GlobalUI.showDialog({
TemporaryHitPoints.insert({charId: this._id, maximum: max, used: 0}); template: "addTHPDialog",
data: {charId: this._id}
});
}, },
"tap .failBubble": function(event){ "tap .failBubble": function(event){
if(event.currentTarget.disabled) return; if(event.currentTarget.disabled) return;

View File

@@ -70,7 +70,6 @@
<paper-action-dialog global-dialog backdrop <paper-action-dialog global-dialog backdrop
transition="core-transition-center" transition="core-transition-center"
class="scrolling {{#if globalDialogFullOnMobile}}full-on-mobile{{/if}}" class="scrolling {{#if globalDialogFullOnMobile}}full-on-mobile{{/if}}"
autoclosedisabled
heading={{globalDialogHeader}} heading={{globalDialogHeader}}
layered> layered>
{{#if globalDialogTemplate}} {{#if globalDialogTemplate}}