Rev 34814 | Blame | Compare with Previous | Last modification | View Log | RSS feed
function initializeSelect(selector, type='parent') {$(selector).multiselect({includeSelectAllOption: false,multiple: false,maxHeight: 200,buttonWidth: '100%',numberDisplayed: 1,nonSelectedText: '-- Select One --',nSelectedText: ' - Selected',enableFiltering: true,enableCaseInsensitiveFiltering: true,tags: false});}function validateRequiredFields(fields) {let isValid = true;fields.each(function () {if (!$(this).val()) {isValid = false;$(this).addClass('is-invalid');} else {$(this).removeClass('is-invalid');}});return isValid;}function resetForm(form) {$(form).trigger('reset');$('#imgPreview').attr("src","");$('#imageId').val("");}$(document).on('click', ".category-list", function () {doGetAjaxRequestHandler(context + "/categories",(response) => {$('#main-content').html(response);initializeSelect('#parent_id', 'parent');// Remove category$('#manageCategory').on('click', '.removeExisting', function () {if (confirm("Are you sure you want to remove this row?")) {$(this).closest('tr').remove();}});$('#categories').on('click', '.view-category', function (ev) {ev.preventDefault();let categoryId = $(this).parent().parent('tr').data('id');doGetAjaxRequestHandler(context + "/categories/"+categoryId,(response) => {response = JSON.parse(response);$('#category_id').val(response.id);$('#parent_id').val(response.parentCategoryId).trigger('change');$('#label').val(response.label);$('#display_name').val(response.displayName);$('#description').val(response.description);$('#imageId').val(response.imageId);$('#featured').prop('checked', response.featured);if(response.imageId > 0) {const img = $('#imgPreview');img.attr("src","http://localhost:8080/document/" + response.imageId);}$('#manageCategory').modal('show');});});// Initialize DataTable$('#categories').DataTable();});});$(document).on('click', ".save_category", function () {const requiredFields = $('#label, #display_name, #description');if (!validateRequiredFields(requiredFields)) {alert('Please fill all required fields.');return;}const params = {id: parseInt($('#category_id').val()) || 0,parentCategoryId: parseInt($('#parent_id').val()),label: $('#label').val(),displayName: $('#display_name').val(),description: $('#description').val(),imageId: parseInt($('#imageId').val()),featured: $('#featured').prop('checked'),};console.log('params',params);doAjaxRequestWithJsonHandler(context + "/categories", "POST", JSON.stringify(params), (response) => {if (response) {$('.category-list').trigger('click');$('#manageCategory').modal('hide');alert("Saved successfully");} else {alert("Something went wrong!");}});});$(document).on('click', ".delete-category", function() {const id = parseInt($(this).closest('td').data('id')) || 0;if (confirm("Are you sure you want to delete this record")) {if (id > 0) {doDeleteAjaxRequestHandler(context + "/categories/" + id, (response) => {if (response) {$(this).parent('td').closest('tr').remove();$('.category-list').trigger('click');alert("Deleted successfully");} else {alert("Something went wrong!");}});} else {$(this).parent('td').closest('tr').remove();}}});