From 605d138b0bf38e810e5c17141a57719f78f31ad5 Mon Sep 17 00:00:00 2001 From: Brian McGonagill Date: Thu, 1 Aug 2024 19:01:51 -0500 Subject: [PATCH] Updated MyTasks to work like Tasks (multi-select) --- client/AdminMgmt/Tasks/taskForm.js | 5 ++- client/MyTasks/myTasksForm.html | 20 ++++++----- client/MyTasks/myTasksForm.js | 54 ++++++++++++++++++++++++------ client/MyTasks/myTasksTbl.html | 2 +- 4 files changed, 59 insertions(+), 22 deletions(-) diff --git a/client/AdminMgmt/Tasks/taskForm.js b/client/AdminMgmt/Tasks/taskForm.js index c445eac..8dd95d3 100644 --- a/client/AdminMgmt/Tasks/taskForm.js +++ b/client/AdminMgmt/Tasks/taskForm.js @@ -69,13 +69,13 @@ Template.taskForm.events({ let taskDateErr = false; let userInfo; let actDate = []; - console.dir(taskNameArr); + // console.dir(taskNameArr); if (taskNameArr == null || taskNameArr == []) { taskNameErr = true; } - if (taskDate == null || taskDate == []) { + if (taskDateArr == null || taskDateArr == []) { taskDateErr = true; } else { for (i = 0; i < taskDateArr.length; i++) { @@ -97,7 +97,6 @@ Template.taskForm.events({ console.log(" ERROR adding the new task: " + err); } else { console.log(" SUCCESS adding the new task."); - M.Chips.getInstance($("#taskName")).deleteChip(); Session.set("taskDateArr", []); $("#taskDate").val(""); $("#taskUser").val(""); diff --git a/client/MyTasks/myTasksForm.html b/client/MyTasks/myTasksForm.html index fab1b11..751ec3d 100644 --- a/client/MyTasks/myTasksForm.html +++ b/client/MyTasks/myTasksForm.html @@ -1,16 +1,20 @@ \ No newline at end of file diff --git a/client/MyTasks/myTasksForm.js b/client/MyTasks/myTasksForm.js index b65363c..7d50d29 100644 --- a/client/MyTasks/myTasksForm.js +++ b/client/MyTasks/myTasksForm.js @@ -8,42 +8,70 @@ Template.myTasksForm.onCreated(function() { Template.myTasksForm.onRendered(function() { var elems = document.querySelectorAll('.datepicker'); var instances = M.Datepicker.init(elems, {}); + + var elemsd = document.querySelectorAll('.chips'); + var instancesd = M.Chips.init(elemsd, {}); + Session.set("hideComplete", true); Session.set("onlyToday", true); + Session.set("taskDateArr", []); }); Template.myTasksForm.helpers({ - + taskDates: function() { + return Session.get("taskDateArr"); + }, }); Template.myTasksForm.events({ 'click .addNewTask' (event) { event.preventDefault(); - let taskName = $("#myTaskName").val(); - let taskDate = $("#myTaskDate").val(); - let actDate = new Date(taskDate); + let taskNameErr = false; + let taskDateErr = false; + let elemsc = document.getElementById('taskName'); + let taskNameArray = M.Chips.getInstance(elemsc).chipsData; + let taskDateArray = Session.get("taskDateArr"); + let actDate = []; - if (taskName == null || taskName == "" || taskDate == "" || taskDate == null) { - taskEntryErr = true; - showSnackbar("Task Name and Date are Required!", "red"); - return; + if (taskNameArray == null || taskNameArray == [] || taskNameArray == "") { + taskNameErr = true; + } + + if (taskDateArray == null || taskDateArray == []|| taskDateArray == "") { + taskDateErr = true; } else { - Meteor.call("add.mytask", taskName, "self", "selfId", taskDate, actDate, function(err, result) { + for (i = 0; i < taskDateArray.length; i++) { + // console.log(taskDateArray[i]); + let actDateTask = new Date(taskDateArray[i]); + actDate.push(actDateTask); + } + } + + console.log("Date Error: " + taskDateErr + " - Name Error: " + taskNameErr); + if (taskDateErr == false && taskNameErr == false) { + Meteor.call("add.task", taskNameArray, "self", "selfId", taskDateArray, actDate, function(err, result) { if (err) { console.log(" ERROR adding task for self: " + err); showSnackbar("ERROR adding task for self!", "red"); } else { console.log(" SUCCESS adding task for self."); + Session.set("taskDateArr", []); $("#myTaskName").val(""); $("#myTaskDate").val(""); + showSnackbar("Added Tasks Successfully!", "green"); } }); + } else { + showSnackbar("Error! Both Task & Date are Required!", "red"); } + }, 'click #showMyCompletedTasks' (event) { let hide = $("#showMyCompletedTasks").prop('checked'); if (hide == true) { Session.set("hideComplete", false); + Session.set("onlyToday", false); + $("#showAllTasks").prop('checked', true); } else { Session.set("hideComplete", true); } @@ -56,5 +84,11 @@ Template.myTasksForm.events({ Session.set("onlyToday", true); } - } + }, + 'change #myTaskDate' (event) { + let taskDate = $("#myTaskDate").val(); + let taskDateArr = Session.get("taskDateArr"); + taskDateArr.push(taskDate); + Session.set("taskDateArr", taskDateArr); + }, }); \ No newline at end of file diff --git a/client/MyTasks/myTasksTbl.html b/client/MyTasks/myTasksTbl.html index b826d6a..9f86973 100644 --- a/client/MyTasks/myTasksTbl.html +++ b/client/MyTasks/myTasksTbl.html @@ -2,7 +2,7 @@