- abstractor_abstraction ||= @abstractor_abstraction - unless abstractor_abstraction.blank? - abstractor_abstraction_schema = abstractor_abstraction.abstractor_subject.abstractor_abstraction_schema - abstractor_suggestions = abstractor_abstraction.abstractor_suggestions.order(:id) - rejected_suggestions = abstractor_suggestions.joins(:abstractor_suggestion_status).where(:abstractor_suggestion_statuses => {:name => 'Rejected'}) - about = abstractor_abstraction.about .abstractor_abstraction_display .abstractor_abstraction_schema_name = abstractor_abstraction_schema.display_name .abstractor_abstraction_value - if rejected_suggestions.length == abstractor_suggestions.length %span.editable_abstraction = abstractor_abstraction.display_value = link_to 'edit', Abstractor::UserInterface.abstractor_relative_path(abstractor.edit_abstractor_abstraction_path(abstractor_abstraction)), :class=>'icon_link edit_link' - else = abstractor_abstraction.display_value - versions = abstractor_abstraction.versions.sort{|a,b| b.created_at <=> a.created_at}.reject{|v| v.reify.blank? || v.reify.display_value =~ /not set/i} = render partial: 'abstractor/abstractor_abstractions/abstraction_history', locals: { versions: versions } .abstractor_suggestions - if abstractor_suggestions.any? - abstractor_suggestions.each_with_index do |abstractor_suggestion, index| .abstractor_suggestion{ class: "#{'abstractor_bottom_border' if index < abstractor_suggestions.length - 1}"} = form_for [abstractor_abstraction, abstractor_suggestion], url: Abstractor::UserInterface.abstractor_relative_path(abstractor.abstractor_abstraction_abstractor_suggestion_path(abstractor_abstraction, abstractor_suggestion)), method: :put, remote: true, html: { class: 'edit_abstractor_suggestion' } do |f| = render 'abstractor/shared/error_messages', object: f.object .abstractor_suggestion_values = abstractor_suggestion.display_value - if abstractor_suggestion.abstractor_suggestion_sources.any? - abstractor_suggestion.abstractor_suggestion_sources.each do |abstractor_suggestion_source| - source = { source_type: abstractor_suggestion_source.source_type.constantize, source_id: abstractor_suggestion_source.source_id , source_method: abstractor_suggestion_source.source_method, section_name: abstractor_suggestion_source.section_name } - abstractor_text = Abstractor::AbstractorAbstractionSource.abstractor_text(source) - if abstractor_text - has_text_match = abstractor_text && abstractor_suggestion_source.sentence_match_value %span{ class: 'abstractor_abstraction_source_tooltip_img', rel: "#abstraction_text_#{abstractor_suggestion_source.id}", title: "#{abstractor_suggestion_source.source_type} #{abstractor_suggestion_source.source_method} #{abstractor_suggestion_source.section_name}"} %i{ id: "abstraction_text_link_#{abstractor_suggestion_source.id}", class: "#{'abstraction_text_link_match' if has_text_match}" } %div{ id: "abstraction_text_#{abstractor_suggestion_source.id}", class: 'abstractor_abstraction_source_tooltip'} - if has_text_match = Abstractor::UserInterface.highlight(simple_format(abstractor_text), abstractor_suggestion_source.sentence_match_value.strip) - else = simple_format(abstractor_text) - if abstractor_suggestion_source.custom_explanation .custom_explanation %label Explanation: .explanation_text = abstractor_suggestion_source.custom_explanation .abstractor_suggestion_status %ul.abstractor_suggestion_status_group - values = Abstractor::AbstractorSuggestionStatus.all.sort_by(&:name).map{|s| [s.name, s.id] } - values.each do |value| - id = "abstractor_suggestion_abstractor_suggestion_status_id_#{value.last}_#{abstractor_suggestion.id}" %li = f.radio_button :abstractor_suggestion_status_id, value.last, id: id, class: 'abstractor_suggestion_status_selection' = f.label :abstractor_suggestion_status_id, value.first, value: value.last, for: id, class: "abstractor_suggestion_status_selection_label #{f.object.abstractor_suggestion_status_id == value.last ? 'abstractor_suggestion_status_selection_label_active' : 'abstractor_suggestion_status_selection_label_inactive' }" = f.radio_button :abstractor_suggestion_status_id, '', { style: 'display:none;' } - else - abstractor_abstraction.abstractor_subject.abstractor_abstraction_sources.select { |s| s.abstractor_abstraction_source_type.name == 'nlp suggestion' }.each do |abstractor_abstraction_source| - abstractor_abstraction_source.normalize_from_method_to_sources(abstractor_abstraction.about).each do |source| - dom_id = "#{abstractor_abstraction_source.id}_#{source[:source_type]}_#{source[:source_id]}_#{source[:source_method]}" %span{ class: 'abstractor_abstraction_source_tooltip_img', rel: "#abstraction_text_#{dom_id}", title: "#{source[:source_type].to_s} #{source[:source_method]}"} %i{ id: "abstraction_text_link_#{dom_id}" } %br %div{ id: "abstraction_text_#{dom_id}", class: 'tooltip'} - abstractor_text = Abstractor::AbstractorAbstractionSource.abstractor_text(source) = simple_format(abstractor_text) .clear