get_my/client/MenuItems/addProdToListModal.js

67 lines
2.4 KiB
JavaScript
Raw Normal View History

2024-07-29 16:58:08 -05:00
import { M } from '../lib/assets/materialize.js';
import { MenuProdLinks } from '../../imports/api/menuProdLinks';
import { Products } from '../../imports/api/products.js';
import { Lists } from '../../imports/api/lists.js';
import { ListItems } from '../../imports/api/listItems';
Template.addProdToListModal.onCreated(function() {
this.subscribe("myProducts");
this.subscribe("myLists");
this.subscribe("myListItems");
this.subscribe("menuProdLinkData");
});
Template.addProdToListModal.onRendered(function() {
var elems = document.querySelectorAll('select');
var instances = M.FormSelect.init(elems, {});
Session.set("itemsSelected", []);
});
Template.addProdToListModal.helpers({
assocProds: function() {
let menuItemId = Session.get("menuItemId");
let assocProds = MenuProdLinks.find({ menuItemId: menuItemId });
if (typeof assocProds != 'undefined' && assocProds != '' && assocProds != null) {
return assocProds;
}
},
setOfLists: function() {
return Lists.find({});
},
productToChoose: function() {
let menuItemId = Session.get("menuItemId");
2025-07-23 19:44:24 -05:00
// console.log("Menu Item Id received is: " + menuItemId);
let prodLinkLIst = MenuProdLinks.find({ menuItemId: menuItemId});
2025-07-23 19:44:24 -05:00
// console.dir(prodLinkLIst);
2024-07-29 16:58:08 -05:00
if (typeof prodLinkLIst != 'undefined' && prodLinkLIst != "" && prodLinkLIst != null) {
return prodLinkLIst;
}
},
});
Template.addProdToListModal.events({
'click .productListing' (event) {
let itemId = event.currentTarget.id;
let selected = Session.get("itemsSelected");
2025-07-23 19:44:24 -05:00
// console.log("Item clicked: " + itemId);
2024-07-29 16:58:08 -05:00
selected.push(itemId);
2025-07-23 19:44:24 -05:00
// console.dir(selected);
2024-07-29 16:58:08 -05:00
Session.set("itemsSelected", selected);
},
'click #saveProdsToList' (event) {
event.preventDefault();
let selectedItems = Session.get("itemsSelected");
let listId = $("#chooseList").val();
const addItemsFromMenu = async() => {
let result = await Meteor.callAsync('add.itemsFromMenuItem', selectedItems, listId);
if (!result) {
2025-07-23 19:44:24 -05:00
// console.log(" ERROR adding menu components to list: " + err);
2024-07-29 16:58:08 -05:00
} else {
showSnackbar("Items Added to List!", "green");
}
}
addItemsFromMenu();
2024-07-29 16:58:08 -05:00
}
});