Sha256: c739bb59ad2c6bc917eff460953ecbe6442b6bab46891c8eeae8ef0851f07dea

Contents?: true

Size: 911 Bytes

Versions: 8

Compression:

Stored size: 911 Bytes

Contents

ELA.Views ?= {}

class ELA.Views.ChartView extends ELA.Views.ViewportView
  className: 'view chart-view'

  initialize: (options = {}) ->
    unless options.name?
      throw 'ELA.Views.GraphView: option `name` is required'

    if options.chart?.view
      @ChartView = options.chart.view.toFunction()
    else
      @ChartView = ELA.Views.ChartJS
    @displayParams = @model.displayParams[options.name] = new @ChartView.Params

    @chartConfig = $.extend(true, {}, options.chart?.config)
    @chartDataFunction = options.chart?.dataFunction or 'data'

    @subviews = {}

  render: =>
    $chart = $('<div>', class: 'chart')
    view = @subviews.chart ?= new @ChartView
      model: @model
      parentView: this
      localePrefix: @localePrefix
      params: @displayParams
      dataFunction: @chartDataFunction
      config: @chartConfig

    $chart.html(view.render().el)
    @$el.html($chart)
    this

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ela-4.1.6 app/js/lib/views/chart_view.coffee
ela-4.1.5 app/js/lib/views/chart_view.coffee
ela-4.1.4 app/js/lib/views/chart_view.coffee
ela-4.1.3 app/js/lib/views/chart_view.coffee
ela-4.1.2 app/js/lib/views/chart_view.coffee
ela-4.1.1 app/js/lib/views/chart_view.coffee
ela-4.1.0 app/js/lib/views/chart_view.coffee
ela-4.0.0 app/js/lib/views/chart_view.coffee