Implemented text field functionality

Character text fields now work. Slightly modified versions will be needed for Spells, features, etc.
This commit is contained in:
Thaum
2014-11-10 14:05:46 +00:00
parent 238883a291
commit 285cae2090
9 changed files with 160 additions and 10 deletions

View File

@@ -0,0 +1,42 @@
Template.textField.created = function(){
Template.instance().editing = new ReactiveVar(false);
document.execCommand('defaultParagraphSeparator', false, 'div');
}
Template.textField.helpers({
editing: function(){
return Template.instance().editing.get();
},
input: function(){
var text = this.character.strings[this.field];
return Spacebars.SafeString(text);
},
output: function(){
var html = evaluateString(this.character, this.character.strings[this.field]);
return Spacebars.SafeString(html);
},
outputClass: function(){
if(Template.instance().editing.get()){
return "editing";
} else{
return "notEditing"
}
}
})
Template.textField.events({
"blur #textInput": function(){
Template.instance().editing.set(false);
var text = $("#textInput").html();
//TODO sanitise the html
var setter = {};
setter["strings."+this.field] = text;
Characters.update(this.character._id, {$set: setter});
},
"click #textOutput": function(){
Template.instance().editing.set(true);
Tracker.afterFlush(function(){
$("#textInput").focus();
});
}
})