javascript - jQuery Bootgrid how to check if bootgrid is still loading -


i have implemented jquery bootgrid. want manage showing , hiding loader i've implemented.

the loader shown , hidden $("#ajaxloader").show(); , $("#ajaxloader").hide();` respectively.

and have bootgrid initialization implemented follows:

var grid = $('#grid').on("load.rs.jquery.bootgrid", function () {     $("#ajaxloader").show(); }).bootgrid({     ajax: true,     ajaxsettings: {         method: "get",         contenttype: "application/json; charset=utf-8",         datatype: "json",         cache: false     },     searchsettings: {         delay: 500,     },     url: myurl,     rowcount: [5, 10, 50, 75, 100, 200, -1] }).on("loaded.rs.jquery.bootgrid", function (e) {    $("#ajaxloader").hide(); }); 

now works fine want optimize in 2 ways:

  1. bootgrid's search functionality seems have it's own loader there way in order not show ajax loader if search occurring?

  2. my loader pops , hides on short queries. there way can delay happening?

solving option 2 solve option 1 on it's own anyway here i've tried regarding option 2.

i tried settimeout(function () { $("#ajaxloader").show(); }, 1000);, never gets hidden again. counter solved using settimeout(function () { $("#ajaxloader").hide(); }, 1000) flashes show , hide unnecessarily.

so ideally need check if bootgrid still loading before apply function.

how can solve loading problem?

edit:

i've tried setting loading variable on load method say:

loading = true; settimeout(function () { if (loading) { $("#ajaxloader").show(); }}, 1000); 

and following on loaded event:

settimeout(function () { $("#ajaxloader").hide(); }, loaderdelay); 

that still gave me same flashing error.

i solved using cleartimeout() function this:

var showloader;  var grid = $('#grid').on("load.rs.jquery.bootgrid", function () {     showloader = settimeout(function () { $("#ajaxloader").show(); }, 1000); }).bootgrid({     ajax: true,     ajaxsettings: {         method: "get",         contenttype: "application/json; charset=utf-8",         datatype: "json",         cache: false     },     searchsettings: {         cleartimeout(showloader);         delay: 500,     },     url: myurl,     rowcount: [5, 10, 50, 75, 100, 200, -1] }).on("loaded.rs.jquery.bootgrid", function (e) {    $("#ajaxloader").hide(); }); 

Comments

Popular posts from this blog

commonjs - How to write a typescript definition file for a node module that exports a function? -

openid - Okta: Failed to get authorization code through API call -

ios - Change Storyboard View using Seague -