2022-08-26 17:10:05 -05:00
|
|
|
import { MenuItems } from '../../imports/api/menuItems.js';
|
|
|
|
|
import { Menus } from '../../imports/api/menu.js';
|
2022-08-27 16:59:01 -05:00
|
|
|
import moment from 'moment';
|
2024-07-23 14:59:43 -05:00
|
|
|
import { M } from '../lib/assets/materialize.js';
|
2022-08-26 17:10:05 -05:00
|
|
|
|
|
|
|
|
Template.menuItemsForm.onCreated(function() {
|
|
|
|
|
this.subscribe("myMenus");
|
2024-07-29 07:46:30 -05:00
|
|
|
this.subscribe("allMenuItems", Session.get("menuId"));
|
2022-08-26 17:10:05 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.menuItemsForm.onRendered(function() {
|
2024-07-23 14:59:43 -05:00
|
|
|
var elems = document.querySelectorAll('.datepicker');
|
|
|
|
|
var instances = M.Datepicker.init(elems, {});
|
|
|
|
|
|
2022-08-26 17:10:05 -05:00
|
|
|
Session.set("menuItemErr", false);
|
2024-07-29 07:46:30 -05:00
|
|
|
Session.set("menuListItems", {});
|
|
|
|
|
|
|
|
|
|
this.autorun(() => {
|
|
|
|
|
var elema = document.querySelectorAll('.autocomplete');
|
|
|
|
|
var instancea = M.Autocomplete.init(elema, {
|
|
|
|
|
minlength: 0,
|
|
|
|
|
data: Session.get("menuListItems"),
|
|
|
|
|
});
|
|
|
|
|
});
|
2022-08-26 17:10:05 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.menuItemsForm.helpers({
|
|
|
|
|
menuItemErr: function() {
|
|
|
|
|
return Session.get("menuItemErr");
|
|
|
|
|
},
|
|
|
|
|
menuName: function() {
|
|
|
|
|
let menuId = Session.get("menuId");
|
|
|
|
|
let menuInfo = Menus.findOne({ _id: menuId });
|
|
|
|
|
let menuName = menuInfo.menuName;
|
|
|
|
|
return menuName;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.menuItemsForm.events({
|
|
|
|
|
'click .saveMenuItem' (event) {
|
|
|
|
|
event.preventDefault();
|
|
|
|
|
let menuItem = $("#menuItemInp").val();
|
|
|
|
|
let dateSrv = $("#dateServed").val();
|
|
|
|
|
let menuId = Session.get("menuId");
|
|
|
|
|
|
|
|
|
|
if (menuItem == null || menuItem == "") {
|
|
|
|
|
Session.set("menuItemErr", true);
|
|
|
|
|
} else {
|
|
|
|
|
Meteor.call('add.menuItem', menuItem, dateSrv, menuId, function(err, result) {
|
|
|
|
|
if (err) {
|
|
|
|
|
console.log(" ERROR adding menu item: " + err);
|
|
|
|
|
} else {
|
|
|
|
|
console.log(" SUCCESS adding menu item.");
|
|
|
|
|
$("#menuItemInp").val("");
|
|
|
|
|
$("#dateServed").val("");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
2022-08-27 16:59:01 -05:00
|
|
|
},
|
|
|
|
|
'click .shiftOneDay' (event) {
|
|
|
|
|
event.preventDefault();
|
|
|
|
|
let menuInfo = MenuItems.find({}).fetch();
|
|
|
|
|
// now menuInfo is an array
|
|
|
|
|
let menuInfoLen = menuInfo.length;
|
|
|
|
|
for (i = 0; i < menuInfoLen; i++) {
|
|
|
|
|
let menuItemId = menuInfo[i]._id;
|
2022-09-05 15:30:20 -05:00
|
|
|
let momentAddDay = moment(menuInfo[i].serveDate).add(1, 'day').format("MMM DD, YYYY");
|
2022-08-27 16:59:01 -05:00
|
|
|
// console.log(momentAddDay);
|
|
|
|
|
Meteor.call('shiftDate', menuItemId, momentAddDay, function(err,result) {
|
|
|
|
|
if (err) {
|
|
|
|
|
// console.log(" ERROR shifting meal days: " + err);
|
|
|
|
|
} else {
|
|
|
|
|
// console.log(" SUCCESS shifting meal date.");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
2024-07-29 07:46:30 -05:00
|
|
|
},
|
|
|
|
|
'keyup #menuItemInp' (event) {
|
|
|
|
|
if (event.which != 13) {
|
|
|
|
|
let findMenuItem = $("#menuItemInp").val();
|
|
|
|
|
let menuItemInfo = MenuItems.find({ itemName: {$regex: findMenuItem + '.*', $options: 'i' }}).fetch();
|
|
|
|
|
if (typeof menuItemInfo != 'undefined' && menuItemInfo != '' && menuItemInfo != null) {
|
|
|
|
|
getMenuItemList(menuItemInfo);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
getMenuItemList = function(menuItemInfo) {
|
|
|
|
|
let menuItemObjArray = [];
|
|
|
|
|
menuItemObjArray = menuItemInfo.map(info => ({ id: info._id, text: info.itemName }));
|
|
|
|
|
Session.set("menuListItems", menuItemObjArray);
|
|
|
|
|
}
|