2022-08-16 16:46:14 -05:00
|
|
|
import { Lists } from '../../../imports/api/lists.js';
|
|
|
|
|
|
|
|
|
|
Template.listMgmtForm.onCreated(function() {
|
|
|
|
|
this.subscribe("myLists");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.listMgmtForm.onRendered(function() {
|
|
|
|
|
Session.set("listNameMiss", false);
|
|
|
|
|
Session.set("listNameEditMode", false);
|
2025-05-26 16:22:58 -05:00
|
|
|
Session.set("showCompletedLists", false);
|
2022-08-16 16:46:14 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.listMgmtForm.helpers({
|
|
|
|
|
listNameErr: function() {
|
|
|
|
|
return Session.get("listNameMiss");
|
|
|
|
|
},
|
|
|
|
|
editMode: function() {
|
|
|
|
|
return Session.get("listNameEditMode");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.listMgmtForm.events({
|
|
|
|
|
'click .saveListMgmt' (event) {
|
|
|
|
|
event.preventDefault();
|
|
|
|
|
let listName = $("#listNameInp").val();
|
2022-08-23 13:41:21 -05:00
|
|
|
let shared = $("#isShared").prop('checked');
|
2022-08-16 16:46:14 -05:00
|
|
|
|
|
|
|
|
if (listName == null || listName == "") {
|
|
|
|
|
Session.set("listNameMiss", true);
|
|
|
|
|
return;
|
|
|
|
|
} else {
|
2025-06-21 07:28:59 -05:00
|
|
|
addList(listName, shared);
|
2022-08-16 16:46:14 -05:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
'click .renameListMgmt' (event) {
|
|
|
|
|
event.preventDefault();
|
|
|
|
|
let listName = $("#listNameInp").val();
|
2022-08-23 13:41:21 -05:00
|
|
|
let shared = $("#isShared").prop('checked');
|
2022-08-16 16:46:14 -05:00
|
|
|
let listId = Session.get("listItemId");
|
|
|
|
|
|
|
|
|
|
if (listName == null || listName == "") {
|
|
|
|
|
Session.set("listNameMiss", true);
|
|
|
|
|
return;
|
|
|
|
|
} else {
|
2025-06-21 07:28:59 -05:00
|
|
|
editList(listId, listName, shared);
|
2022-08-16 16:46:14 -05:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
'submit .listAdd' (event) {
|
|
|
|
|
event.preventDefault();
|
|
|
|
|
let editMode = Session.get("listNameEditMode");
|
2022-08-23 13:41:21 -05:00
|
|
|
let shared = $("#isShared").prop("checked");
|
2022-08-16 16:46:14 -05:00
|
|
|
let listName = $("#listNameInp").val();
|
|
|
|
|
let listId = Session.get("listItemId");
|
|
|
|
|
|
|
|
|
|
if (listName == null || listName == "") {
|
|
|
|
|
Session.set("listNameMiss", true);
|
|
|
|
|
return;
|
|
|
|
|
} else {
|
|
|
|
|
if (editMode == false) {
|
2025-06-21 07:28:59 -05:00
|
|
|
addList(listName, shared);
|
2022-08-16 16:46:14 -05:00
|
|
|
} else {
|
2025-06-21 07:28:59 -05:00
|
|
|
editList(listId, listName, shared);
|
2022-08-16 16:46:14 -05:00
|
|
|
}
|
|
|
|
|
}
|
2025-05-26 16:22:58 -05:00
|
|
|
},
|
|
|
|
|
'change #isCompleted' (event) {
|
|
|
|
|
Session.set("showCompletedLists", true);
|
|
|
|
|
},
|
2025-06-21 07:28:59 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const addList = async(listName, shared) => {
|
|
|
|
|
let result = await Meteor.callAsync('add.list', listName, shared);
|
|
|
|
|
if (!result) {
|
2025-07-22 13:50:49 -05:00
|
|
|
console.log("Nothing returned from method call add.list");
|
2025-06-21 07:28:59 -05:00
|
|
|
} else {
|
|
|
|
|
$("#listNameInp").val("");
|
|
|
|
|
$("#isShared").prop("checked", false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const editList = async(listId, listName, shared) => {
|
|
|
|
|
let result = await Meteor.callAsync('edit.list', listId, listName, shared);
|
|
|
|
|
if (!result) {
|
2025-07-22 13:50:49 -05:00
|
|
|
// console.log("Nothing returned from method call edit.list");
|
2025-06-21 07:28:59 -05:00
|
|
|
} else {
|
|
|
|
|
$("#listNameInp").val("");
|
|
|
|
|
$("#isShared").prop("checked", false);
|
|
|
|
|
Session.set("listNameEditMode", false);
|
|
|
|
|
}
|
|
|
|
|
}
|