working on modal for new members

This commit is contained in:
Corban-Lee 2023-05-09 09:59:05 +01:00
parent 79d391d171
commit af081df0cf
2 changed files with 35 additions and 13 deletions

View File

@ -16,10 +16,10 @@
</div>
<div class="col-sm-3 col-md-6 col-xl-4 mb-3 mb-sm-0">
<div class="input-group justify-content-xl-end">
<button class="btn btn-outline-secondary border-secondary-subtle" data-bs-toggle="tooltip" data-bs-title="Add Member">
<button class="btn btn-outline-secondary border-secondary-subtle" id="addMember" data-bs-toggle="tooltip" data-bs-title="Add Member">
<i class="bi bi-person"></i>
</button>
<button class="btn btn-outline-secondary border-secondary-subtle" data-bs-toggle="tooltip" data-bs-title="Add Team">
<button class="btn btn-outline-secondary border-secondary-subtle" id="addTeam" data-bs-toggle="tooltip" data-bs-title="Add Team">
<i class="bi bi-people"></i>
</button>
</div>

View File

@ -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");