var _contractSearchUrl = ""; var _contractDetailsUrl = ""; var _contractGrid; var _contractUrl = ""; var _searchParams = ""; var _dataTable; function buildSearchParameters() { _searchParams = getSearchParameters($("#Keyword").val(), $("#ContractType").val(), $("#ContractNumber").val(), $("#ContractCategory").val(), $("#VendorNumber").val(), $("#VendorName").val(), $("#StartDate").val(), $("#EndDate").val(), $("#ProductCategory").val(), $("#ProductCategoryDescription").val(), $("#MaterialNumber").val(), $("#ItemDescription").val()); return _searchParams; } function getSearchParameters(keyword, contractType, contractNumber, contractCategory, vendorNumber, vendorName, startDate, endDate, productCategory, productCategoryDescription, materialNumber, itemDescription, autoloadGrid) { var params = "?AppId=1" + ((keyword) ? "&Keyword=" + keyword : "") + ((contractType) ? "&ContractType=" + contractType : "") + ((contractNumber) ? "&ContractNumber=" + contractNumber : "") + ((contractCategory) ? "&ContractCategory=" + contractCategory : "") + ((vendorNumber) ? "&VendorNumber=" + vendorNumber : "") + ((vendorName) ? "&VendorName=" + vendorName : "") + ((startDate) ? "&StartDate=" + startDate : "") + ((endDate) ? "&EndDate=" + endDate : "") + ((productCategory) ? "&ProductCategory=" + productCategory : "") + ((productCategoryDescription) ? "&ProductCategoryDescription=" + productCategoryDescription : "") + ((materialNumber) ? "&MaterialNumber=" + materialNumber : "") + ((itemDescription) ? "&ItemDescription=" + itemDescription : "") + ((autoloadGrid) ? "&autoloadGrid=" + autoloadGrid : ""); return params; } function gridReload(controllerUrl, searchParam) { _dataTable.fnReloadAjax(controllerUrl + searchParam, null, true); } function SearchGrid() { gridReload(_contractSearchUrl, buildSearchParameters()); } function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for (var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } function returnSearch(returnUrl) { _searchParams = getSearchParameters(getUrlVars()["Keyword"], getUrlVars()["ContractType"], getUrlVars()["ContractNumber"], getUrlVars()["ContractCategory"], getUrlVars()["VendorNumber"], getUrlVars()["VendorName"], getUrlVars()["StartDate"], getUrlVars()["EndDate"], getUrlVars()["ProductCategory"], getUrlVars()["ProductCategoryDescription"], getUrlVars()["MaterialNumber"], getUrlVars()["ItemDescription"], true); window.location = returnUrl + "" + _searchParams; } function deleteContract(deleteUrl, id) { if (confirm('Are you sure you want to delete this Contract?')) { _searchParams = getSearchParameters(getUrlVars()["Keyword"], getUrlVars()["ContractType"], getUrlVars()["ContractNumber"], getUrlVars()["ContractCategory"], getUrlVars()["VendorNumber"], getUrlVars()["VendorName"], getUrlVars()["StartDate"], getUrlVars()["EndDate"], getUrlVars()["ProductCategory"], getUrlVars()["ProductCategoryDescription"], getUrlVars()["MaterialNumber"], getUrlVars()["ItemDescription"], true); window.location = deleteUrl + "" + _searchParams + "&id=" + id; } else { return false; } return true; } function deleteAttachment(id) { if (confirm('Are you sure you want to delete this Attachment?')) { _searchParams = getSearchParameters(getUrlVars()["Keyword"], getUrlVars()["ContractType"], getUrlVars()["ContractNumber"], getUrlVars()["ContractCategory"], getUrlVars()["VendorNumber"], getUrlVars()["VendorName"], getUrlVars()["StartDate"], getUrlVars()["EndDate"], getUrlVars()["ProductCategory"], getUrlVars()["ProductCategoryDescription"], getUrlVars()["MaterialNumber"], getUrlVars()["ItemDescription"], true); $.getJSON("/dfa/contract_bid_search/Contract/DeleteContractAttachment/?id=" + id, function(data) { location.reload(); }); } else { return false; } return true; } function addAttachment(attachmentUrl, id, url, desc) { _searchParams = getSearchParameters(getUrlVars()["Keyword"], getUrlVars()["ContractType"], getUrlVars()["ContractNumber"], getUrlVars()["ContractCategory"], getUrlVars()["VendorNumber"], getUrlVars()["VendorName"], getUrlVars()["StartDate"], getUrlVars()["EndDate"], getUrlVars()["ProductCategory"], getUrlVars()["ProductCategoryDescription"], getUrlVars()["MaterialNumber"], getUrlVars()["ItemDescription"], true); var jsonUrl = attachmentUrl + "" + _searchParams + "&id=" + id + "&url=" + url + "&desc=" + desc; $.getJSON(jsonUrl, function (data) { $('#attachmentTable').append('Attachments
' + data.desc + '
' + ' '); }); } function InitializeDataTable(searchUrl, detailsUrl, gridSelector) { _searchParams = buildSearchParameters(); _contractSearchUrl = searchUrl; _contractDetailsUrl = detailsUrl; _contractGrid = gridSelector; _dataTable = $(_contractGrid).dataTable({ "sDom": "rt", "bProcessing": true, "searching": false, "sPaginationType": "full_numbers", "responsive": true, "bServerSide": true, "sAjaxSource": _contractSearchUrl + _searchParams, "deferLoading": 0, "iDisplayLength": 9999, "fnServerData": function(url, data, callback) { $.ajax({ "url": url, "data": data, "success": callback, "dataType": "json", "type": "POST", "cache": false, "error": function() { alert("DataTables warning: JSON data from server failed to load or be parsed. " + "This is most likely to be caused by a JSON formatting error."); } }); }, "aoColumns": [ { "mData": "ContractNumber", "render": function(data, type, row) { return "" + data + ""; } }, { "mData": "ObjectID", "render": function(data, type, row) { if (data !== null) return "" + data + ""; return ""; } }, { "mData": "PrimaryVendor", "render": function(data, type, row) { return data; } }, { "mData": "ShortDescription", "render": function (data, type, row) { var desc = "

" + data + "

"; $(row.Attachments).each(function(index) { desc += "" + "Attachment - " + row.Attachments[index].Description + "" + "
"; }); return desc; } }, { "mData": "StartDate", "render": function(data, type, row) { if (data !== null) return moment(data).format("MM/DD/YYYY"); return ""; } }, { "mData": "EndDate", "render": function(data, type, row) { if (data !== null) return moment(data).format("MM/DD/YYYY"); return ""; } }, { "mData": "PCardEnabled", "render": function(data, type, row) { if (row.PCardEnabled === "01") return "Yes"; if (row.PCardEnabled === "02") return "No"; return ""; } }, { "render": function(data, type, row) { return "View Contact" + ""; } } ], "aoColumnDefs": [ { "bSortable": false, "aTargets": [7] } ] }); if (getUrlVars()["autoloadGrid"] === 'true') SearchGrid(); } function formatPhone(text) { text = text.replace(/(\d{3})(\d{3})(\d{4})/, "($1) $2-$3"); return text; }