2022-09-05 15:30:20 -05:00
|
|
|
import { TaskItems } from '../../imports/api/tasks.js';
|
2024-07-23 08:11:40 -05:00
|
|
|
import { M } from '../lib/assets/materialize.js';
|
2022-09-05 15:30:20 -05:00
|
|
|
|
|
|
|
|
Template.myTasksForm.onCreated(function() {
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.myTasksForm.onRendered(function() {
|
2024-07-23 08:11:40 -05:00
|
|
|
var elems = document.querySelectorAll('.datepicker');
|
|
|
|
|
var instances = M.Datepicker.init(elems, {});
|
2024-08-01 19:01:51 -05:00
|
|
|
|
|
|
|
|
var elemsd = document.querySelectorAll('.chips');
|
|
|
|
|
var instancesd = M.Chips.init(elemsd, {});
|
|
|
|
|
|
2022-09-05 16:22:56 -05:00
|
|
|
Session.set("hideComplete", true);
|
|
|
|
|
Session.set("onlyToday", true);
|
2024-08-01 19:01:51 -05:00
|
|
|
Session.set("taskDateArr", []);
|
2022-09-05 15:30:20 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.myTasksForm.helpers({
|
2024-08-01 19:01:51 -05:00
|
|
|
taskDates: function() {
|
|
|
|
|
return Session.get("taskDateArr");
|
|
|
|
|
},
|
2022-09-05 15:30:20 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.myTasksForm.events({
|
|
|
|
|
'click .addNewTask' (event) {
|
|
|
|
|
event.preventDefault();
|
2024-08-01 19:01:51 -05:00
|
|
|
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 = [];
|
|
|
|
|
|
2025-07-22 08:34:24 -05:00
|
|
|
console.dir(taskNameArray);
|
|
|
|
|
console.dir(taskDateArray);
|
|
|
|
|
|
2024-08-01 19:01:51 -05:00
|
|
|
if (taskNameArray == null || taskNameArray == [] || taskNameArray == "") {
|
|
|
|
|
taskNameErr = true;
|
|
|
|
|
}
|
2022-09-05 15:30:20 -05:00
|
|
|
|
2024-08-01 19:01:51 -05:00
|
|
|
if (taskDateArray == null || taskDateArray == []|| taskDateArray == "") {
|
|
|
|
|
taskDateErr = true;
|
|
|
|
|
}
|
|
|
|
|
|
2025-06-24 13:16:42 -05:00
|
|
|
// console.log("Date Error: " + taskDateErr + " - Name Error: " + taskNameErr);
|
2024-08-01 19:01:51 -05:00
|
|
|
if (taskDateErr == false && taskNameErr == false) {
|
2025-07-22 08:34:24 -05:00
|
|
|
for (const task of taskNameArray) {
|
|
|
|
|
for (const date of taskDateArray) {
|
|
|
|
|
let actDate = new Date(date);
|
|
|
|
|
|
|
|
|
|
addTask(task.id, date, actDate);
|
2022-09-05 15:30:20 -05:00
|
|
|
}
|
2025-06-21 07:28:59 -05:00
|
|
|
}
|
2024-08-01 19:01:51 -05:00
|
|
|
} else {
|
|
|
|
|
showSnackbar("Error! Both Task & Date are Required!", "red");
|
2022-09-05 15:30:20 -05:00
|
|
|
}
|
2024-08-01 19:01:51 -05:00
|
|
|
|
2022-09-05 15:30:20 -05:00
|
|
|
},
|
2022-09-05 16:22:56 -05:00
|
|
|
'click #showMyCompletedTasks' (event) {
|
|
|
|
|
let hide = $("#showMyCompletedTasks").prop('checked');
|
2022-09-05 15:30:20 -05:00
|
|
|
if (hide == true) {
|
|
|
|
|
Session.set("hideComplete", false);
|
2024-08-01 19:01:51 -05:00
|
|
|
Session.set("onlyToday", false);
|
|
|
|
|
$("#showAllTasks").prop('checked', true);
|
2022-09-05 16:22:56 -05:00
|
|
|
} else {
|
|
|
|
|
Session.set("hideComplete", true);
|
2022-09-05 15:30:20 -05:00
|
|
|
}
|
|
|
|
|
},
|
2022-09-05 16:22:56 -05:00
|
|
|
'click #showAllTasks' (event) {
|
|
|
|
|
let onlyToday = $("#showAllTasks").prop('checked');
|
2022-09-05 15:30:20 -05:00
|
|
|
if (onlyToday == true) {
|
|
|
|
|
Session.set("onlyToday", false);
|
2022-09-05 16:22:56 -05:00
|
|
|
} else {
|
|
|
|
|
Session.set("onlyToday", true);
|
2022-09-05 15:30:20 -05:00
|
|
|
}
|
|
|
|
|
|
2024-08-01 19:01:51 -05:00
|
|
|
},
|
|
|
|
|
'change #myTaskDate' (event) {
|
|
|
|
|
let taskDate = $("#myTaskDate").val();
|
|
|
|
|
let taskDateArr = Session.get("taskDateArr");
|
|
|
|
|
taskDateArr.push(taskDate);
|
|
|
|
|
Session.set("taskDateArr", taskDateArr);
|
|
|
|
|
},
|
2025-07-22 08:34:24 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const addTask = async(task, date, actDate) => {
|
|
|
|
|
let result = await Meteor.callAsync("add.myTask", task, date, actDate);
|
|
|
|
|
if (!result) {
|
2025-07-23 19:44:24 -05:00
|
|
|
// console.log(" ERROR adding task for self: ");
|
2025-07-22 08:34:24 -05:00
|
|
|
showSnackbar("Error adding task for self!", "red");
|
|
|
|
|
} else {
|
2025-07-23 19:44:24 -05:00
|
|
|
// console.log(" SUCCESS adding task for self.");
|
2025-07-22 08:34:24 -05:00
|
|
|
// Session.set("taskDateArr", []);
|
|
|
|
|
// $("#myTaskName").val("");
|
|
|
|
|
// $("#myTaskDate").val("");
|
|
|
|
|
showSnackbar("Added Tasks Successfully!", "green");
|
|
|
|
|
}
|
|
|
|
|
}
|