Subversion Repositories SmartDukaan

Rev

Rev 34575 | Blame | Compare with Previous | Last modification | View Log | RSS feed

$(document).on('change', '.catalogId', function () {
    let qty = $(this).find('option:selected').data('qty');
    $('#quantity').val(qty);
});

function initializeSelect(selector, type='catalogs') {
    if (type === 'catalogs') {
        $(selector).multiselect('destroy');
        $(selector).multiselect({
            includeSelectAllOption: false,
            multiple: false,
            maxHeight: 200,
            buttonWidth: '100%',
            numberDisplayed: 1,
            nonSelectedText: '-- Select One --',
            nSelectedText: ' - Selected',
            enableFiltering: true,
            enableCaseInsensitiveFiltering: true
        });
    } else {
        $(selector).select2({
            placeholder: "Select or add new",
            tags: true,
            createTag: params => ({ id: params.term, text: params.term, newOption: true }),
            templateResult: data => data.newOption ? $('<span class="new-option">Add: ' + data.text + '</span>') : data.text,
        });
    }
}

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;
}

$(document).on('click', ".liquidation-list", function () {
    doGetAjaxRequestHandler(context + "/liquidation", (response) => {
            $('#main-content').html(response);
            initializeSelect('#catalogId, #status')
            $('#liquidation-table').DataTable({
                order: [[5, 'desc']]
            });

        });
});

$(document).on('click', ".save-liquidation", function () {
    const params = serializeFormToJson('form#biddingForm');
    params.restricted = $('#restricted:checked').length;
    if (!params.catalogId || params.catalogId === "") {
        alert("Please select the catalog");
        return false;
    }
    if (!params.price || params.price === "") {
        alert("Bidding Price can not be empty");
        return false;
    }
    if (!params.startDate || params.startDate === "") {
        alert("Please select the start date");
        return false;
    }
    if (!params.endDate || params.endDate === "") {
        alert("Please select the end date");
        return false;
    }
    params.endDate = ((params.endDate.split("T"))[0]+"T19:30");
    doAjaxRequestWithJsonHandler(context + "/liquidation", "POST", JSON.stringify(params), (response) => {
        if (response) {
            $('.liquidation-list').trigger('click');
            $('#manageLiquidationModal').modal('hide');
            alert("Saved successfully");
        } else {
            alert("Something went wrong!");
        }
    });
});

function editLiquidation(id) {
    doGetAjaxRequestHandler(`${context}/liquidation/${id}`, (response) => {
        if (response.statusCode == 200){
            $('#manageLiquidationModal').modal('show');
            let names = Object.keys(response.response);
            if (names.length){
                names.forEach(name => {
                    if(name === 'restricted') $(`#${name}`).prop('checked', response.response['restricted']);
                    $(`#${name}`).val(response.response[name]);
                    if (name === 'catalogId' || name === 'status') $(`#${name}`).multiselect('refresh');
                })
            }
        }
    });
}

function deleteLiquidation(id) {
    if (confirm("Are you sure you want to delete this record")) {
        if (id > 0) {
            doDeleteAjaxRequestHandler(`${context}/liquidation/${id}`, (response) => {
                if (response) {
                    $(this).parent('td').closest('tr').remove();
                    $('.liquidation-list').trigger('click');
                    alert("Deleted successfully");
                } else {
                    alert("Something went wrong!");
                }
            });
        } else {
            alert("Liquidation not found");
        }
    }
}

$(document).on('click','.publish-liquidation', function () {
    const mediaId = $('#mediaId').val();
    const liquidationIds = $('.selectLiquidations:checked').map(function() { return $(this).val();}).get().join(',');
    if (!mediaId) {
        alert("Please choose a media file");
        return;
    }
    if (!liquidationIds) {
        alert("Please choose a bid");
        return;
    }
    doAjaxRequestWithJsonHandler(context + "/liquidation/publish", "POST", JSON.stringify({'mediaId': mediaId,'liquidationIds':liquidationIds}), (response) => {
        if (response) {
            $('.liquidation-list').trigger('click');
            $('#publishLiquidationModal').modal('hide');
            alert("Published successfully!");
        } else {
            alert("Something went wrong!");
        }
    });
});