Updated Tasks for multi-select

This commit is contained in:
Brian McGonagill 2022-09-14 19:16:06 -05:00
parent 301c66eeba
commit aa8ea1ecb1
3 changed files with 61 additions and 27 deletions

View file

@ -1,9 +1,9 @@
<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 class="col s12 m6 l4 input-field chips" id="taskName">
<!-- <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">
@ -16,6 +16,13 @@
<div class="col s12 m6 l4 input-field">
<input type="text" class="datepicker" id="taskDate" />
<label for="taskDate">Task Date</label>
<div class="row">
{{#each taskDate in taskDates}}
<div class="col s6 l3 m4">
<span>{{taskDate}}</span>
</div>
{{/each}}
</div>
</div>
</div>
<div class="row">
@ -29,6 +36,7 @@
</div>
<div class="col s12 m6 l6">
<a class="waves-effect waves-light btn saveTaskMgmt green right">Add</a>
<!-- <a class="waves-effect waves-light btn testChips blue left" id="testChips">Test Chips</a> -->
</div>
</div>
{{> snackbar}}

View file

@ -11,10 +11,12 @@ Template.taskForm.onRendered(function() {
}, 100);
$('select').formSelect();
$('.datepicker').datepicker();
$('.chips').chips();
Session.set("taskNameErr", false);
Session.set("taskUserErr", false);
Session.set("taskDateErr", false);
Session.set("hideCompletedTasks", true);
Session.set("taskDateArr", []);
});
Template.taskForm.helpers({
@ -27,30 +29,49 @@ Template.taskForm.helpers({
usersId: function() {
return this._id;
},
taskDates: function() {
return Session.get("taskDateArr");
},
});
Template.taskForm.events({
'click #testChips' (event) {
event.preventDefault();
let taskName = M.Chips.getInstance($("#taskName")).chipsData;
console.log(taskName);
console.log(Session.get("taskDateArr"));
},
'change #taskDate' (event) {
let taskDate = $("#taskDate").val();
let taskDateArr = Session.get("taskDateArr");
taskDateArr.push(taskDate);
Session.set("taskDateArr", taskDateArr);
},
'click .saveTaskMgmt' (event) {
event.preventDefault();
let taskName = $("#taskName").val();
let taskNameArr = M.Chips.getInstance($("#taskName")).chipsData;
let taskDateArr = Session.get("taskDateArr");
let taskUser = $("#taskUser").val();
let taskDate = $("#taskDate").val();
let taskUserErr = false;
let taskNameErr = false;
let taskDateErr = false;
let userInfo;
let actDate;
let actDate = [];
console.log("taskUser value: " + taskUser);
// console.log("taskUser value: " + taskUser);
if (taskName == null || taskName == "") {
if (taskNameArr == null || taskName == []) {
taskNameErr = true;
}
if (taskDate == null || taskDate == "") {
if (taskDate == null || taskDate == []) {
taskDateErr = true;
} else {
actDate = new Date(taskDate);
for (i = 0; i < taskDateArr.length; i++) {
// console.log(taskDateArr[i]);
let actDateTask = new Date(taskDateArr[i]);
actDate.push(actDateTask);
}
}
if (taskUser == null || taskUser == "") {;
@ -60,12 +81,13 @@ Template.taskForm.events({
}
if (taskUserErr == false && taskDateErr == false && taskNameErr == false) {
Meteor.call("add.task", taskName, userInfo[0], userInfo[1], taskDate, actDate, function(err, result) {
Meteor.call("add.task", taskNameArr, userInfo[0], userInfo[1], taskDateArr, actDate, function(err, result) {
if (err) {
console.log(" ERROR adding the new task: " + err);
} else {
console.log(" SUCCESS adding the new task.");
$("#taskName").val("");
M.Chips.getInstance($("#taskName")).deleteChip();
Session.set("taskDateArr", []);
$("#taskDate").val("");
$("#taskUser").val("");
$('select').formSelect();

View file

@ -12,12 +12,12 @@ TaskItems.allow({
});
Meteor.methods({
'add.task' (taskName, assignedTo, assignedToId, taskDate, actDate) {
check(taskName, String);
'add.task' (taskNameArr, assignedTo, assignedToId, taskDateArr, actDate) {
check(taskNameArr, [Object]);
check(assignedTo, String);
check(taskDate, String);
check(taskDateArr, [String]);
check(assignedToId, String);
check(actDate, Date);
check(actDate, [Date]);
if (!this.userId) {
throw new Meteor.Error('You are not allowed to add tasks. Make sure you are logged in with valid user credentials.');
@ -33,17 +33,21 @@ Meteor.methods({
username = assignedTo;
}
return TaskItems.insert({
taskName: taskName,
taskDate: taskDate,
actualDate: actDate,
assignedTo: username,
assignedToId: assignedToId,
isComplete: false,
completedOn: null,
assignedOn: new Date(),
assignedBy: this.userId,
});
for (i=0; i < taskDateArr.length; i++) {
for (j=0; j < taskNameArr.length; j++) {
TaskItems.insert({
taskName: taskNameArr[j].tag,
taskDate: taskDateArr[i],
actualDate: actDate[i],
assignedTo: username,
assignedToId: assignedToId,
isComplete: false,
completedOn: null,
assignedOn: new Date(),
assignedBy: this.userId,
});
}
}
},
'edit.task' (taskId, taskName, assignedTo, taskDate) {
check(taskId, String);