Removed Equipment Slots
This commit is contained in:
@@ -1,18 +1,13 @@
|
||||
Items = new Mongo.Collection('items');
|
||||
|
||||
Schemas.Item = new SimpleSchema({
|
||||
name: {type: String, defaultValue: "New Item", trim: false},
|
||||
name: {type: String, defaultValue: "New Item", trim: false},
|
||||
plural: {type: String, optional: true, trim: false},
|
||||
description:{type: String, optional: true, trim: false},
|
||||
charId: {type: String, regEx: SimpleSchema.RegEx.Id}, //id of owner
|
||||
quantity: {type: Number, min: 0, defaultValue: 1},
|
||||
weight: {type: Number, min: 0, defaultValue: 0, decimal: true},
|
||||
value: {type: Number, min: 0, defaultValue: 0, decimal: true},
|
||||
equipmentSlot: {
|
||||
type: String,
|
||||
defaultValue: "none",
|
||||
allowedValues: ["none", "head", "armor", "arms", "hands", "held", "feet"]
|
||||
},
|
||||
enabled: {type: Boolean, defaultValue: false},
|
||||
color: {type: String, allowedValues: _.pluck(colorOptions, "key"), defaultValue: "q"}
|
||||
});
|
||||
|
||||
@@ -14,29 +14,17 @@
|
||||
</core-menu>
|
||||
</paper-dropdown>
|
||||
</paper-dropdown-menu>
|
||||
<!--Equipment slot dropdown-->
|
||||
<paper-dropdown-menu id="slotDropDown" label="slot">
|
||||
<paper-dropdown layered class="dropdown">
|
||||
<core-menu class="menu" selected={{equipmentSlotIndex}}>
|
||||
{{#each equipmentSlots}}
|
||||
<paper-item class="slotMenuItem" value={{value}}>{{name}}</paper-item>
|
||||
{{/each}}
|
||||
</core-menu>
|
||||
</paper-dropdown>
|
||||
</paper-dropdown-menu>
|
||||
<!--Equipped-->
|
||||
{{#if canEquip}}
|
||||
<div center horizontal layout>
|
||||
<div flex>Equipped</div>
|
||||
<paper-toggle-button id="equippedInput"
|
||||
checked={{equipped}}
|
||||
role="button"
|
||||
aria-pressed="false"
|
||||
tabindex="0"
|
||||
touch-action="pan-y">
|
||||
</paper-toggle-button>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div center horizontal layout>
|
||||
<div flex>Equipped</div>
|
||||
<paper-toggle-button id="equippedInput"
|
||||
checked={{enabled}}
|
||||
role="button"
|
||||
aria-pressed="false"
|
||||
tabindex="0"
|
||||
touch-action="pan-y">
|
||||
</paper-toggle-button>
|
||||
</div>
|
||||
<!--Quantity-->
|
||||
<paper-input-decorator label="Quantity" floatinglabel>
|
||||
<input id="quantityInput" type="number" value={{quantity}}>
|
||||
@@ -55,12 +43,10 @@
|
||||
<textarea id="itemDescriptionInput" placeholder aria-label="Description" value={{description}}></textarea>
|
||||
</paper-autogrow-textarea>
|
||||
</paper-input-decorator>
|
||||
{{#if canEquip}}
|
||||
<!--Effects-->
|
||||
{{> effectsEditList parentId=_id parentCollection="Items" charId=charId type="equipment" enabled=equipped name=name}}
|
||||
<!--Attacks-->
|
||||
{{> attackEditList parentId=_id parentCollection="Items" charId=charId type="equipment" enabled=equipped name=name}}
|
||||
{{/if}}
|
||||
<!--Effects-->
|
||||
{{> effectsEditList parentId=_id parentCollection="Items" charId=charId type="equipment" enabled=equipped name=name}}
|
||||
<!--Attacks-->
|
||||
{{> attackEditList parentId=_id parentCollection="Items" charId=charId type="equipment" enabled=equipped name=name}}
|
||||
{{/baseDialog}}
|
||||
{{/with}}
|
||||
</template>
|
||||
@@ -2,16 +2,6 @@ var getContainers = function(charId){
|
||||
return Containers.find({charId: charId}, {sort: {name: 1, _id: 1}, fields: {name: 1}}).fetch();
|
||||
};
|
||||
|
||||
var equipmentSlots = [
|
||||
{name: "None", value: "none"},
|
||||
{name: "Held", value: "held"},
|
||||
{name: "Armor", value: "armor"},
|
||||
{name: "Head", value: "head"},
|
||||
{name: "Arms", value: "arms"},
|
||||
{name: "Hands", value: "hands"},
|
||||
{name: "Feet", value: "feet"}
|
||||
];
|
||||
|
||||
Template.itemDialog.helpers({
|
||||
item: function(){
|
||||
return Items.findOne(this.itemId);
|
||||
@@ -19,15 +9,6 @@ Template.itemDialog.helpers({
|
||||
containers: function(){
|
||||
return getContainers(this.charId);
|
||||
},
|
||||
equipmentSlots: function(){
|
||||
return equipmentSlots;
|
||||
},
|
||||
equipmentSlotIndex: function(){
|
||||
return _.indexOf(_.pluck(equipmentSlots, "value"), this.equipmentSlot);
|
||||
},
|
||||
canEquip: function(){
|
||||
return this.equipmentSlot !== "none";
|
||||
},
|
||||
ne1: function(num){
|
||||
return num != 1;
|
||||
}
|
||||
@@ -40,11 +21,11 @@ Template.itemDialog.events({
|
||||
"tap #deleteButton": function(event, instance){
|
||||
Items.softRemove(instance.data.itemId);
|
||||
GlobalUI.deletedToast(instance.data.itemId, "Items", "Item");
|
||||
GlobalUI.closeDetail()
|
||||
GlobalUI.closeDetail();
|
||||
},
|
||||
//TODO validate input (integer, non-negative, etc) for these inputs and give validation errors
|
||||
"change #itemNameInput, input #itemNameInput": function(event){
|
||||
console.log("changed Nameinput")
|
||||
console.log("changed Nameinput");
|
||||
var name = Template.instance().find("#itemNameInput").value;
|
||||
Items.update(this._id, {$set: {name: name}});
|
||||
},
|
||||
@@ -70,7 +51,14 @@ Template.itemDialog.events({
|
||||
},
|
||||
"change #equippedInput": function(event){
|
||||
var equipped = Template.instance().find("#equippedInput").checked;
|
||||
Items.update(this._id, {$set: {equipped: equipped}});
|
||||
var item = Items.findOne(this._id);
|
||||
if(item){
|
||||
if(equipped){
|
||||
item.equip();
|
||||
} else {
|
||||
item.unequip();
|
||||
}
|
||||
}
|
||||
},
|
||||
"core-select #containerDropDown": function(event){
|
||||
var detail = event.originalEvent.detail;
|
||||
@@ -78,11 +66,5 @@ Template.itemDialog.events({
|
||||
var containerId = detail.item.getAttribute("name");
|
||||
var item = Items.findOne(Template.currentData().itemId);
|
||||
item.moveToContainer(containerId);
|
||||
},
|
||||
"core-select #slotDropDown": function(event){
|
||||
var detail = event.originalEvent.detail;
|
||||
if(!detail.isSelected) return;
|
||||
var value = detail.item.getAttribute("value");
|
||||
Items.update(Template.currentData().itemId, {$set: {equipmentSlot: value}});
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user