get_my/client/AdminMgmt/Tasks/taskTbl.js
2025-06-21 07:28:59 -05:00

57 lines
No EOL
1.8 KiB
JavaScript

import { TaskItems } from '../../../imports/api/tasks.js';
import moment from 'moment';
import { M } from '../../lib/assets/materialize.js';
Template.taskTbl.onCreated(function() {
this.subscribe("allTasks");
});
Template.taskTbl.onRendered(function() {
var elem = document.querySelectorAll('.modal');
var instance = M.Modal.init(elem, {});
Session.set("hideCompletedTasks", false);
});
Template.taskTbl.helpers({
tasks: function() {
let hideComp = Session.get("hideCompletedTasks");
if (hideComp == false) {
return TaskItems.find({}, { sort: { actualDate: 1 }});
} else {
return TaskItems.find({ isComplete: false }, { sort: { actualDate: 1 }});
}
},
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;
const markComp = async() => {
let result = await Meteor.callAsync("markTask.complete", taskId);
if (!result) {
console.log(" ERROR marking task completeL " + err);
showSnackbar("ERROR Marking Task Complete!", "red");
} else {
showSnackbar("Successfully Marked Task Complete!", "green");
}
}
markComp();
},
});