Files
DiceCloud/rpg-docs/client/views/character/persona/persona.js

55 lines
1.3 KiB
JavaScript

var colorMap = {
description: "e",
personality: "f",
ideals: "g",
bonds: "h",
flaws: "i",
backstory: "j"
};
Template.persona.helpers({
characterDetails: function(){
var char = Characters.findOne(this._id, {fields: {name: 1, gender: 1, alignment: 1, race:1}});
char.field = "details";
char.title = char.name;
char.color = "d";
return char;
},
characterField: function(field, title){
var fieldSelector = {fields: {}};
fieldSelector.fields[field] = 1;
var char = Characters.findOne(this._id, fieldSelector);
var color = colorMap[field];
return {
_id: char._id,
title: title,
field: field,
color: color,
body: char[field],
topClass: "characterField"
};
},
languages: function(){
return Proficiencies.find({charId: this._id, type: "language"});
},
});
Template.persona.events({
"tap .characterField": function(event){
if(this.field !== "details"){
var charId = Template.parentData()._id;
GlobalUI.setDetail({
template: "textDialog",
data: {charId: charId, field: this.field, title: this.title, color: this.color},
heroId: this._id + this.field
});
} else{
this.charId = Template.parentData()._id;
GlobalUI.setDetail({
template: "personaDetailsDialog",
data: this,
heroId: this._id + "details"
});
}
}
});