Implemented item editing

This commit is contained in:
Thaum
2015-01-26 13:28:10 +00:00
parent 6a2e7f0832
commit dc6ea555e5
25 changed files with 331 additions and 133 deletions

View File

@@ -0,0 +1,27 @@
<template name="featureDialog">
{{#with feature}}
<paper-menu-button>
<paper-icon-button role="button" tabindex="0" icon="delete" aria-label="Delete Feature" noink></paper-icon-button>
<paper-dropdown class="dropdown">
<paper-button id="deleteFeature">Delete Feature</paper-button>
<paper-button>Cancel</paper-button>
</paper-dropdown>
</paper-menu-button>
<div class="featureDialogWidth"></div>
<paper-input id="featureNameInput" label="Name" floatinglabel value={{name}}></paper-input>
<paper-input-decorator label="Description" floatinglabel layout vertical>
<paper-autogrow-textarea>
<textarea id="featureDescriptionInput" placeholder aria-label="Description" value={{description}}></textarea>
</paper-autogrow-textarea>
</paper-input-decorator>
<h3>Effects</h3>
{{#each effects}}
{{>effectEdit}}
{{/each}}
<br>
<paper-icon-button id="addEffectButton" role="button" tabindex="0" icon="add" aria-label="addEffect"></paper-icon-button>
{{/with}}
<paper-button affirmative>Done</paper-button>
</template>

View File

@@ -0,0 +1,42 @@
Template.featureDialog.rendered = function(){
var self = this;
this.autorun(function(){
var feature = Features.findOne(Template.currentData().featureId, {fields: {name: 1}});
if(feature && feature.name) Session.set("global.ui.dialogHeader", feature.name);
})
//after the dialog is built, open it
_.defer(function(){GlobalUI.dialog.open()});
}
Template.featureDialog.events({
"tap #deleteFeature": function(){
Features.remove(this._id);
GlobalUI.closeDialog()
},
"tap #addEffectButton": function(){
Effects.insert({
charId: Template.currentData().charId,
sourceId: this._id,
operation: "add",
type: "feature"
});
},
"change #featureNameInput": function(event){
var name = Template.instance().find("#featureNameInput").value;
Features.update(this._id, {$set: {name: name}});
},
"change #featureDescriptionInput": function(event){
var description = Template.instance().find("#featureDescriptionInput").value;
Features.update(this._id, {$set: {description: description}});
}
});
Template.featureDialog.helpers({
feature: function(){
return Features.findOne(this.featureId);
},
effects: function(){
var cursor = Effects.find({charId: Template.currentData().charId, type: "feature", sourceId: this._id})
return cursor;
}
});

View File

@@ -0,0 +1,3 @@
body /deep/ .featureDialogWidth {
width: 560px;
}