66 lines
1.6 KiB
JavaScript
66 lines
1.6 KiB
JavaScript
const librarySubs = new SubsManager();
|
|
|
|
Template.itemLibraryDialog.onCreated(function(){
|
|
this.selectedItem = new ReactiveVar();
|
|
this.searchTerm = new ReactiveVar();
|
|
this.ready = new ReactiveVar();
|
|
this.autorun(() => {
|
|
var handle = librarySubs.subscribe("standardLibraries");
|
|
this.ready.set(handle.ready());
|
|
});
|
|
});
|
|
|
|
Template.itemLibraryDialog.helpers({
|
|
ready(){
|
|
return Template.instance().ready.get();
|
|
},
|
|
categories(){
|
|
return [
|
|
{name: "Weapons", key: "weapons"},
|
|
{name: "Armor", key: "armor"},
|
|
{name: "Adventuring Gear", key: "adventuringGear"},
|
|
];
|
|
},
|
|
itemsInCategory(categoryKey){
|
|
return LibraryItems.find({
|
|
library: "SRDLibraryGA3XWsd",
|
|
"settings.category": categoryKey,
|
|
});
|
|
},
|
|
isSelected(item){
|
|
const selected = Template.instance().selectedItem.get();
|
|
return selected && selected._id === item._id;
|
|
},
|
|
searchTerm(){
|
|
return Template.instance().searchTerm.get();
|
|
},
|
|
searchItems(){
|
|
const searchTerm = Template.instance().searchTerm.get();
|
|
return LibraryItems.find({
|
|
library: "SRDLibraryGA3XWsd",
|
|
name: {
|
|
$regex: new RegExp(".*" + searchTerm + ".*", "gi")
|
|
},
|
|
});
|
|
},
|
|
});
|
|
|
|
Template.itemLibraryDialog.events({
|
|
"click .cancelButton": function(event, template){
|
|
popDialogStack();
|
|
},
|
|
"click .okButton": function(event, template){
|
|
popDialogStack(template.selectedItem.get());
|
|
},
|
|
"click .library-item": function(event, template){
|
|
template.selectedItem.set(this.item);
|
|
},
|
|
"click #backButton": function(event, template){
|
|
popDialogStack();
|
|
},
|
|
"input .search-input, change .search-input": function(event, template){
|
|
const value = event.currentTarget.value;
|
|
template.searchTerm.set(value);
|
|
},
|
|
});
|