grids = {}; var gridReload = function(grid) { grid = jQuery(grid); var postData = { 'grid[id]': grid.data('id') }; if (typeof grid.data('filterOrderColumn') !== 'undefined' && typeof grid.data('filterOrderDirection') !== 'undefined') { postData['grid[filter][order][column]'] = grid.data('filterOrderColumn'); postData['grid[filter][order][direction]'] = grid.data('filterOrderDirection'); } if (typeof grid.data('filterLimitIndex') !== 'undefined' && typeof grid.data('filterLimitCount') !== 'undefined') { postData['grid[filter][limit][index]'] = grid.data('filterLimitIndex'); postData['grid[filter][limit][count]'] = grid.data('filterLimitCount'); } var gridColumnFilter = {}; grid.find('.jq-grid-filter').first().find('form input').each(function(i, el) { el = jQuery(el); if (el.val().trim() !== '') { gridColumnFilter[el.data('column')] = el.val().trim(); } }); if(jQuery.param(grids[grid.data('id')]) !== jQuery.param(gridColumnFilter)) { postData['grid[filter][limit][index]'] = 0; } for (var key in gridColumnFilter) { if (gridColumnFilter.hasOwnProperty(key)) { postData['grid[filter][where][' + key + ']'] = gridColumnFilter[key]; } } grids[grid.data('id')] = gridColumnFilter; jQuery.ajax({ url : location.href, data : jQuery.param(postData), type : 'POST', success: function(response) { grid.replaceWith(response); } }); return false; }; jQuery(document).ready(function() { jQuery('.jq-grid').each(function(i, grid) { grid = jQuery(grid); grids[grid.data('id')] = {}; grid.find('.jq-grid-filter').first().find('form input').each(function(j, el) { el = jQuery(el); if (el.val().trim() !== '') { grids[grid.data('id')][el.data('column')] = el.val().trim(); } }); }); jQuery('body').delegate('.jq-grid .jq-grid-filter form', 'submit', function(event) { event.preventDefault(); var column = jQuery(this); var grid = column.parents('.jq-grid').first(); gridReload(grid); }); jQuery('body').delegate('.jq-grid .jq-grid-sortable', 'click', function(event) { event.preventDefault(); var column = jQuery(this); var grid = column.parents('.jq-grid').first(); if (grid.data('filterOrderColumn') === column.data('column')) { if (grid.data('filterOrderDirection') === 'ASC') { grid.data('filterOrderDirection', 'DESC'); } else { grid.data('filterOrderDirection', 'ASC'); } } else { grid.data('filterOrderColumn', column.data('column')); grid.data('filterOrderDirection', 'ASC'); } gridReload(grid); }); jQuery('body').delegate('.jq-grid .pagination li', 'click', function(event) { event.preventDefault(); var button = jQuery(this); if (button.hasClass('active') || button.hasClass('disabled')) { return; } var grid = button.parents('.jq-grid').first(); grid.data('filterLimitIndex', button.data('page') * grid.data('filterLimitCount')); gridReload(grid); }); jQuery('body').delegate('.jq-grid .jq-grid-action-ajax', 'click', function(event) { event.preventDefault(); var button = jQuery(this); var grid = button.parents('.jq-grid').first(); var link = button.attr('href'); var confirmation = button.data('confirm'); if (!confirmation || confirm(confirmation)) { jQuery.ajax({ url: link, method: 'POST', dataType: 'json', success: function(rsp) { if ('status' in rsp && rsp.status == 1) { gridReload(grid); } else { alert('An error occured.'); } }, error: function() { alert('An error occured.'); } }); } }); /* jQuery('body').delegate('.jq-detail, .jq-download', 'click', function(event) { event.preventDefault(); self = jQuery(this); link = self.attr('href'); eventName = 'Unknown'; eventTitle = self.data('title'); switch (true) { case self.hasClass('jq-detail'): eventName = 'Detail' break; case self.hasClass('jq-download'): eventName = 'Download' break; } ga('send', 'event', eventName, eventTitle); location.href = link; }); */ jQuery('body').delegate('.jq-download', 'click', function(event) { event.preventDefault(); self = jQuery(this); link = self.attr('href') + 'get/'; jQuery.ajax({ url: link, method: 'POST', dataType: 'json', success: function(rsp) { if (rsp instanceof Object && 'status' in rsp && rsp.status == 1) { location.href = rsp.url; } } }); }); jQuery('a[data-rel^="prettyPhoto"]').prettyPhoto({ animation_speed: 'fast', /* fast/slow/normal */ slideshow: 5000, /* false OR interval time in ms */ autoplay_slideshow: false, /* true/false */ opacity: 0.30, /* Value between 0 and 1 */ show_title: false, /* true/false */ allow_resize: true, /* Resize the photos bigger than viewport. true/false */ counter_separator_label: ' of ', /* The separator for the gallery counter 1 "of" 2 */ theme: 'pp_default', /* light_rounded / dark_rounded / light_square / dark_square / facebook */ horizontal_padding: 0, /* The padding on each side of the picture */ hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */ wmode: 'opaque', /* Set the flash wmode attribute */ autoplay: true, /* Automatically start videos: True/False */ modal: false, /* If set to true, only the close button will close the window */ deeplinking: false, /* Allow prettyPhoto to update the url to enable deeplinking. */ overlay_gallery: false, /* If set to true, a gallery will overlay the fullscreen image on mouse over */ keyboard_shortcuts: true, /* Set to false if you open forms inside prettyPhoto */ changepicturecallback: function(){}, /* Called everytime an item is shown/changed */ callback: function(){}, /* Called when prettyPhoto is closed */ ie6_fallback: true, social_tools: '' }); var cookieConsent = jQuery('#cookie-consent'), cookieConfirm = jQuery('#cookie-confirm'); if (cookieConsent) { jQuery(document).on('scroll', function(event) { var scrollTop = jQuery(document).scrollTop(); if (scrollTop > 61) { cookieConsent.css('top', 0); } else if (scrollTop > 0) { cookieConsent.css('top', 62 - scrollTop); } else { cookieConsent.css('top', 61); } }).triggerHandler('scroll'); if (cookieConfirm) { jQuery('body').delegate('#cookie-confirm', 'click', function(event) { event.preventDefault(); cookieConsent.remove(); var date = new Date(); date.setDate(date.getDate() + (10 * 365)); var cookie = [ 'consent=1', 'expires=' + date.toUTCString(), 'path=/' ]; document.cookie = cookie.join(';'); }); } cookieConsent.removeClass('hide'); } });