You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

357 lines
12 KiB

$(function () {
function checkall(clickchk, relChkbox) {
var checker = $("#" + clickchk);
var multichk = $("." + relChkbox);
checker.click(function () {
multichk.prop("checked", $(this).prop("checked"));
$(".show-btn").toggle();
});
}
checkall("contact-check-all", "contact-chkbox");
$("#input-search").on("keyup", function () {
var rex = new RegExp($(this).val(), "i");
$(".search-table .search-items:not(.header-item)").hide();
$(".search-table .search-items:not(.header-item)")
.filter(function () {
return rex.test($(this).text());
})
.show();
});
$("#btn-add-contact").on("click", function (event) {
$("#addContactModal #btn-add").show();
$("#addContactModal #btn-edit").hide();
$("#addContactModal").modal("show");
});
function deleteContact() {
$(".delete").on("click", function (event) {
event.preventDefault();
/* Act on the event */
$(this).parents(".search-items").remove();
});
}
function addContact() {
$("#btn-add").click(function () {
var getParent = $(this).parents(".modal-content");
var $_name = getParent.find("#c-name");
var $_email = getParent.find("#c-email");
var $_occupation = getParent.find("#c-occupation");
var $_phone = getParent.find("#c-phone");
var $_location = getParent.find("#c-location");
var $_getValidationField =
document.getElementsByClassName("validation-text");
var reg = /^.+@[^\.].*\.[a-z]{2,}$/;
var phoneReg = /^\d*\.?\d*$/;
var $_nameValue = $_name.val();
var $_emailValue = $_email.val();
var $_occupationValue = $_occupation.val();
var $_phoneValue = $_phone.val();
var $_locationValue = $_location.val();
if ($_nameValue == "") {
$_getValidationField[0].innerHTML = "Name must be filled out";
$_getValidationField[0].style.display = "block";
} else {
$_getValidationField[0].style.display = "none";
}
if ($_emailValue == "") {
$_getValidationField[1].innerHTML = "Email Id must be filled out";
$_getValidationField[1].style.display = "block";
} else if (reg.test($_emailValue) == false) {
$_getValidationField[1].innerHTML = "Invalid Email";
$_getValidationField[1].style.display = "block";
} else {
$_getValidationField[1].style.display = "none";
}
if ($_phoneValue == "") {
$_getValidationField[2].innerHTML = "Invalid (Enter 10 Digits)";
$_getValidationField[2].style.display = "block";
} else if (phoneReg.test($_phoneValue) == false) {
$_getValidationField[2].innerHTML = "Please Enter A numeric value";
$_getValidationField[2].style.display = "block";
} else {
$_getValidationField[2].style.display = "none";
}
if (
$_nameValue == "" ||
$_emailValue == "" ||
reg.test($_emailValue) == false ||
$_phoneValue == "" ||
phoneReg.test($_phoneValue) == false
) {
return false;
}
var today = new Date();
var dd = String(today.getDate()).padStart(2, "0");
var mm = String(today.getMonth()); //January is 0!
var time = String(today.getTime());
var yyyy = today.getFullYear();
var monthNames = [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec",
];
today = dd + " " + monthNames[mm] + " " + yyyy;
var cdate = dd + mm + time;
$html =
'<tr class="search-items">' +
"<td>" +
'<div class="n-chk align-self-center text-center">' +
'<div class="form-check">' +
'<input type="checkbox" class="form-check-input contact-chkbox primary" id="' +
cdate +
'">' +
'<label class="form-check-label" for="' +
cdate +
'"></label>' +
"</div>" +
"</div>" +
"</td>" +
"<td>" +
'<div class="d-flex align-items-center">' +
'<img src="../assets/images/users/d1.jpg" alt="avatar" class="rounded-circle" width="45">' +
'<div class="ms-3">' +
'<div class="user-meta-info">' +
'<h5 class="user-name mb-0" data-name=' +
$_nameValue +
">" +
$_nameValue +
"</h5>" +
'<span class="user-work text-muted" data-occupation=' +
$_occupationValue +
">" +
$_occupationValue +
"</span>" +
"</div>" +
"</div>" +
"</div>" +
"</td>" +
"<td>" +
'<span class="usr-email-addr font-weight-medium" data-email=' +
$_emailValue +
">" +
$_emailValue +
"</span>" +
"</td>" +
"<td>" +
'<span class="usr-location font-weight-medium" data-location=' +
$_locationValue +
">" +
$_locationValue +
"</span>" +
"</td>" +
"<td>" +
'<span class="usr-ph-no font-weight-medium" data-phone=' +
$_phoneValue +
">" +
$_phoneValue +
"</span>" +
"</td>" +
"<td>" +
'<div class="action-btn">' +
'<a href="javascript:void(0)" class="text-info edit"><i data-feather="eye" class="feather-sm fill-white"></i></a>' +
'<a href="javascript:void(0)" class="text-dark delete ms-2"><i data-feather="trash-2" class="feather-sm fill-white"></i></a>' +
"</div>" +
"</td>" +
"</tr>";
$(".search-table > tbody >tr:first").before($html);
$("#addContactModal").modal("hide");
feather.replace();
var $_setNameValueEmpty = $_name.val("");
var $_setEmailValueEmpty = $_email.val("");
var $_setOccupationValueEmpty = $_occupation.val("");
var $_setPhoneValueEmpty = $_phone.val("");
var $_setLocationValueEmpty = $_location.val("");
deleteContact();
editContact();
checkall("contact-check-all", "contact-chkbox");
});
}
$("#addContactModal").on("hidden.bs.modal", function (e) {
var $_name = document.getElementById("c-name");
var $_email = document.getElementById("c-email");
var $_occupation = document.getElementById("c-occupation");
var $_phone = document.getElementById("c-phone");
var $_location = document.getElementById("c-location");
var $_getValidationField =
document.getElementsByClassName("validation-text");
var $_setNameValueEmpty = ($_name.value = "");
var $_setEmailValueEmpty = ($_email.value = "");
var $_setOccupationValueEmpty = ($_occupation.value = "");
var $_setPhoneValueEmpty = ($_phone.value = "");
var $_setLocationValueEmpty = ($_location.value = "");
for (var i = 0; i < $_getValidationField.length; i++) {
e.preventDefault();
$_getValidationField[i].style.display = "none";
}
});
function editContact() {
$(".edit").on("click", function (event) {
$("#addContactModal #btn-add").hide();
$("#addContactModal #btn-edit").show();
// Get Parents
var getParentItem = $(this).parents(".search-items");
var getModal = $("#addContactModal");
// Get List Item Fields
var $_name = getParentItem.find(".user-name");
var $_email = getParentItem.find(".usr-email-addr");
var $_occupation = getParentItem.find(".user-work");
var $_phone = getParentItem.find(".usr-ph-no");
var $_location = getParentItem.find(".usr-location");
// Get Attributes
var $_nameAttrValue = $_name.attr("data-name");
var $_emailAttrValue = $_email.attr("data-email");
var $_occupationAttrValue = $_occupation.attr("data-occupation");
var $_phoneAttrValue = $_phone.attr("data-phone");
var $_locationAttrValue = $_location.attr("data-location");
// Get Modal Attributes
var $_getModalNameInput = getModal.find("#c-name");
var $_getModalEmailInput = getModal.find("#c-email");
var $_getModalOccupationInput = getModal.find("#c-occupation");
var $_getModalPhoneInput = getModal.find("#c-phone");
var $_getModalLocationInput = getModal.find("#c-location");
// Set Modal Field's Value
var $_setModalNameValue = $_getModalNameInput.val($_nameAttrValue);
var $_setModalEmailValue = $_getModalEmailInput.val($_emailAttrValue);
var $_setModalOccupationValue = $_getModalOccupationInput.val(
$_occupationAttrValue
);
var $_setModalPhoneValue = $_getModalPhoneInput.val($_phoneAttrValue);
var $_setModalLocationValue =
$_getModalLocationInput.val($_locationAttrValue);
$("#addContactModal").modal("show");
$("#btn-edit").click(function () {
var getParent = $(this).parents(".modal-content");
var $_getInputName = getParent.find("#c-name");
var $_getInputNmail = getParent.find("#c-email");
var $_getInputNccupation = getParent.find("#c-occupation");
var $_getInputNhone = getParent.find("#c-phone");
var $_getInputNocation = getParent.find("#c-location");
var $_nameValue = $_getInputName.val();
var $_emailValue = $_getInputNmail.val();
var $_occupationValue = $_getInputNccupation.val();
var $_phoneValue = $_getInputNhone.val();
var $_locationValue = $_getInputNocation.val();
var setUpdatedNameValue = $_name.text($_nameValue);
var setUpdatedEmailValue = $_email.text($_emailValue);
var setUpdatedOccupationValue = $_occupation.text($_occupationValue);
var setUpdatedPhoneValue = $_phone.text($_phoneValue);
var setUpdatedLocationValue = $_location.text($_locationValue);
var setUpdatedAttrNameValue = $_name.attr("data-name", $_nameValue);
var setUpdatedAttrEmailValue = $_email.attr("data-email", $_emailValue);
var setUpdatedAttrOccupationValue = $_occupation.attr(
"data-occupation",
$_occupationValue
);
var setUpdatedAttrPhoneValue = $_phone.attr("data-phone", $_phoneValue);
var setUpdatedAttrLocationValue = $_location.attr(
"data-location",
$_locationValue
);
$("#addContactModal").modal("hide");
});
});
}
$(".delete-multiple").on("click", function () {
var inboxCheckboxParents = $(".contact-chkbox:checked").parents(
".search-items"
);
inboxCheckboxParents.remove();
});
deleteContact();
addContact();
editContact();
});
// Validation Process
var $_getValidationField = document.getElementsByClassName("validation-text");
var reg = /^.+@[^\.].*\.[a-z]{2,}$/;
var phoneReg = /^\d{10}$/;
getNameInput = document.getElementById("c-name");
getNameInput.addEventListener("input", function () {
getNameInputValue = this.value;
if (getNameInputValue == "") {
$_getValidationField[0].innerHTML = "Name Required";
$_getValidationField[0].style.display = "block";
} else {
$_getValidationField[0].style.display = "none";
}
});
getEmailInput = document.getElementById("c-email");
getEmailInput.addEventListener("input", function () {
getEmailInputValue = this.value;
if (getEmailInputValue == "") {
$_getValidationField[1].innerHTML = "Email Required";
$_getValidationField[1].style.display = "block";
} else if (reg.test(getEmailInputValue) == false) {
$_getValidationField[1].innerHTML = "Invalid Email";
$_getValidationField[1].style.display = "block";
} else {
$_getValidationField[1].style.display = "none";
}
});
getPhoneInput = document.getElementById("c-phone");
getPhoneInput.addEventListener("input", function () {
getPhoneInputValue = this.value;
if (getPhoneInputValue == "") {
$_getValidationField[2].innerHTML = "Phone Number Required";
$_getValidationField[2].style.display = "block";
} else if (phoneReg.test(getPhoneInputValue) == false) {
$_getValidationField[2].innerHTML = "Invalid (Enter 10 Digits)";
$_getValidationField[2].style.display = "block";
} else {
$_getValidationField[2].style.display = "none";
}
});