mirror of
https://gitlab.com/bmcgonag/get_my.git
synced 2026-03-27 00:08:49 +00:00
Added Task Mgmt, and framework for Recipes.
This commit is contained in:
parent
3b9a54daf1
commit
947abfb76f
13 changed files with 430 additions and 1 deletions
|
|
@ -11,6 +11,7 @@
|
|||
<li id="manageCategory" class="collection-item">Category</li>
|
||||
<li id="manageLocation" class="collection-item">Location</li>
|
||||
<li id="manageStore" class="collection-item">Store</li>
|
||||
<li id="taskHome" class="collection-item">Tasks</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
Template.mgmtPage.onCreated(function() {
|
||||
|
||||
});
|
||||
|
|
|
|||
35
client/AdminMgmt/Tasks/taskForm.html
Normal file
35
client/AdminMgmt/Tasks/taskForm.html
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<template name="taskForm">
|
||||
<h4>Tasks</h4>
|
||||
<div class="row">
|
||||
<div class="col s12 m6 l4 input-field">
|
||||
<input type="text" class="taskName" id="taskName" />
|
||||
<label for="taskName">Task Name</label>
|
||||
</div>
|
||||
<div class="col s12 m6 l4 input-field">
|
||||
<select name="taskUser" id="taskUser" class="taskUser">
|
||||
<option value="" disabled selected>Assign to user...</option>
|
||||
{{#each taskUsers}}
|
||||
<option value="{{username}}">{{username}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="col s12 m6 l4 input-field">
|
||||
<input type="text" class="datepicker" id="taskDate" />
|
||||
<label for="taskDate">Task Date</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12 m6 l6">
|
||||
<p>
|
||||
<label>
|
||||
<input type="checkbox" id="hideCompletedTasks" />
|
||||
<span>Hide Completed</span>
|
||||
</label>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col s12 m6 l6">
|
||||
<a class="waves-effect waves-light btn saveTaskMgmt green right">Add</a>
|
||||
</div>
|
||||
</div>
|
||||
{{> snackbar}}
|
||||
</template>
|
||||
79
client/AdminMgmt/Tasks/taskForm.js
Normal file
79
client/AdminMgmt/Tasks/taskForm.js
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
import { Tasks } from '../../../imports/api/tasks.js';
|
||||
|
||||
Template.taskForm.onCreated(function() {
|
||||
this.subscribe("userList");
|
||||
this.subscribe("allTasks");
|
||||
});
|
||||
|
||||
Template.taskForm.onRendered(function() {
|
||||
Meteor.setTimeout(function() {
|
||||
$('select').formSelect();
|
||||
}, 100);
|
||||
$('select').formSelect();
|
||||
$('.datepicker').datepicker();
|
||||
Session.set("taskNameErr", false);
|
||||
Session.set("taskUserErr", false);
|
||||
Session.set("taskDateErr", false);
|
||||
Session.set("hideCompletedTasks", true);
|
||||
});
|
||||
|
||||
Template.taskForm.helpers({
|
||||
taskUsers: function() {
|
||||
return Meteor.users.find({});
|
||||
},
|
||||
username: function() {
|
||||
return this.profile.fullname;
|
||||
},
|
||||
});
|
||||
|
||||
Template.taskForm.events({
|
||||
'click .saveTaskMgmt' (event) {
|
||||
event.preventDefault();
|
||||
let taskName = $("#taskName").val();
|
||||
let taskUser = $("#taskUser").val();
|
||||
let taskDate = $("#taskDate").val();
|
||||
let taskUserErr = false;
|
||||
let taskNameErr = false;
|
||||
let taskDateErr = false;
|
||||
|
||||
console.log("taskUser value: " + taskUser);
|
||||
|
||||
if (taskName == null || taskName == "") {
|
||||
taskNameErr = true;
|
||||
}
|
||||
|
||||
if (taskDate == null || taskDate == "") {
|
||||
taskDateErr = true;
|
||||
}
|
||||
|
||||
if (taskUser == null || taskUser == "") {
|
||||
console.log("triggered taskUser error.");
|
||||
taskUserErr = true;
|
||||
}
|
||||
|
||||
if (taskUserErr == false && taskDateErr == false && taskNameErr == false) {
|
||||
Meteor.call("add.task", taskName, taskUser, taskDate, function(err, result) {
|
||||
if (err) {
|
||||
console.log(" ERROR adding the new task: " + err);
|
||||
} else {
|
||||
console.log(" SUCCESS adding the new task.");
|
||||
$("#taskName").val("");
|
||||
$("#taskDate").val("");
|
||||
$("#taskUser").val("");
|
||||
$('select').formSelect();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showSnackbar("ERROR: Missing Required Fields!", "red");
|
||||
}
|
||||
},
|
||||
'click #hideCompletedTasks' (event) {
|
||||
let hideComp = $("#hideCompletedTasks").prop('checked');
|
||||
if (hideComp == true) {
|
||||
Session.set("hideCompletedTasks", true);
|
||||
} else {
|
||||
Session.set("hideCompletedTasks", false);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
5
client/AdminMgmt/Tasks/taskHome.html
Normal file
5
client/AdminMgmt/Tasks/taskHome.html
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<template name="taskHome">
|
||||
{{> taskForm}}
|
||||
<hr>
|
||||
{{> taskTbl}}
|
||||
</template>
|
||||
38
client/AdminMgmt/Tasks/taskTbl.html
Normal file
38
client/AdminMgmt/Tasks/taskTbl.html
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<template name="taskTbl">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<table class="highlight striped responsive-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Task Name</th>
|
||||
<th>Assigned To</th>
|
||||
<th>Due</th>
|
||||
<th>Done On</th>
|
||||
<th>Complete</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each tasks}}
|
||||
<tr>
|
||||
<td>{{taskName}}</td>
|
||||
<td>{{assignedTo}}</td>
|
||||
<td>{{taskDate}}</td>
|
||||
<td>{{completeDate}}</td>
|
||||
<td>
|
||||
{{#if $eq isComplete true}}
|
||||
<i class="material-icons green">check</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
<i class="material-icons clickable deleteTask">delete</i>
|
||||
<i class="material-icons clickable markTaskComplete">check</i>
|
||||
</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{{> deleteConfirmationModal}}
|
||||
{{> snackbar}}
|
||||
</template>
|
||||
51
client/AdminMgmt/Tasks/taskTbl.js
Normal file
51
client/AdminMgmt/Tasks/taskTbl.js
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
import { TaskItems } from '../../../imports/api/tasks.js';
|
||||
import moment from 'moment';
|
||||
|
||||
Template.taskTbl.onCreated(function() {
|
||||
this.subscribe("allTasks");
|
||||
});
|
||||
|
||||
Template.taskTbl.onRendered(function() {
|
||||
Session.set("hideCompletedTasks", false);
|
||||
});
|
||||
|
||||
Template.taskTbl.helpers({
|
||||
tasks: function() {
|
||||
let hideComp = Session.get("hideCompletedTasks");
|
||||
if (hideComp == false) {
|
||||
return TaskItems.find({});
|
||||
} else {
|
||||
return TaskItems.find({ isComplete: false });
|
||||
}
|
||||
},
|
||||
completeDate: function() {
|
||||
let completedOn = this.completedOn;
|
||||
if (completedOn != null) {
|
||||
let compOn = moment(completedOn).format("MMM DD, YYYY");
|
||||
return compOn;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Template.taskTbl.events({
|
||||
'click .deleteTask' (event) {
|
||||
event.preventDefault();
|
||||
Session.set("deleteId", this._id);
|
||||
Session.set("method", "delete.task");
|
||||
Session.set("item", this.taskName);
|
||||
Session.set("view", "Tasks");
|
||||
$('#modalDelete').modal('open');
|
||||
},
|
||||
'click .markTaskComplete' (event) {
|
||||
event.preventDefault();
|
||||
let taskId = this._id;
|
||||
Meteor.call("markTask.complete", taskId, function(err, result) {
|
||||
if (err) {
|
||||
console.log(" ERROR marking task completeL " + err);
|
||||
showSnackbar("ERROR Marking Task Complete!", "red");
|
||||
} else {
|
||||
showSnackbar("Successfully Marked Task Complete!", "green");
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue