mirror of
https://gitlab.com/bmcgonag/get_my.git
synced 2026-03-26 15:58:50 +00:00
82 lines
2.8 KiB
JavaScript
82 lines
2.8 KiB
JavaScript
import { ListItems } from '../../imports/api/listItems.js';
|
|
import { M } from '../lib/assets/materialize.js';
|
|
import { UserLast } from '../../imports/api/userLast.js';
|
|
|
|
Template.listItemsTbl.onCreated(function() {
|
|
this.autorun( () => {
|
|
this.subscribe("myListItems", Session.get("listId"));
|
|
});
|
|
this.subscribe("userLastView");
|
|
});
|
|
|
|
Template.listItemsTbl.onRendered(function() {
|
|
var elems = document.querySelectorAll('.modal');
|
|
var instances = M.Modal.init(elems, {});
|
|
|
|
Session.set("showReceivedItems", false);
|
|
Session.set("searchVal", "");
|
|
});
|
|
|
|
Template.listItemsTbl.helpers({
|
|
'thisListItems': function() {
|
|
let showRecvd = Session.get("showReceivedItems");
|
|
let searchVal = Session.get("searchVal");
|
|
if (showRecvd == false) {
|
|
if (!searchVal) {
|
|
return ListItems.find({ itemReceived: false });
|
|
} else {
|
|
return ListItems.find({ itemReceived: false, itemName: { $regex: searchVal + '.*', $options: 'i' } });
|
|
}
|
|
} else {
|
|
if (!searchVal) {
|
|
return ListItems.find({});
|
|
} else {
|
|
return ListItems.find({ itemName: { $regex: searchVal + '.*', $options: 'i' } });
|
|
}
|
|
}
|
|
},
|
|
});
|
|
|
|
Template.listItemsTbl.events({
|
|
'click li' (event) {
|
|
event.preventDefault();
|
|
const setOrd = async() => {
|
|
let itemInfo = await ListItems.findOneAsync({ _id: this._id });
|
|
if (itemInfo.itemOrdered == true) {
|
|
let result = await Meteor.callAsync('setNotOrdered.listItem', this._id);
|
|
if (!result) {
|
|
// console.log(" ERROR seeting item as not ordered.");
|
|
} else {
|
|
// console.log(" SUCCESS setting item as ordered.");
|
|
}
|
|
} else {
|
|
let result = Meteor.callAsync('setOrdered.listItem', this._id);
|
|
if (!result) {
|
|
// console.log(" ERROR marking item ordered: " + err);
|
|
} else {
|
|
// console.log(" SUCCESS marking this item ordered.");
|
|
}
|
|
}
|
|
}
|
|
setOrd();
|
|
},
|
|
'click .markListItemReceived' (event) {
|
|
event.preventDefault();
|
|
const setRcvd = async() => {
|
|
let result = await Meteor.callAsync('setReceived.listItem', this._id);
|
|
if (!result) {
|
|
// console.log("Item not marked properly - why?");
|
|
} else {
|
|
// console.log("Item Marked Received.");
|
|
}
|
|
}
|
|
setRcvd();
|
|
},
|
|
'click .deleteListItem' (event) {
|
|
event.preventDefault();
|
|
Session.set("deleteId", this._id);
|
|
Session.set("method", "delete.listItem");
|
|
Session.set("item", this.itemName);
|
|
Session.set("view", "List Items");
|
|
},
|
|
});
|