Made active tab for each character a session variable
This commit is contained in:
@@ -1,58 +1,26 @@
|
||||
Template.characterSheet.created = function(){
|
||||
Template.instance().selectedTab = new ReactiveVar(0)
|
||||
Session.setDefault(this.data._id + ".selectedTab", "stats");
|
||||
}
|
||||
|
||||
var setTab = function(charId, tab){
|
||||
return Session.set(charId + ".selectedTab", tab);
|
||||
};
|
||||
|
||||
var setTab = function(instance, num){
|
||||
instance.selectedTab.set(num);
|
||||
};
|
||||
|
||||
var incTab = function(instance, num){
|
||||
var current = +instance.selectedTab.get();
|
||||
var selected = current + num;
|
||||
if (selected < 0) return;
|
||||
if (selected >= document.querySelector('#tabPages').children.length) return;
|
||||
setTab(instance, selected);
|
||||
};
|
||||
|
||||
Template.characterSheet.rendered = function(){
|
||||
var observer = new ObjectObserver(document.querySelector('#characterSheetTabs'));
|
||||
var instance = Template.instance();
|
||||
observer.open(function(added, removed, changed, getOldValueFn) {
|
||||
Object.keys(changed).forEach(function(property) {
|
||||
if(property === "selected"){
|
||||
var selected = changed[property];
|
||||
setTab(instance, selected);
|
||||
}
|
||||
})
|
||||
});
|
||||
var getTab = function(charId){
|
||||
return Session.get(charId + ".selectedTab");
|
||||
};
|
||||
|
||||
Template.characterSheet.helpers({
|
||||
selectedTab: function(){
|
||||
return Template.instance().selectedTab.get();
|
||||
return getTab(this._id);
|
||||
}
|
||||
});
|
||||
|
||||
Template.characterSheet.events({
|
||||
"#tabPages track": function(event){
|
||||
console.log(event);
|
||||
},
|
||||
"swipeleft": function(event){
|
||||
incTab(Template.instance(), 1);
|
||||
},
|
||||
"swiperight": function(event){
|
||||
incTab(Template.instance(), -1);
|
||||
},
|
||||
"core-animated-pages-transition-end #tabPages": function(event) {
|
||||
event.stopPropagation();
|
||||
},
|
||||
"tap #characterSheetTabs paper-tab": function(event, instance){
|
||||
setTab(this._id, event.currentTarget.getAttribute("name"));
|
||||
}
|
||||
});
|
||||
|
||||
/* requires the following templates
|
||||
stats
|
||||
features
|
||||
persona
|
||||
inventory
|
||||
spellbook
|
||||
journal
|
||||
*/
|
||||
Reference in New Issue
Block a user