Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ajax urls used to init tables
- var searchResultsTableAjaxServletUrl = null;
- var relatedItemsTableAjaxServletUrl = null;
- var stockOnHandTableAjaxServletUrl = null;
- //flags indicating which tables to load
- var loadSearchResultsTbl = null;
- var loadRelatedItemsTbl = null;
- var loadStockOnHandTbl = null;
- $().ready(function() {
- if (loadSearchResultsTbl){
- doSearchResultsTbl();
- }else {
- $('#search-results-row').hide();
- }
- if (loadRelatedItemsTbl){
- doRelatedItemTbl();
- }else{
- $('#related-item-row').hide();
- }
- if (loadStockOnHandTbl){
- doStockOnHandTbl();
- $('#backButton').show();
- }else{
- $('#stock-on-hand-row').hide();
- }
- });
- function doSearchResultsTbl() {
- // unhide table
- $('#search-results-row').show();
- // initialise the table
- $('#search-results-table')
- .on('processing.dt',function( e, settings, processing ){
- if (processing){
- scrollToTop();
- disableSearchButton();
- $('#search-results-table_length :input').prop('disabled', true );
- }else {
- enableSearchButton();
- $('#search-results-table td:empty').html(' ');
- }
- } )
- .dataTable({
- 'bServerSide': true,
- 'sAjaxSource': searchResultsTableAjaxServletUrl,
- 'bProcessing': false,
- 'deferRender': true,
- 'searching': false,
- 'scrollX': false,
- 'sPaginationType': 'full',
- 'oLanguage': {
- 'sEmptyTable': 'Items not found.'
- },
- 'fnServerData': function ( sSource, aoData, fnCallback ) {
- $.getJSON( sSource, aoData, function (data) {
- //there was a web service error
- if ('errorMessage' in data) {
- $('div#errorMessage h2').html(data.errorMessage);
- $('div#errorMessage').show();
- $('#search-results-table_length :input').prop('disabled', true );
- fnCallback({ 'aaData': [], 'iTotalDisplayRecords': 0, 'iTotalRecords': 0, 'sColumns': null, 'sEcho': 1});
- }else{
- $('#search-results-table_length :input').prop('disabled', false );
- }
- // only if expected json array is returned go ahead and load
- if (('aaData' in data)) {
- fnCallback(data);
- }
- })
- .fail(function() {
- $('div#errorMessage h2').html('Search service unavailable, please contact IT support or try again later');
- $('div#errorMessage').show();
- $('#search-results-table_length :input').prop('disabled', true );
- fnCallback({ 'aaData': [], 'iTotalDisplayRecords': 0, 'iTotalRecords': 0, 'sColumns': null, 'sEcho': 1});
- });
- },
- 'initComplete': function(settings, json) {
- enableSearchButton();
- $('#search-results-table td:empty').html(' ');
- },
- 'aoColumnDefs':[{
- 'aTargets': [ 4 ],
- 'mRender': function ( data, type, full ) {
- return '<a href="javascript:setItemNumber(' + data + ');">' + data + '</a>';
- }
- }],
- 'aoColumns': [
- {'mDataProp':'itemDescription','bSortable':false,'sClass':'left',sDefaultContent:'','sWidth':'40%'},
- {'mDataProp':'size','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'15%'},
- {'mDataProp':'colour','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'15%'},
- {'mDataProp':'supplyStyle','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'15%'},
- {'mDataProp':'itemNumber','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'15%'}
- ]
- });
- }
- function doRelatedItemTbl() {
- // unhide table
- $("#related-item-row").show();
- // initialise the table
- $('#related-item-table')
- .on('processing.dt',function( e, settings, processing ){
- if (processing){
- scrollToTop();
- disableSearchButton();
- }else {
- enableSearchButton();
- $('#related-item-table td:empty').html(' ');
- }
- } )
- .dataTable({
- 'bServerSide': true,
- 'sAjaxSource': relatedItemsTableAjaxServletUrl,
- 'bProcessing': false,
- 'deferRender': true,
- 'scrollX': false,
- 'scrollY': '120px',
- 'scrollCollapse': true,
- 'searching': false,
- 'bLengthChange': false,
- 'sPaginationType': 'full',
- 'oLanguage': {
- 'sEmptyTable': 'Items not found.'
- },
- 'fnServerData': function ( sSource, aoData, fnCallback ) {
- $.getJSON( sSource, aoData, function (data) {
- //there was a web service error
- if ('errorMessage' in data) {
- $('div#errorMessage h2').html(data.errorMessage);
- $('div#errorMessage').show();
- fnCallback({ 'aaData': [], 'iTotalDisplayRecords': 0, 'iTotalRecords': 0, 'sColumns': null, 'sEcho': 1});
- }
- // only if expected json array is returned go ahead and load
- if (('aaData' in data)) {
- fnCallback(data);
- }
- })
- .fail(function() {
- $('div#errorMessage h2').html('Search service unavailable, please contact IT support or try again later');
- $('div#errorMessage').show();
- fnCallback({ 'aaData': [], 'iTotalDisplayRecords': 0, 'iTotalRecords': 0, 'sColumns': null, 'sEcho': 1});
- });
- },
- 'initComplete': function(settings, json) {
- enableSearchButton();
- $('#related-item-table td:empty').html(' ');
- },
- 'aoColumnDefs':[{
- 'aTargets': [ 4 ],
- 'mRender': function ( data, type, full ) {
- return '<a href="javascript:setItemNumber(' + data + ');">' + data + '</a>';
- }
- }],
- 'aoColumns': [
- {'mDataProp':'itemDescription','bSortable':false,'sClass':'left',sDefaultContent:'','sWidth':'40%'},
- {'mDataProp':'size','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'15%'},
- {'mDataProp':'colour','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'15%'},
- {'mDataProp':'supplyStyle','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'15%'},
- {'mDataProp':'itemNumber','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'15%'}
- ]
- });
- }
- function doStockOnHandTbl() {
- // unhide table
- $('#stock-on-hand-row').show();
- // initialise the table
- $('#stock-on-hand-table')
- .dataTable({
- 'bServerSide': true,
- 'sAjaxSource': stockOnHandTableAjaxServletUrl,
- 'bProcessing': false,
- 'deferRender': true,
- 'searching': false,
- 'bInfo': false,
- 'scrollX': false,
- 'scrollY': '150px',
- 'scrollCollapse': true,
- 'paging': false,
- 'oLanguage': {
- 'sEmptyTable': 'Stock on hand not available.'
- },
- 'fnServerData': function ( sSource, aoData, fnCallback ) {
- $.getJSON( sSource, aoData, function (data) {
- //there was a web service error
- if ('errorMessage' in data) {
- $('div#errorMessage h2').html(data.errorMessage);
- $('div#errorMessage').show();
- fnCallback({ 'aaData': [], 'iTotalDisplayRecords': 0, 'iTotalRecords': 0, 'sColumns': null, 'sEcho': 1});
- }
- // only if expected json array is returned go ahead and load
- if (('aaData' in data)) {
- fnCallback(data);
- }
- })
- .fail(function() {
- $('div#errorMessage h2').html('Search service unavailable, please contact IT support or try again later');
- $('div#errorMessage').show();
- fnCallback({ 'aaData': [], 'iTotalDisplayRecords': 0, 'iTotalRecords': 0, 'sColumns': null, 'sEcho': 1});
- });
- },
- 'aoColumns': [
- {'mDataProp':'location','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'20%'},
- {'mDataProp':'locationName','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'40%'},
- {'mDataProp':'region','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'20%'},
- {'mDataProp':'count','bSortable':false,'sClass':'center',sDefaultContent:'','sWidth':'20%'}
- ]
- });
- }
- function setItemNumber(data) {
- $('#hiddenForm input[name=itemNumber]').val(data);
- $('#hiddenForm').submit();
- return false;
- }
- function formSubmit() {
- $('#inputForm').submit();
- }
- function searchResultsFromCancel() {
- $('#inputForm input[name=fromBackButton]').val('true');
- $('#inputForm').submit();
- }
- function enableSearchButton() {
- enableFields('#searchButton');
- $("#searchButton").prop('value', 'Search');
- }
- function disableSearchButton() {
- disableFields('#searchButton');
- $("#searchButton").prop('value', 'Loading...');
- }
- function scrollToTop() {
- $('html, body').animate({
- scrollTop: "0px"
- }, 800);
- }
- // reset fields
- function clearFields() {
- $('#keywords').val('');
- $('#itemNumber').val('');
- $('#itemDescription').val('');
- $('#classGroup').val('');
- $('#classGroupDescription').val('');
- $('#brandName').val('');
- $('#apn').val('');
- $('#supplierName').val('');
- $('#class').val('');
- $('#supplier').val('');
- $('#subclass').val('');
- $('div#errorMessage').html('');
- $('div#errorMessage').hide();
- }
- function disableFields(selector, clear) {
- var field = $(selector);
- field.attr('disabled', 'disabled');
- field.addClass('disabled');
- if (clear === true) {
- $(selector).val('');
- }
- }
- function enableFields(selector) {
- var field = $(selector);
- field.removeAttr('disabled');
- field.removeClass('disabled');
- }
- // initialise variables
- function init(params) {
- searchResultsTableAjaxServletUrl = params.searchResultsTableAjaxServletUrl;
- relatedItemsTableAjaxServletUrl = params.relatedItemsTableAjaxServletUrl;
- stockOnHandTableAjaxServletUrl = params.stockOnHandTableAjaxServletUrl;
- loadSearchResultsTbl = (params.loadSearchResultsTbl === 'true');
- loadRelatedItemsTbl = (params.loadRelatedItemsTbl === 'true');
- loadStockOnHandTbl = (params.loadStockOnHandTbl === 'true');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement