Sha256: 55bffaa6b867f406da0c19f71d6b795679154837d59b609484607b47b4aedc84

Contents?: true

Size: 1.42 KB

Versions: 6

Compression:

Stored size: 1.42 KB

Contents

module WidgetHelper
  def widget_values(concept, relation_class)
    concept.concept_relations_by_id(relation_class.name.to_relation_name)
  end

  def widget_values_ranked(concept, relation_class)
    concepts_with_ranks = concept.concept_relations_by_id_and_rank(relation_class.name.to_relation_name)
    concepts_with_ranks.map { |concept, rank| "#{concept.origin}:#{rank}" }.join(InlineDataHelper::JOINER)
  end

  def widget_entities(concept, relation_class)
    origins = concept.concept_relations_by_id(relation_class.name.to_relation_name)
                     .split(InlineDataHelper::SPLITTER)

    Iqvoc::Concept.base_class
                  .editor_selectable
                  .by_origin(origins)
                  .map { |c| concept_widget_data(c) }
                  .sort_by { |hash| hash[:name] }
                  .to_json
  end

  def widget_entities_ranked(concept, relation_class)
    origins = concept.
      concept_relations_by_id(relation_class.name.to_relation_name).
      split(InlineDataHelper::SPLITTER)

    allowed_concepts = Iqvoc::Concept.base_class
                                     .editor_selectable
                                     .by_origin(origins)

    concepts_with_ranks = concept.concept_relations_by_id_and_rank(relation_class.name.to_relation_name)

    concepts = concepts_with_ranks.reject { |k, v| !allowed_concepts.include?(k) }
    concepts.map { |c, r| concept_widget_data(c, r) }.to_json
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
iqvoc-4.14.5 app/helpers/widget_helper.rb
iqvoc-4.14.4 app/helpers/widget_helper.rb
iqvoc-4.13.2 app/helpers/widget_helper.rb
iqvoc-4.13.0 app/helpers/widget_helper.rb
iqvoc-4.12.1 app/helpers/widget_helper.rb
iqvoc-4.12.0 app/helpers/widget_helper.rb