Module: Decidim::Surveys::PublishResponsesHelper

Defined in:
decidim-surveys/app/helpers/decidim/surveys/publish_responses_helper.rb

Instance Method Summary collapse

Instance Method Details

#chart_for_question(question_id) ⇒ Object

Renders the chart for the given question. Uses chartkick to render the chart.

Parameters:

  • question_id (Integer)

    the question id for Decidim:



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'decidim-surveys/app/helpers/decidim/surveys/publish_responses_helper.rb', line 16

def chart_for_question(question_id)
  question = Decidim::Forms::Question.includes(responses: { choices: [:response_option, :matrix_row] }).find(question_id)

  Chartkick.options = {
    library: { animation: { easing: "easeOutQuart" } },
    colors: colors_list
  }

  case question.question_type
  when "single_option", "multiple_option"
    options_column_chart_wrapper(question)
  when "matrix_single", "matrix_multiple"
    matrix_stack_chart_wrapper(question)
  when "sorting"
    sorting_stack_chart_wrapper(question)
  else
    "Unknown question type"
  end
end

#question_response_is_publicable(question_type) ⇒ Object



6
7
8
9
10
# File 'decidim-surveys/app/helpers/decidim/surveys/publish_responses_helper.rb', line 6

def question_response_is_publicable(question_type)
  ignored_question_types = %w(short_response long_response separator files).freeze

  ignored_question_types.exclude?(question_type)
end