2022-09-05 15:30:20 -05:00
|
|
|
import { TaskItems } from '../../imports/api/tasks.js';
|
|
|
|
|
import moment from 'moment';
|
2024-07-23 08:11:40 -05:00
|
|
|
import { M } from '../lib/assets/materialize.js';
|
2022-09-05 15:30:20 -05:00
|
|
|
|
|
|
|
|
Template.myTasksTbl.onCreated(function() {
|
|
|
|
|
this.subscribe("myTasks");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.myTasksTbl.onRendered(function() {
|
2024-07-23 08:11:40 -05:00
|
|
|
var elems = document.querySelectorAll('.collapsible');
|
|
|
|
|
var instances = M.Collapsible.init(elems, {});
|
|
|
|
|
|
|
|
|
|
var elemm = document.querySelectorAll('.modal');
|
|
|
|
|
var instancem = M.Modal.init(elemm, {});
|
2022-09-05 16:22:56 -05:00
|
|
|
Session.set("hideComplete", true);
|
|
|
|
|
Session.set("onlyToday", true);
|
2022-09-05 15:30:20 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.myTasksTbl.helpers({
|
|
|
|
|
tasks: function() {
|
|
|
|
|
let onlyToday = Session.get("onlyToday");
|
|
|
|
|
let hide = Session.get("hideComplete");
|
|
|
|
|
let todayIs = moment(new Date()).format("MMM DD, YYYY");
|
|
|
|
|
if (hide == true && onlyToday == false) {
|
|
|
|
|
return TaskItems.find({ isComplete: false }, { sort: { actualDate: 1 }});
|
|
|
|
|
} else if (hide == true && onlyToday == true) {
|
2022-09-16 16:19:53 -05:00
|
|
|
// return TaskItems.find({ isComplete: false, taskDate: todayIs }, { sort: { actualDate: 1 }});
|
|
|
|
|
return TaskItems.find({ isComplete: false, actualDate: { $lte: new Date()}}, { sort:{ actualDate: 1 }});
|
2022-09-05 15:30:20 -05:00
|
|
|
} else if (hide == false && onlyToday == true) {
|
|
|
|
|
return TaskItems.find({ taskDate: todayIs }, { sort: { actualDate: 1 }});
|
|
|
|
|
} else {
|
|
|
|
|
return TaskItems.find({}, { sort: { actualDate: 1 }});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
passedDate: function() {
|
|
|
|
|
let taskDate = new Date(this.taskDate);
|
|
|
|
|
let now = new Date()
|
2022-09-16 16:19:53 -05:00
|
|
|
now.setHours(0,0,0,0);
|
|
|
|
|
let diff = now <= taskDate;
|
2022-09-05 15:30:20 -05:00
|
|
|
let comp = this.isComplete;
|
|
|
|
|
if (diff == false && comp == false) {
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
compOn: function() {
|
|
|
|
|
if (this.isComplete == true) {
|
|
|
|
|
return moment(this.completedOn).format("MMM DD, YYYY");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.myTasksTbl.events({
|
|
|
|
|
'click .markMyTaskComplete' (event) {
|
|
|
|
|
event.preventDefault();
|
|
|
|
|
let taskId = this._id;
|
2025-06-21 07:28:59 -05:00
|
|
|
const makrTaskComp = async() => {
|
|
|
|
|
let result = await Meteor.callAsync("markTask.complete", taskId);
|
|
|
|
|
if (!result) {
|
2025-07-23 19:44:24 -05:00
|
|
|
// console.log(" ERROR marking task completeL " + err);
|
2022-09-05 15:30:20 -05:00
|
|
|
showSnackbar("ERROR Marking Task Complete!", "red");
|
|
|
|
|
} else {
|
|
|
|
|
showSnackbar("Successfully Marked Task Complete!", "green");
|
|
|
|
|
}
|
2025-06-21 07:28:59 -05:00
|
|
|
}
|
2022-09-05 15:30:20 -05:00
|
|
|
},
|
|
|
|
|
'click .deleteMyTask' (event) {
|
|
|
|
|
event.preventDefault();
|
2025-07-23 19:44:24 -05:00
|
|
|
// console.log("detected click");
|
2022-09-05 15:30:20 -05:00
|
|
|
Session.set("deleteId", this._id);
|
|
|
|
|
Session.set("method", "delete.task");
|
|
|
|
|
Session.set("item", this.taskName);
|
|
|
|
|
Session.set("view", "My Tasks");
|
|
|
|
|
}
|
|
|
|
|
});
|