Dancer2::Plugin::ProgressStatus
==============================

[![Build Status](https://travis-ci.org/shumphrey/Dancer2-Plugin-ProgressStatus.png?    branch=master)](https://travis-ci.org/shumphrey/Dancer2-Plugin-ProgressStatus)

A Dancer2 plugin that provides progress status helpers.

To install this module from source:

````shell
 dzil install
````

To use this module in your Dancer2 route:

````perl
 use Dancer2;
 use Dancer2::Plugin::ProgressStatus;

 get '/route' => sub {
   my $prog = start_progress_status('progress1');
   while($some_condition) {
       $prog++;
   }
 };
````

Then with some javascript on the front end, something like this:

````javascript
     function displayProgress(data, done) {
         var prog = (data.count / data.total) * 100;
         $('#progress').html(Math.round(prog) + '%');
         if ( done ) {
             $('#progress').append("<br />Done!");
         }
     }
     function checkProgress() {
         $.getJSON('/_progressstatus/test', function(data) {
             if ( !data.in_progress ) {
                 displayProgress(data, true);
                 return;
             }
             displayProgress(data);
             setTimeout(checkProgress, 3000)
         })
     }

     checkProgress();
````