How can we improve Ignite UI?

Make Export to Excel asynchronous to allow for better user/UI interactions (cancel buttons, dynamically updated progress bars, etc)

Currently the ig.GridExcelExporter exportGrid method runs synchronously. Once it starts, it cannot be interrupted. Although there are callbacks provided (ex. rowExporting, exportEnding, etc) which documentation states can be cancelled, the synchronous fashion of the exportGrid method prevents a user from interacting with the process once it has begin.

I've tested this by creating a cancel button and logged to the browser console when each callback and click event fired. The click event of the cancel button fires after the success callback of the exportGrid even if clicked early in the exporting process. Currently, the only way to cancel an export is to have the decision (criteria) determined BEFORE the exportGrid method is kicked off. I'm sure there aren't too many cases where that will occur or be helpful.

Additionally, I've tried implementing a simple Bootstrap progress bar. My intent was to have the progress bar update upon each "rowExported" callback. Again, since the exportGrid method runs synchronously, there no way to update the browser UI so the end result is the progress bar stays at 0% until the exportGrid method has completed, at which point the progress bar jumps to 100% from 0%. This is most noticeable on grids with thousands of rows.

2 votes
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)

    We’ll send you updates on this idea

    TomTom shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    1 comment

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...

      Feedback and Knowledge Base