/home/desid573/public_html/ims2/public/js
NameSizeModeActions
access.js18500644editdlrm
admin.js246560644editdlrm
chart.js1420920644editdlrm
dashboard.js63540644editdlrm
items.js227220644editdlrm
jquery.backstretch.min.js42330644editdlrm
jquery.min.js843450644editdlrm
jquery.number.min.js53480644editdlrm
main.js175930644editdlrm
transactions.js522190644editdlrm
Edit: /home/desid573/public_html/ims2/public/js/items.js (22722B)
'use strict'; $(document).ready(function(){ checkDocumentVisibility(checkLogin);//check document visibility in order to confirm user's log in status //load all items once the page is ready lilt(); //WHEN USE BARCODE SCANNER IS CLICKED $("#useBarcodeScanner").click(function(e){ e.preventDefault(); $("#itemCode").focus(); }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Toggle the form to add a new item */ $("#createItem").click(function(){ $("#itemsListDiv").toggleClass("col-sm-8", "col-sm-12"); $("#createNewItemDiv").toggleClass('hidden'); $("#itemName").focus(); }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $(".cancelAddItem").click(function(){ //reset and hide the form document.getElementById("addNewItemForm").reset();//reset the form $("#createNewItemDiv").addClass('hidden');//hide the form $("#itemsListDiv").attr('class', "col-sm-12");//make the table span the whole div }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //execute when 'auto-generate' checkbox is clicked while trying to add a new item $("#gen4me").click(function(){ //if checked, generate a unique item code for user. Else, clear field if($("#gen4me").prop("checked")){ var codeExist = false; do{ //generate random string, reduce the length to 10 and convert to uppercase var rand = Math.random().toString(36).slice(2).substring(0, 10).toUpperCase(); $("#itemCode").val(rand);//paste the code in input $("#itemCodeErr").text('');//remove the error message being displayed (if any) //check whether code exist for another item $.ajax({ type: 'get', url: appRoot+"items/gettablecol/id/code/"+rand, success: function(returnedData){ codeExist = returnedData.status;//returnedData.status could be either 1 or 0 } }); } while(codeExist); } else{ $("#itemCode").val(""); } }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //handles the submission of adding new item $("#addNewItem").click(function(e){ e.preventDefault(); changeInnerHTML(['itemNameErr', 'itemQuantityErr', 'itemPriceErr', 'itemCodeErr', 'addCustErrMsg'], ""); var itemName = $("#itemName").val(); var itemQuantity = $("#itemQuantity").val(); var itemPrice = $("#itemPrice").val().replace(",", ""); var itemCode = $("#itemCode").val(); var itemDescription = $("#itemDescription").val(); if(!itemName || !itemQuantity || !itemPrice || !itemCode){ !itemName ? $("#itemNameErr").text("required") : ""; !itemQuantity ? $("#itemQuantityErr").text("required") : ""; !itemPrice ? $("#itemPriceErr").text("required") : ""; !itemCode ? $("#itemCodeErr").text("required") : ""; $("#addCustErrMsg").text("One or more required fields are empty"); return; } displayFlashMsg("Adding Item '"+itemName+"'", "fa fa-spinner faa-spin animated", '', ''); $.ajax({ type: "post", url: appRoot+"items/add", data:{itemName:itemName, itemQuantity:itemQuantity, itemPrice:itemPrice, itemDescription:itemDescription, itemCode:itemCode}, success: function(returnedData){ if(returnedData.status === 1){ changeFlashMsgContent(returnedData.msg, "text-success", '', 1500); document.getElementById("addNewItemForm").reset(); //refresh the items list table lilt(); //return focus to item code input to allow adding item with barcode scanner $("#itemCode").focus(); } else{ hideFlashMsg(); //display all errors $("#itemNameErr").text(returnedData.itemName); $("#itemPriceErr").text(returnedData.itemPrice); $("#itemCodeErr").text(returnedData.itemCode); $("#itemQuantityErr").text(returnedData.itemQuantity); $("#addCustErrMsg").text(returnedData.msg); } }, error: function(){ if(!navigator.onLine){ changeFlashMsgContent("You appear to be offline. Please reconnect to the internet and try again", "", "red", ""); } else{ changeFlashMsgContent("Unable to process your request at this time. Pls try again later!", "", "red", ""); } } }); }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //reload items list table when events occur $("#itemsListPerPage, #itemsListSortBy").change(function(){ displayFlashMsg("Please wait...", spinnerClass, "", ""); lilt(); }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $("#itemSearch").keyup(function(){ var value = $(this).val(); if(value){ $.ajax({ url: appRoot+"search/itemsearch", type: "get", data: {v:value}, success: function(returnedData){ $("#itemsListTable").html(returnedData.itemsListTable); } }); } else{ //reload the table if all text in search box has been cleared displayFlashMsg("Loading page...", spinnerClass, "", ""); lilt(); } }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //triggers when an item's "edit" icon is clicked $("#itemsListTable").on('click', ".editItem", function(e){ e.preventDefault(); //get item info var itemId = $(this).attr('id').split("-")[1]; var itemDesc = $("#itemDesc-"+itemId).attr('title'); var itemName = $("#itemName-"+itemId).html(); var itemPrice = $("#itemPrice-"+itemId).html().split(".")[0].replace(",", ""); var itemCode = $("#itemCode-"+itemId).html(); //prefill form with info $("#itemIdEdit").val(itemId); $("#itemNameEdit").val(itemName); $("#itemCodeEdit").val(itemCode); $("#itemPriceEdit").val(itemPrice); $("#itemDescriptionEdit").val(itemDesc); //remove all error messages that might exist $("#editItemFMsg").html(""); $("#itemNameEditErr").html(""); $("#itemCodeEditErr").html(""); $("#itemPriceEditErr").html(""); //launch modal $("#editItemModal").modal('show'); }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $("#editItemSubmit").click(function(){ var itemName = $("#itemNameEdit").val(); var itemPrice = $("#itemPriceEdit").val(); var itemDesc = $("#itemDescriptionEdit").val(); var itemId = $("#itemIdEdit").val(); var itemCode = $("#itemCodeEdit").val(); if(!itemName || !itemPrice || !itemId){ !itemName ? $("#itemNameEditErr").html("Item name cannot be empty") : ""; !itemPrice ? $("#itemPriceEditErr").html("Item price cannot be empty") : ""; !itemId ? $("#editItemFMsg").html("Unknown item") : ""; return; } $("#editItemFMsg").css('color', 'black').html(" Processing your request...."); $.ajax({ method: "POST", url: appRoot+"items/edit", data: {itemName:itemName, itemPrice:itemPrice, itemDesc:itemDesc, _iId:itemId, itemCode:itemCode} }).done(function(returnedData){ if(returnedData.status === 1){ $("#editItemFMsg").css('color', 'green').html("Item successfully updated"); setTimeout(function(){ $("#editItemModal").modal('hide'); }, 1000); lilt(); } else{ $("#editItemFMsg").css('color', 'red').html("One or more required fields are empty or not properly filled"); $("#itemNameEditErr").html(returnedData.itemName); $("#itemCodeEditErr").html(returnedData.itemCode); $("#itemPriceEditErr").html(returnedData.itemPrice); } }).fail(function(){ $("#editItemFMsg").css('color', 'red').html("Unable to process your request at this time. Please check your internet connection and try again"); }); }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //trigers the modal to update stock $("#itemsListTable").on('click', '.updateStock', function(){ //get item info and fill the form with them var itemId = $(this).attr('id').split("-")[1]; var itemName = $("#itemName-"+itemId).html(); var itemCurQuantity = $("#itemQuantity-"+itemId).html(); var itemCode = $("#itemCode-"+itemId).html(); $("#stockUpdateItemId").val(itemId); $("#stockUpdateItemName").val(itemName); $("#stockUpdateItemCode").val(itemCode); $("#stockUpdateItemQInStock").val(itemCurQuantity); $("#updateStockModal").modal('show'); }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //runs when the update type is changed while trying to update stock //sets a default description if update type is "newStock" $("#stockUpdateType").on('change', function(){ var updateType = $("#stockUpdateType").val(); if(updateType && (updateType === 'newStock')){ $("#stockUpdateDescription").val("New items were purchased"); } else{ $("#stockUpdateDescription").val(""); } }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //handles the updating of item's quantity in stock $("#stockUpdateSubmit").click(function(){ var updateType = $("#stockUpdateType").val(); var stockUpdateQuantity = $("#stockUpdateQuantity").val(); var stockUpdateDescription = $("#stockUpdateDescription").val(); var itemId = $("#stockUpdateItemId").val(); if(!updateType || !stockUpdateQuantity || !stockUpdateDescription || !itemId){ !updateType ? $("#stockUpdateTypeErr").html("required") : ""; !stockUpdateQuantity ? $("#stockUpdateQuantityErr").html("required") : ""; !stockUpdateDescription ? $("#stockUpdateDescriptionErr").html("required") : ""; !itemId ? $("#stockUpdateItemIdErr").html("required") : ""; return; } $("#stockUpdateFMsg").html(" Updating Stock....."); $.ajax({ method: "POST", url: appRoot+"items/updatestock", data: {_iId:itemId, _upType:updateType, qty:stockUpdateQuantity, desc:stockUpdateDescription} }).done(function(returnedData){ if(returnedData.status === 1){ $("#stockUpdateFMsg").html(returnedData.msg); //refresh items' list lilt(); //reset form document.getElementById("updateStockForm").reset(); //dismiss modal after some secs setTimeout(function(){ $("#updateStockModal").modal('hide');//hide modal $("#stockUpdateFMsg").html("");//remove msg }, 1000); } else{ $("#stockUpdateFMsg").html(returnedData.msg); $("#stockUpdateTypeErr").html(returnedData._upType); $("#stockUpdateQuantityErr").html(returnedData.qty); $("#stockUpdateDescriptionErr").html(returnedData.desc); } }).fail(function(){ $("#stockUpdateFMsg").html("Unable to process your request at this time. Please check your internet connection and try again"); }); }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //PREVENT AUTO-SUBMISSION BY THE BARCODE SCANNER $("#itemCode").keypress(function(e){ if(e.which === 13){ e.preventDefault(); //change to next input by triggering the tab keyboard $("#itemName").focus(); } }); //TO DELETE AN ITEM (The item will be marked as "deleted" instead of removing it totally from the db) $("#itemsListTable").on('click', '.delItem', function(e){ e.preventDefault(); //get the item id var itemId = $(this).parents('tr').find('.curItemId').val(); var itemRow = $(this).closest('tr');//to be used in removing the currently deleted row if(itemId){ var confirm = window.confirm("Are you sure you want to delete item? This cannot be undone."); if(confirm){ displayFlashMsg('Please wait...', spinnerClass, 'black'); $.ajax({ url: appRoot+"items/delete", method: "POST", data: {i:itemId} }).done(function(rd){ if(rd.status === 1){ //remove item from list, update items' SN, display success msg $(itemRow).remove(); //update the SN resetItemSN(); //display success message changeFlashMsgContent('Item deleted', '', 'green', 1000); } else{ } }).fail(function(){ console.log('Req Failed'); }); } } }); }); /** * "lilt" = "load Items List Table" * @param {type} url * @returns {undefined} */ function lilt(url){ var orderBy = $("#itemsListSortBy").val().split("-")[0]; var orderFormat = $("#itemsListSortBy").val().split("-")[1]; var limit = $("#itemsListPerPage").val(); $.ajax({ type:'get', url: url ? url : appRoot+"items/lilt/", data: {orderBy:orderBy, orderFormat:orderFormat, limit:limit}, success: function(returnedData){ hideFlashMsg(); $("#itemsListTable").html(returnedData.itemsListTable); }, error: function(){ } }); return false; } /** * "vittrhist" = "View item's transaction history" * @param {type} itemId * @returns {Boolean} */ function vittrhist(itemId){ if(itemId){ } return false; } function resetItemSN(){ $(".itemSN").each(function(i){ $(this).html(parseInt(i)+1); }); }