$(document).ready(function() { checkall('contact-check-all', 'contact-chkbox'); $('#input-search').on('keyup', function() { var rex = new RegExp($(this).val(), 'i'); $('.searchable-items .items:not(.items-header-section)').hide(); $('.searchable-items .items:not(.items-header-section)').filter(function() { return rex.test($(this).text()); }).show(); }); $('.view-grid').on('click', function(event) { event.preventDefault(); /* Act on the event */ $(this).parents('.switch').find('.view-list').removeClass('active-view'); $(this).addClass('active-view'); $(this).parents('.searchable-container').removeClass('list'); $(this).parents('.searchable-container').addClass('grid'); $(this).parents('.searchable-container').find('.searchable-items').removeClass('list'); $(this).parents('.searchable-container').find('.searchable-items').addClass('grid'); }); $('.view-list').on('click', function(event) { event.preventDefault(); /* Act on the event */ $(this).parents('.switch').find('.view-grid').removeClass('active-view'); $(this).addClass('active-view'); $(this).parents('.searchable-container').removeClass('grid'); $(this).parents('.searchable-container').addClass('list'); $(this).parents('.searchable-container').find('.searchable-items').removeClass('grid'); $(this).parents('.searchable-container').find('.searchable-items').addClass('list'); }); $('#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('.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; } $html = '<div class="items">' + '<div class="item-content">' + '<div class="user-profile">' + '<div class="n-chk align-self-center text-center">' + '<label class="new-control new-checkbox checkbox-primary">' + '<input type="checkbox" class="new-control-input contact-chkbox">' + '<span class="new-control-indicator"></span>' + '</label>' + '</div>' + '<img src="assets/img/90x90.jpg">' + '<div class="user-meta-info">' + '<p class="user-name" data-name='+ $_nameValue +'>'+ $_nameValue +'</p>' + '<p class="user-work" data-occupation='+ $_occupationValue +'>'+ $_occupationValue +'</p>' + '</div>' + '</div>' + '<div class="user-email">' + '<p class="info-title">Email: </p>' + '<p class="usr-email-addr" data-email='+ $_emailValue +'>'+ $_emailValue +'</p>' + '</div>' + '<div class="user-location">' + '<p class="info-title">Location: </p>' + '<p class="usr-location" data-location='+ $_locationValue +'>'+ $_locationValue +'</p>' + '</div>' + '<div class="user-phone">' + '<p class="info-title">Phone: </p>' + '<p class="usr-ph-no" data-phone='+ $_phoneValue +'>'+ $_phoneValue +'</p>' + '</div>' + '<div class="action-btn">' + '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2 edit"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>'+ '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-user-minus delete"><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="23" y1="11" x2="17" y2="11"></line></svg>' '</div>' + '</div>' + '</div>'; $(".searchable-items > .items-header-section").after($html); $('#addContactModal').modal('hide'); 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('.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").off('click').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('.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'; } })