diff --git a/src/mainapp/templates/teams.html b/src/mainapp/templates/teams.html index 5c9114e..9173135 100644 --- a/src/mainapp/templates/teams.html +++ b/src/mainapp/templates/teams.html @@ -16,10 +16,10 @@
- -
diff --git a/src/static/js/teams.js b/src/static/js/teams.js index 01e3f47..1778abe 100644 --- a/src/static/js/teams.js +++ b/src/static/js/teams.js @@ -164,6 +164,15 @@ function loadTeams(teams, highlightText="") { }); openEditMemberModal($(this).parent().data("member-id")); }); + + // Bind new member/team buttons + $("#addTeam").on("click", () => { + openEditTeamModal(-1); + }); + + $("#addMember").on("click", () => { + openEditMemberModal(-1); + }); } function fetchAndLoadTeams(search="", sortTeams="", sortMembers="") { @@ -172,9 +181,9 @@ function fetchAndLoadTeams(search="", sortTeams="", sortMembers="") { type: "post", data: { "csrfmiddlewaretoken": csrfMiddlewareToken, - "search": !isEmptyOrSpaces(search) ? search : null, // might not be necessary? TODO: re-evaluate - "sortTeams": sortTeams ? sortTeams : null, - "sortMembers": sortMembers ? sortMembers : null + "search": search, + "sortTeams": sortTeams, + "sortMembers": sortMembers }, error: (xhr, textStatus, errorThrown) => { alert(errorThrown); }, success: (result) => { @@ -214,12 +223,25 @@ function openEditTeamModal(teamNumber) { function openEditMemberModal(memberId) { + var modalTitle = "Add Member"; + var first = ""; + var last = ""; + var teamNumber = $(".team").map(function() { return $(this).data("number"); }).get(); // TODO: shorten this + var pegNumber = 0; + var firstPlaceholder = "Forename"; + var lastPlaceholder = "Surname"; + // Member data - const member = $(`.team-member[data-member-id='${memberId}']`); - const first = member.data("first"); - const last = member.data("last"); - const teamNumber = member.data("team-number"); - const pegNumber = member.data("peg-number"); + if (memberId !== -1) { + const member = $(`.team-member[data-member-id='${memberId}']`); + first = member.data("first"); + last = member.data("last"); + teamNumber = member.data("team-number"); + pegNumber = member.data("peg-number"); + firstPlaceholder = first; + lastPlaceholder = last; + modalTitle = "Edit: " + first + " " + last + } // Load teams as options $("#editMemberTeam").html(""); @@ -230,14 +252,14 @@ function openEditMemberModal(memberId) { }); // Load data to form - $("#editMemberName").text(first + " " + last); + $("#editMemberName").text(modalTitle); $("#editMemberFirstName").val(first); $("#editMemberLastName").val(last); $("#editMemberTeam").val(teamNumber); $("#editMemberPeg").val(pegNumber); - $("#editMemberFirstName").attr("placeholder", first); - $("#editMemberLastName").attr("placeholder", last); + $("#editMemberFirstName").attr("placeholder", firstPlaceholder); + $("#editMemberLastName").attr("placeholder", lastPlaceholder); $("#editMemberModal").modal("show");