Many chcanges, but version 0.1.0 is ready to be cut.

This commit is contained in:
Brian McGonagill 2022-08-23 13:41:21 -05:00
parent 42643a37f5
commit 6e37ae8c74
46 changed files with 1038 additions and 273 deletions

View file

@ -1,11 +1,8 @@
<template name="storeMgmt">
<!-- Store Management Entry / Edit -->
<h4>Store Management</h4>
<p>Add Stores you commonly make lists for here.</p>
{{> storeMgmtForm}}
<!-- Store Management Table List -->
<hr>
{{> storeMgmtTbl}}
<div class="container">
<h4>Store Management</h4>
{{> storeMgmtForm}}
<hr>
{{> storeMgmtTbl}}
</div>
</template>

View file

@ -1,20 +1,22 @@
<template name="storeMgmtForm">
<div class="row">
<div class="col s12 m6 l6 input-field">
<input type="text" class="storeName" id="storeName" />
<label for="storeName">Name</label>
<form id="storeForm" action="submit">
<div class="row">
<div class="col s12 input-field">
<input type="text" class="storeName" id="storeName" />
<label for="storeName">Name</label>
</div>
</div>
<div class="col s12 m6 l6 input-field">
<input type="text" class="storeType" id="storeType" />
<label for="storeType">Type</label>
<div class="row">
<div class="col s6 m6 l6">
<a class="waves-effect waves-light btn cancelStoreMgmt orange">Cancel</a>
</div>
<div class="col s6 m6 l6">
{{#if $eq editModeStore false}}
<a class="waves-effect waves-light btn saveStoreMgmt green right">Add</a>
{{else}}
<a class="waves-effect waves-light btn editStoreMgmt blue right">Rename</a>
{{/if}}
</div>
</div>
</div>
<div class="row">
<div class="col s6 m6 l6">
<a class="waves-effect waves-light btn cancelStoreMgmt orange">Cancel</a>
</div>
<div class="col s6 m6 l6">
<a class="waves-effect waves-light btn saveStoreMgmt green right">Add</a>
</div>
</div>
</form>
</template>

View file

@ -6,28 +6,83 @@ Template.storeMgmtForm.onCreated(function() {
Template.storeMgmtForm.onRendered(function() {
Session.set("borderRed", false);
Session.set("editModeStore", false);
});
Template.storeMgmtForm.helpers({
editModeStore: function() {
return Session.get("editModeStore");
}
});
Template.storeMgmtForm.events({
'click .saveStoreMgmt' (event) {
event.preventDefault();
let storeName = $("#storeName").val();
let storeType = $("#storeType").val();
if (storeName == "" || storeName == null) {
Session.set("borderRed", true);
return;
} else {
Meteor.call("add.store", storeName, storeType, function(err, result) {
Meteor.call("add.store", storeName, function(err, result) {
if (err) {
// console.log("ERROR: Store add failed: " + err);
} else {
// console.log("Success adding store!");
$("#storeName").val("");
$("#storeType").val("");
}
});
}
},
'click .cancelStoreMgmt' (event) {
event.preventDefault();
$("#storeName").val("");
Session.set("editModeStore", false);
},
'submit #storeForm' (event) {
event.preventDefault();
let editMode = Session.get("editModeStore");
let storeName = $("#storeName").val();
if (storeName == "" || storeName == null) {
Session.set("borderRed", true);
return;
} else {
if (editMode == false) {
Meteor.call("add.store", storeName, function(err, result) {
if (err) {
// console.log("ERROR: Store add failed: " + err);
} else {
// console.log("Success adding store!");
$("#storeName").val("");
}
});
} else {
let storeId = Session.get("storeIdEdit");
Meteor.call("edit.store", storeId, storeName, function(err, result) {
if (err) {
// console.log("ERROR: Store add failed: " + err);
} else {
// console.log("Success adding store!");
$("#storeName").val("");
Session.set("editModeStore", false);
}
});
}
}
},
'click .editStoreMgmt' (event) {
let storeName = $("#storeName").val();
let storeId = Session.get("storeIdEdit");
if (storeName == "" || storeName == null) {
Session.set("borderRed", true);
return;
} else {
Meteor.call("edit.store", storeId, storeName, function(err, result) {
if (err) {
// console.log("ERROR: Store add failed: " + err);
} else {
// console.log("Success adding store!");
$("#storeName").val("");
Session.set("editModeStore", false);
}
});
}

View file

@ -1,27 +1,15 @@
<template name="storeMgmtTbl">
<table class="highlight striped responsive-table">
<thead>
<tr>
<th>Store Name</th>
<th>Type</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{{#each mgmtStoreInfo}}
<tr>
<td>
<div class="row">
<div class="col s12">
<ul class="collection">
{{#each mgmtStoreInfo}}
<li class="collection-item">
{{storeName}}
</td>
<td>
{{storeType}}
</td>
<td>
<i class="material-icons clickable deleteStore">delete</i>
<i class="material-icons clickable editStore">edit</i>
</td>
</tr>
{{/each}}
</tbody>
</table>
<i class="material-icons clickable deleteStore right tooltipped" data-position="top" data-tooltip="Delete Store">delete</i>
<i class="material-icons clickable editStore right tooltipped" data-position="top" data-tooltip="Edit Store Name">edit</i>
</li>
{{/each}}
</ul>
</div>
</div>
</template>

View file

@ -5,7 +5,9 @@ Template.storeMgmtTbl.onCreated(function() {
});
Template.storeMgmtTbl.onRendered(function() {
Meteor.setTimeout(function() {
$('.tooltipped').tooltip();
}, 150);
});
Template.storeMgmtTbl.helpers({
@ -17,10 +19,19 @@ Template.storeMgmtTbl.helpers({
Template.storeMgmtTbl.events({
'click .deleteStore' (event) {
event.preventDefault();
// console.log("Delete Store Clicked");
Meteor.call('delete.store', this._id, function(err, result) {
if (err) {
console.log(" ERROR deleting store: " + err);
} else {
console.log(" SUCCESS deleting the store.");
}
});
},
'click .editStore' (event) {
event.preventDefault();
// console.log("Edit Store Clicked");
Session.set("storeIdEdit", this._id);
let storeInfo = Stores.findOne({ _id: this._id });
$("#storeName").val(storeInfo.storeName);
Session.set("editModeStore", true);
},
});