Sha256: 9485fb766be82a02b024adefb8a44db0d05dff480c6f37ca664f27135080cacb

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

pageflow.chart.IframeEmbeddedView = Backbone.Marionette.View.extend({
  modelEvents: {
    'change': 'update'
  },

  render: function() {
    this.updateScrapedSite();
    return this;
  },

  update: function() {
    if (this.model.hasChanged(this.options.propertyName)) {
      this.updateScrapedSite();
    }
  },

  updateScrapedSite: function() {
    var view = this;

    if (this.scrapedSite) {
      this.stopListening(this.scrapedSite);
    }

    var scrapedSiteId = this.model.get(this.options.propertyName);

    if (scrapedSiteId) {
      this.scrapedSite = pageflow.chart.scrapedSites.getOrFetch(scrapedSiteId, {
        success: function(scrapedSite) {
          view.updateSrc(scrapedSite);
        }
      });

      this.listenTo(this.scrapedSite, 'change', this.updateSrc);
    }
  },

  updateSrc: function(scrapedSite) {
    scrapedSite = scrapedSite || this.scrapedSite;

    if (scrapedSite && scrapedSite.isProcessed()) {
      this.$el.attr('src', scrapedSite.get('html_file_url'));
    }
    else {
      this.$el.attr('src', '');
    }
  }
});

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pageflow-chart-0.1.1 app/assets/javascripts/pageflow/chart/editor/views/embedded/iframe_embedded_view.js
pageflow-chart-0.1.0 app/assets/javascripts/pageflow/chart/editor/views/embedded/iframe_embedded_view.js