Subversion Repositories SmartDukaan

Rev

Rev 23882 | Rev 28300 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed

$(function() {
        $(".create-warehouse").live('click', function() {
                loadCreateWarehouse("main-content");
        });
        
        $(".warehouses").live('click', function() {
                loadWarehouses("main-content");
        });
        
        $(".instruction-items").live('click', function() {
                getAuthorisedWarehouses(function(warehouseId){
                        loadInstructionItems(warehouseId, "main-content");
                });
        });
        
        $(".add-remove-warehouse").live('click', function() {
                loadAddRemoveWarehouse("main-content");
        });
        
        $("#warehouses-paginated .next").live('click', function() {
                loadPaginatedNextItems('/getPaginatedWarehouses', null, 'warehouses-paginated', 'warehouses-table', null);
                $(this).blur();
    });
        
        $("#warehouses-paginated .previous").live('click', function() {
                loadPaginatedPreviousItems('/getPaginatedWarehouses', null, 'warehouses-paginated', 'warehouses-table', null);
                $(this).blur();
    });
        
        $(".add-remove-warehouse-button").live('click', function() {
                var emailIdOrMobileNumber = $('#emailIdOrMobileNumber').val();
                var warehouseIds = $('#user-warehouses').val();
                addRemoveWarehouses("main-content", emailIdOrMobileNumber, warehouseIds);
        });
        
        
        $("#instructionItemButton").live('click', function() {
        var warehouseId = $("#warehouseId").val();
        var userId = $("#instructionItemModel .userId").val();
        var itemIdQuantityMap = {};
        $("#instructionItemsContainer .instruction-item-item-id-quantity").each(function() {
                var $itemIdQuantity = $(this);
                var itemId = $itemIdQuantity.find('.itemId').val();
                console.log('itemId : '+itemId);
                var quantity = $itemIdQuantity.find('.quantity').val();
                if(quantity == null || quantity <= 0){
                        quantity = 1;
                }
                console.log('quantity : '+quantity);
                itemIdQuantityMap[itemId] = quantity;
        });
        submitInstructionItem(warehouseId, userId, itemIdQuantityMap);
        return false;
    });
        
});

function configureUserWarehousesDropDown(){
        $(document).ready(function() {
        $('#user-warehouses').multiselect({
                        includeSelectAllOption: true,
                        maxHeight: 200,
                        buttonWidth: '280px',
                        numberDisplayed: 1,
                        nonSelectedText: 'Warehouses',
                        nSelectedText: ' - Warehouses Selected',
                        allSelectedText: 'All Warehouses Selected',
                        enableFiltering: true
        });
    });
}

function instructionItemDialog(){
    var warehouseId = $('#admin-warehouses').val();
    var warehouseName = $('#admin-warehouses option:selected').text();
    var itemIdItemDescriptionDiv = '<div>';
    $("#warehouse-instruction-items option:selected").each(function() {
        console.log(this);
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<div class="row instruction-item-item-id-quantity">';
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<div class="col-lg-6">';
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<input class="itemId" hidden value="'+this.value+'"/>';
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<p class="form-control">' + this.text + '</p>';
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '</div>';
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<div class="col-lg-2">';
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<input type="text" class="form-control quantity" placeholder="Quantity" />';
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '</div>';
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '</div>';
    });
    itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '</div>';
    
    var userId = $('#fofo-users').val();
    var userEmailId = $('#fofo-users option:selected').text();
    
    console.log("warehouseId : "+warehouseId);
    console.log("warehouseName : "+warehouseName);
    console.log("userId : "+userId);
    console.log("userEmailId : "+userEmailId);

    $("#instructionItemModel .warehouseId").val(warehouseId);
    $("#instructionItemModel .userId").val(userId);
    
    //$(".modal-body .warehouseInformation>span").text(warehouseName);
    $(".modal-body .userInformation>span").text(userEmailId);
    $( "#instructionItemsContainer" ).empty();
    $("#instructionItemsContainer").html(itemIdItemDescriptionDiv);

}

function submitInstructionItem(warehouseId, userId, itemIdQuantityMap){
    var postData = JSON.stringify({"warehouseId":parseInt(warehouseId), "userId":userId, "itemIdQuantityMap":itemIdQuantityMap});
    doPostAjaxRequestWithJsonHandler(context+"/instructionItem", postData, function(response){
        $('#main-content').html(response);
        alert("Instructoin created successfully");
    });
}

function configureWarehouseInstructionItemsDropDown(){
        $(document).ready(function() {
        $('#warehouse-instruction-items').multiselect({
                multiple:true,
                includeSelectAllOption: true,
                maxHeight: 200,
                buttonWidth: '200px',
                numberDisplayed: 1,
                nonSelectedText: 'Items',
                nSelectedText: ' - Items Selected',
                allSelectedText: 'All Items Selected',
                enableFiltering: true
        });
    });
}

function configureWarehousesDropDown(){
        $(document).ready(function() {
        $('#admin-warehouses').multiselect({
                multiple:false,
                includeSelectAllOption: true,
                maxHeight: 200,
                buttonWidth: '200px',
                numberDisplayed: 1,
                nonSelectedText: 'Warehouses',
                nSelectedText: ' - Warehouses Selected',
                allSelectedText: 'All Warehouses Selected',
                enableFiltering: true
        });
    });
}

function loadCreateWarehouse(domId){
        doGetAjaxRequestHandler(context+"/createWarehouse", function(response){
                $('#' + domId).html(response);
        });
}

function loadWarehouses(domId){
        doGetAjaxRequestHandler(context+"/getWarehouses", function(response){
                $('#' + domId).html(response);
        });
}

function loadWarehouseInstructionItemsByWarehouseId(domId, warehouseId){
        doGetAjaxRequestHandler(context+"/getInstructionItemsByWarehouseId?warehouseId="+warehouseId, function(response){
                $('#' + domId).html(response);
                configureWarehouseInstructionItemsDropDown();
        });
}

function loadInstructionItems(warehouseId, domId){
        doGetAjaxRequestHandler(context+"/getInstructionItems/" + warehouseId, function(response){
                $('#' + domId).html(response);
        });
}

function loadAddRemoveWarehouse(domId){
        doGetAjaxRequestHandler(context+"/getAddRemoveWarehouse", function(response){
                $('#' + domId).html(response);
        });
}

function addRemoveWarehouses(domId, emailIdOrMobileNumber, warehouseIds){
        if(confirm("Are you sure you want to add or remove warehouses!") == true){
                doPostAjaxRequestWithJsonHandler(context+"/addRemoveWarehouses?emailIdOrMobileNumber="+emailIdOrMobileNumber, JSON.stringify(warehouseIds), function(response){
                        $('#' + domId).html(response);
                        $('#emailIdOrMobileNumber').val(emailIdOrMobileNumber);
                        getWarehousesByEmailIdOrMobileNumber();
                });
        }
}

function getWarehousesByEmailIdOrMobileNumber(){
        var emailIdOrMobileNumber = $('#emailIdOrMobileNumber').val();
        console.log("emailIdOrMobileNumber = "+emailIdOrMobileNumber);
        if(emailIdOrMobileNumber != ""){
                loadWarehousesByEmailIdOrMobileNumber("warehouses-container", emailIdOrMobileNumber);
        }
}

function loadWarehousesByEmailIdOrMobileNumber(domId, emailIdOrMobileNumber){
        doGetAjaxRequestHandler(context+"/userWarehouses?emailIdOrMobileNumber="+emailIdOrMobileNumber, function(response){
                $('#' + domId).html(response);
                configureUserWarehousesDropDown();
        });
}