Implemented text field functionality
Character text fields now work. Slightly modified versions will be needed for Spells, features, etc.
This commit is contained in:
42
rpg-docs/client/views/character/textField/textField.js
Normal file
42
rpg-docs/client/views/character/textField/textField.js
Normal 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();
|
||||
});
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user