Added item increment buttons

This commit is contained in:
Stefan Zermatten
2015-05-18 13:17:40 +02:00
parent ae416458b5
commit 679292373c
5 changed files with 59 additions and 10 deletions

View File

@@ -10,6 +10,7 @@ Schemas.Item = new SimpleSchema({
value: {type: Number, min: 0, defaultValue: 0, decimal: true}, value: {type: Number, min: 0, defaultValue: 0, decimal: true},
enabled: {type: Boolean, defaultValue: false}, enabled: {type: Boolean, defaultValue: false},
requiresAttunement: {type: Boolean, defaultValue: false}, requiresAttunement: {type: Boolean, defaultValue: false},
"settings.showIncrement": {type: Boolean, defaultValue: false},
color: { color: {
type: String, type: String,
allowedValues: _.pluck(colorOptions, "key"), allowedValues: _.pluck(colorOptions, "key"),

View File

@@ -121,11 +121,24 @@
<template name="inventoryItem"> <template name="inventoryItem">
<div class="item-slot"> <div class="item-slot">
<paper-item class="item inventoryItem {{hidden}}" noink <div class="item {{hidden}} inventoryItem"
hero-id="main" {{detailHero}} hero-id="main" {{detailHero}}
layout horizontal layout horizontal center
draggable="true"> draggable="true">
{{#if ne1 quantity}}{{quantity}}&nbsp;{{/if}}{{pluralName}} <div flex class="itemName">
</paper-item> {{#if ne1 quantity}}{{quantity}}&nbsp;{{/if}}{{pluralName}}
</div>
{{#if settings.showIncrement}}
<div class="incrementButtons">
<paper-icon-button class="addItemQuantity"
icon="add"
style="margin-right: -8px"></paper-icon-button>
<paper-icon-button class="subItemQuantity"
disabled={{lt1 quantity}}
icon="remove"
style="margin-right: -8px"></paper-icon-button>
</div>
{{/if}}
</div>
</div> </div>
</template> </template>

View File

@@ -145,6 +145,17 @@ Template.inventory.events({
heroId: itemId, heroId: itemId,
}); });
}, },
"tap .incrementButtons": function(event) {
event.stopPropagation();
},
"tap .addItemQuantity": function(event) {
var itemId = this._id;
Items.update(itemId, {$set: {quantity: this.quantity + 1}});
},
"tap .subItemQuantity": function(event) {
var itemId = this._id;
Items.update(itemId, {$set: {quantity: this.quantity - 1}});
},
"tap .itemContainer .top": function(event){ "tap .itemContainer .top": function(event){
GlobalUI.setDetail({ GlobalUI.setDetail({
template: "containerDialog", template: "containerDialog",
@@ -167,6 +178,9 @@ Template.inventoryItem.helpers({
ne1: function(num){ ne1: function(num){
return num !== 1; return num !== 1;
}, },
lt1: function(num) {
return num < 1;
},
hidden: function(){ hidden: function(){
return Session.equals("inventory.dragItemId", this._id) ? "hidden" : null; return Session.equals("inventory.dragItemId", this._id) ? "hidden" : null;
}, },

View File

@@ -19,7 +19,7 @@
</div> </div>
{{#if description}} {{#if description}}
<hr class="vertMargin"> <hr class="vertMargin">
<div class="prewrap">{{description}}</div> <div class="pre-wrap">{{evaluateString charId description}}</div>
{{/if}} {{/if}}
{{> effectsViewList charId=charId parentId=_id}} {{> effectsViewList charId=charId parentId=_id}}
{{> attacksViewList charId=charId parentId=_id}} {{> attacksViewList charId=charId parentId=_id}}
@@ -28,10 +28,25 @@
<template name="itemEdit"> <template name="itemEdit">
<paper-input class="fullwidth" id="itemNameInput" label="Name" floatinglabel value={{name}}></paper-input> <paper-input class="fullwidth" id="itemNameInput" label="Name" floatinglabel value={{name}}></paper-input>
<div layout horizontal wrap> <div layout horizontal wrap>
<paper-input-decorator label="Quantity" floatinglabel> <paper-input-decorator label="Quantity"
<input id="quantityInput" type="number" value={{quantity}}> floatinglabel
style="width: 80px">
<input id="quantityInput"
type="number"
value={{quantity}}>
</paper-input-decorator> </paper-input-decorator>
{{# if ne1 quantity}}<paper-input flex id="itemPluralInput" label="Plural Name" floatinglabel value={{plural}}></paper-input>{{/if}} {{# if ne1 quantity}}
<paper-input flex id="itemPluralInput"
label="Plural Name"
floatinglabel
value={{plural}}></paper-input>
{{/if}}
</div>
<div center horizontal layout>
<div class="padded">Show increment buttons</div>
<paper-checkbox id="incrementCheckbox"
checked={{settings.showIncrement}}>
</paper-checkbox>
</div> </div>
<hr class="vertMargin"> <hr class="vertMargin">
@@ -53,7 +68,9 @@
</div> </div>
<div center horizontal layout> <div center horizontal layout>
<div class="padded">Requires Attunement</div> <div class="padded">Requires Attunement</div>
<paper-checkbox id="attunementCheckbox" checked={{requiresAttunement}}></paper-checkbox> <paper-checkbox id="attunementCheckbox"
checked={{requiresAttunement}}>
</paper-checkbox>
</div> </div>
</div> </div>

View File

@@ -50,7 +50,7 @@ Template.itemEdit.onRendered(function(){
Template.itemEdit.helpers({ Template.itemEdit.helpers({
ne1: function(num){ ne1: function(num){
return num != 1; return num != 1;
} },
}); });
Template.itemEdit.events({ Template.itemEdit.events({
@@ -87,6 +87,10 @@ Template.itemEdit.events({
Meteor.call("unequipItem", this._id, this.charId); Meteor.call("unequipItem", this._id, this.charId);
} }
}, },
"change #incrementCheckbox": function(event){
var value = event.currentTarget.checked;
Items.update(this._id, {$set: {"settings.showIncrement": value}});
},
"change #attunementCheckbox": function(event){ "change #attunementCheckbox": function(event){
var value = event.currentTarget.checked; var value = event.currentTarget.checked;
Items.update(this._id, {$set: {requiresAttunement: value}}); Items.update(this._id, {$set: {requiresAttunement: value}});