mirror of
https://gitlab.com/bmcgonag/get_my.git
synced 2026-03-26 15:58:50 +00:00
Updated lists to group by store
Lists have been updated to group by store. This feature adds a new tab to the List view. Users can now view their items on the general (un-ordered) list, or can see their items gouped by store(s) the product has been assigned. If a product is on the list, and does not have an assigned store, it will not show on the new store grouped tab. Updated the dashboard card for update available information to place the update release notes in a prettier format.
This commit is contained in:
parent
b992c9d67e
commit
c733727829
8 changed files with 115 additions and 16 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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}}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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({
|
||||
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
},
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue