Merge branch 'dev' into 'main'

Updated lists to group by store

See merge request bmcgonag/get_my!16
This commit is contained in:
Brian McGonagill 2024-08-24 16:11:02 +00:00
commit de8f5bc096
8 changed files with 115 additions and 16 deletions

View file

@ -16,7 +16,7 @@
</div>
<div class="col s12">
Release Notes:
<p class="flow-text">{{descriptionSinHTML}}</p>
<p class="flow-text">{{{descriptionSinHTML}}}</p>
</div>
<div class="col s12">
Release Date:

View file

@ -60,7 +60,8 @@ Template.dashboard.helpers({
return todayDate;
},
updates: function() {
return UpdateInfo.find({});
let updateAvail = UpdateInfo.find({});
return updateAvail;
},
updatesExist: function() {
let updateExists = UpdateInfo.find({ viewed: false }).fetch();
@ -76,7 +77,7 @@ Template.dashboard.helpers({
descriptionSinHTML: function() {
let desc = this.description;
let sinH = $(desc).text();
return sinH;
return desc;
},
niceDate: function() {
let rDateNorm = this.date;

View file

@ -33,7 +33,9 @@
<li><a href="#!" class="navBtn" id="mySettings {{#if $eq myTheme 'dark'}}white-text{{/if}}">My Settings</a></li>
{{#if isInRole 'systemadmin'}}
<li><a href="#!" id="manage" class="navBtn {{#if $eq myTheme 'dark'}}white-text{{/if}}">Manage</a></li>
<li><a href="#!"><i class="material-icons">notifications</i></a></li>
{{#if $eq updateExists true}}
<li><a href="#!"><i class="material-icons navBtn" id="dashboard">notifications</i></a></li>
{{/if}}
{{/if}}
<li><a href="#!" class="signOut {{#if $eq myTheme 'dark'}}white-text{{/if}}">Sign Out</a></li>
{{else}}

View file

@ -1,9 +1,26 @@
<template name="listItemTblByStore">
<div class="row">
<div class="col s12">
<span>Products with no assigned store, will not be displayed on this version of the list.</span>
<ul class="collection with-header">
<li class="collection-header"><h4>First Names</h4></li>
<li class="collection-item">Alvin</li>
{{#each stores}}
{{#if $eq storeInList true}}
<li class="collection-header"><h4>{{storeName}}</h4></li>
{{#each thisListItems}}
<li class="collection-item" id="{{_id}}-{{itemOrdered}}">
<span>
{{#if $eq itemOrdered true}}
<strike>{{itemName}}</strike>
{{else}}
{{itemName}}
{{/if}}
</span>
<i class="material-icons clickable deleteListItem right modal-trigger" href="#modalDelete">delete</i>
<i class="material-icons clickable markListItemReceived right">check</i>
</li>
{{/each}}
{{/if}}
{{/each}}
</ul>
</div>
</div>

View file

@ -17,14 +17,73 @@ Template.listItemTblByStore.onRendered(function() {
});
Template.listItemTblByStore.helpers({
stores: function() {
let storeList = Stores.find({});
return storeList;
},
thisListItems: function() {
let showReceved = Session.get("showReceivedItems");
let showReceived = Session.get("showReceivedItems");
let searchVal = Session.get("searchVal");
let stores = Stores.find({}).fetch();
}
let store = this.storeName;
if (showReceived == false) {
if (typeof searchVal == 'undefined' || searchVal.length === 0) {
return ListItems.find({ itemStore: store, itemReceived: false });
} else {
return ListItems.find({ itemStore: store, itemReceived: false, itemName: { $regex: searchVal + '.*', $options: 'i' }})
}
} else {
if (typeof searchVal == 'undefined' || searchVal.length == 0) {
return ListItems.find({ itemStore: store });
} else {
return ListItems.find({ itemStore: store, itemName: { $regex: searchVal + '.*', $options: 'i' } });
}
}
},
storeInList: function() {
let noStoresInList = ListItems.find({ itemStore: this.storeName }).count();
if (noStoresInList > 0) {
return true;
} else {
return false;
}
},
});
Template.listItemTblByStore.events({
'click li' (event) {
let itemSel = (event.currentTarget.id).split('-');
let itemId = itemSel[0];
let itemOrder = itemSel[1];
if (typeof itemOrder == 'undefined' || itemOrder == "" || itemOrder == false) {
Meteor.call("setOrdered.listItem", itemId, function(err, result) {
if (err) {
console.log(" ERROR updating order status to ordered: " + err);
}
});
} else {
Meteor.call("setNotOrdered.listItem", itemId, function(err, result) {
if (err) {
console.log(" ERROR updating order status to unordered: " + err);
}
});
}
},
'click .markListItemReceived' (event) {
event.preventDefault();
Meteor.call('setReceived.listItem', this._id, function(err, result) {
if (err) {
console.log(" ERROR setting item as received: " + err);
} else {
// console.log(" SUCCESS setting item received.");
}
});
},
'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");
},
});

View file

@ -1,5 +1,22 @@
<template name="listItemsMain">
{{> listItemsForm}}
<hr>
{{> listItemsTbl}}
</template>
<div class="row">
<div class="col s12">
<ul class="tabs">
<li class="tab col s6">
<a href="#listOnly" class='active'>List</a>
</li>
<li class="tab col s6">
<a href="#listByStore">List by Store</a>
</li>
</ul>
</div>
<div id="listOnly" class="col s12">
{{> listItemsTbl}}
</div>
<div id="listByStore" class="col s12">
{{> listItemTblByStore}}
</div>
</div>
</template>

View file

@ -1,9 +1,12 @@
import { M } from '../lib/assets/materialize.js';
Template.listItemsMain.onCreated(function() {
});
Template.listItemsMain.onRendered(function() {
var elems = document.querySelectorAll('.tabs');
var instance = M.Tabs.init(elems, {});
});
Template.listItemsMain.helpers({
@ -12,4 +15,4 @@ Template.listItemsMain.helpers({
Template.listItemsMain.events({
});
});

View file

@ -20,7 +20,7 @@ Template.listItemsTbl.onRendered(function() {
Template.listItemsTbl.helpers({
'thisListItems': function() {
let showRecvd = Session.get("showReceivedItems");
let searchVal = Session.get("searchVal");;
let searchVal = Session.get("searchVal");
if (showRecvd == false) {
if (typeof searchVal == 'undefined' || searchVal.length === 0) {
return ListItems.find({ itemReceived: false });
@ -76,4 +76,4 @@ Template.listItemsTbl.events({
Session.set("item", this.itemName);
Session.set("view", "List Items");
},
});
});