get_my/client/Menus/mainMenuTbl.js
2025-06-21 07:28:59 -05:00

69 lines
No EOL
2.4 KiB
JavaScript

import { Menus } from '../../imports/api/menu.js';
import { M } from '../lib/assets/materialize.js';
import { FlowRouter } from 'meteor/ostrio:flow-router-extra';
Template.mainMenuTbl.onCreated(function() {
this.subscribe("myMenus");
});
Template.mainMenuTbl.onRendered(function() {
Session.set("menuEditMode", false);
var elems = document.querySelectorAll('.modal');
var instances = M.Modal.init(elems, {});
});
Template.mainMenuTbl.helpers({
myMenus: function() {
return Menus.find({});
}
});
Template.mainMenuTbl.events({
'click li.collection-item' (event) {
event.preventDefault();
let sender = event.target;
// console.log("Sender originated from: ");
// console.log(sender.localName);
if (sender.localName == "li") {
let menuId = event.currentTarget.id;
if (menuId == "addMenu") {
console.log("add menu clicked");
} else {
console.log("menuId is: " + menuId);
const addUserLast = async() => {
let result = await Meteor.callAsync('add.userLast', "Menu", menuId);
if (!result) {
console.log(" ERROR writing last menu viewed by user to db.");
} else {
Session.set("menuId", menuId);
Meteor.setTimeout(function() {
FlowRouter.go('/menuitems');
}, 100);
}
}
addUserLast();
}
} else if (sender.localName == "i") {
let menuId = this._id;
const makrMenuComp = async() => {
let result = await Meteor.callAsync("markMenu.complete", menuId);
if (!result) {
console.log(" ERROR: can't mark menu complete.");
} else {
console.log(" SUCCESS marking menu complete.");
setAllMade();
}
}
makrMenuComp();
const setAllMade = async() => {
let result = await Meteor.callAsync('setAllMade.menuItem', menuId);
if (!result) {
console.log(" ERROR: cannot set all items as made.");
} else {
console.log(" SUCCESS setting all items made.");
}
}
}
},
});