Sha256: dba19ee53be946c242b0bd63e21b9289762db156ce1f9f35483e7d529eef69d6

Contents?: true

Size: 1.09 KB

Versions: 11

Compression:

Stored size: 1.09 KB

Contents

pageflow.chart.ScrapedSite = Backbone.Model.extend({
  modelName: 'scraped_site',
  paramRoot: 'scraped_site',

  initialize: function() {
    this.listenTo(this, 'sync', function() {
      if (this.isProcessing() && !this.pollingInterval) {
        this.pollUntilScraped();
      }
    });
  },

  urlRoot: function() {
    return '/chart/scraped_sites';
  },

  isProcessed: function() {
    return this.get('state') === 'processed';
  },

  isProcessing: function() {
    return this.get('state') === 'processing';
  },

  isFailed: function() {
    return this.get('state') === 'processing_failed';
  },

  pollUntilScraped: function() {
    var model = this;

    if (model.isProcessed()) {
      return;
    }

    model.pollingInterval = setInterval(poll, 1000);

    function stopPolling() {
      if (model.pollingInterval) {
        clearInterval(model.pollingInterval);
        model.pollingInterval = null;
      }
    }

    function poll() {
      model.fetch({
        success: function() {
          if (!model.isProcessing()) {
            stopPolling();
          }
        }
      });
    }
  }
});

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
pageflow-chart-2.1.0 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
pageflow-chart-2.0.0 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
pageflow-chart-1.2.0 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
pageflow-chart-1.1.0 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
pageflow-chart-1.0.1 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
pageflow-chart-1.0.0 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
pageflow-chart-0.2.2 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
pageflow-chart-0.2.1 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
pageflow-chart-0.2.0 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
pageflow-chart-0.1.1 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js
pageflow-chart-0.1.0 app/assets/javascripts/pageflow/chart/editor/models/scraped_site.js