app/views/layouts/_ontology_viewer.html.haml
- content_section = (params[:p]) ? params[:p] : "summary"
- concept_title = @concept.nil? ? "" : " - #{@concept.prefLabel} - Classes"
- @title = "#{@ontology.name}#{concept_title}"
- sub = @submission_latest
- details_available = true
- if sub.nil? || (sub.respond_to?(:status) && sub.status == 404)
- details_available = false
= render :partial =>'layouts/header'
%div#bd
:javascript
// Javascript History HTML5 API
if ( typeof JSON === 'undefined' ) {
var
url = '/javascripts/history/json2.js',
scriptEl = document.createElement('script');
scriptEl.type = 'text/javascript';
scriptEl.src = url;
document.body.appendChild(scriptEl);
}
// Ontology viewer vars
jQuery(document).data().bp.ont_viewer = {};
jQuery(document).data().bp.ont_viewer.ontology_id = jQuery(document).data().bp.ontology.acronym;
jQuery(document).data().bp.ont_viewer.ontology_version_id = jQuery(document).data().bp.submission_latest.submissionId;
jQuery(document).data().bp.ont_viewer.ontology_name = "#{@ontology.name}";
jQuery(document).data().bp.ont_viewer.org_site = "#{$ORG_SITE}";
jQuery(document).data().bp.ont_viewer.concept_id = "#{params[:conceptid] || (@concept ? @concept.id : 'root')}";
jQuery(document).data().bp.ont_viewer.content_section = "#{sanitize(h(content_section))}";
jQuery(document).data().bp.ont_viewer.concept_param = "#{"conceptid=\#{params[:conceptid]}" unless params[:conceptid].nil? || params[:conceptid].empty?}";
jQuery(document).data().bp.ont_viewer.concept_name = "#{@concept.prefLabel unless @concept.nil?}";
jQuery(document).data().bp.ont_viewer.metadata_only = "#{@ontology.summaryOnly}";
jQuery(document).data().bp.ont_viewer.purl_prefix = "#{(Rails.configuration.settings.purl[:enabled] ? Rails.configuration.settings.purl[:prefix]+"/"+@ontology.acronym : '')}";
jQuery(document).data().bp.ont_viewer.concept_name_title = (jQuery(document).data().bp.ont_viewer.concept_name == "") ?
"" : " - " + jQuery(document).data().bp.ont_viewer.concept_name;
-# Modal dialog for creating a new mapping (must reside in a top-level position in the document to display properly).
%div#createNewMappingModal{class: "modal fade", tabindex: "-1", "aria-labelledby": "createNewMappingLabel"}
%div.modal-dialog.modal-lg
%div.modal-content
%div.modal-header
%h4#createNewMappingLabel.modal-title
%button.btn-close{type: "button", "data-bs-dismiss": "modal", "aria-label": "Close"}
%div.createNewMappingModalBody.modal-body
%div.modal-footer
%button{type: "button", class: "btn btn-secondary", "data-bs-dismiss": "modal"} Close
= submit_tag("Create Mapping", class: "btn btn-primary", id: "create_mapping_button")
-# Modal dialog for getting a permanent link to a class (must reside in a top-level position in the document to display properly).
%div#classPermalinkModal{class: "modal fade", tabindex: "-1", aria: {labelledby: "classPermalinkLabel", hidden: "true"}}
%div.modal-dialog.modal-dialog-centered.modal-lg
%div.modal-content
%div.modal-header
%h5#classPermalinkLabel.modal-title Link to this page
%button.btn-close{type: "button", "data-bs-dismiss": "modal", "aria-label": "Close"}
%div.modal-body
= text_field_tag("purl_input", nil, class: "form-control")
%div.modal-footer
%button.btn.btn-secondary{"data-bs-dismiss": "modal"} Close
= render partial: 'kgcl_dialogs'
-# A header of sorts to display ontology name and subset of details.
%div.row.pt-md-3.pb-md-2
%div.col
%div.ont-info-bar.rounded
%div
%h4
= link_to(@ontology.name, ontology_path(@ontology.acronym))
%div
- if (details_available && !sub.released.nil?)
%span.text-muted
Last uploaded:
= l(Date.parse(sub.creationDate), format: :monthfull_day_year)
%div{class: 'ont-info-links d-flex gap-2'}
- unless (@ontology.summaryOnly || @ont_restricted || @submissions.empty?)
= link_to(@submissions.first.id + "/download?apikey=#{get_apikey}", class: 'btn btn-outline-secondary',
'aria-label': 'Download latest submission', title: 'Download latest submission') do
%i.fas.fa-lg.fa-file-download{"aria-hidden": true}
- if details_available
- if Rails.configuration.settings.purl[:enabled]
= link_to(@ontology.purl, class: 'btn btn-outline-secondary', 'aria-label': "#{$SITE} PURL",
title: "#{$SITE} PURL", target: "_blank") do
%i.fas.fa-lg.fa-link{"aria-hidden": true}
= link_to(sub.homepage, class: 'btn btn-outline-secondary', 'aria-label': 'Ontology homepage',
title: 'Ontology homepage', target: "_blank") do
%i.fas.fa-lg.fa-home{"aria-hidden": true}
- unless sub.documentation.nil?
= link_to(sub.documentation, class: 'btn btn-outline-secondary', "aria-label": "Documentation",
title: "Documentation", target: "_blank") do
%i.fas.fa-lg.fa-book-reader{"aria-hidden": true}
- unless sub.publication.nil?
= link_to(sub.publication, class: 'btn btn-outline-secondary', "aria-label": "Publications",
title: "Publications", target: "_blank") do
%i.far.fa-lg.fa-newspaper{"aria-hidden": true}
- if @ontology.admin?(session[:user])
= link_to(edit_ontology_path(@ontology.acronym), class: 'btn btn-outline-secondary',
"aria-label": "Edit ontology details", title: "Edit ontology details") do
%i.fas.fa-lg.fa-user-edit{"aria-hidden": true}
%div.row.pb-4
%div.col
%div.card
%div.card-header
-# Tabbed navigation bar for ontology content sections
%ul.nav.nav-tabs.card-header-tabs{id: "navbar-ontology", role: "tablist"}
%li{class: 'nav-item', role: 'presentation'}
= link_to("Summary", ontology_path(@ontology.acronym, p: "summary"), id: "ont-summary-tab",
class: "nav-link", type: 'button', role: 'tab',
data: {bp_ont_page: "summary", "bs-toggle": "tab", "bs-target": "#ont_summary_content"},
aria: {controls: "ont_summary_content", selected: "false"})
- unless @ontology.summaryOnly
%li{class: 'nav-item', role: 'presentation'}
= link_to("Classes", ontology_path(@ontology.acronym, p: "classes"), id: "ont-classes-tab",
class: "nav-link", type: 'button', role: "tab",
data: {bp_ont_page: "classes", "bs-toggle": "tab", "bs-target": "#ont_classes_content"},
aria: {controls: "ont_classes_content", selected: "false"})
%li{class: 'nav-item', role: 'presentation'}
= link_to("Properties", ontology_path(@ontology.acronym, p: "properties"), id: "ont-properties-tab",
class: "nav-link", type: 'button', role: "tab",
data: {bp_ont_page: "properties", "bs-toggle": "tab", "bs-target": "#ont_properties_content"},
aria: {controls: "ont_properties_content", selected: "false"})
%li{class: 'nav-item', role: 'presentation'}
= link_to("Notes", ontology_path(@ontology.acronym, p: "notes"), id: "ont-notes-tab",
class: "nav-link", type: 'button', role: "tab",
data: {bp_ont_page: "notes", "bs-toggle": "tab", "bs-target": "#ont_notes_content"},
aria: {controls: "ont_notes_content", selected: "false"})
- unless @ontology.summaryOnly
%li{class: 'nav-item', role: 'presentation'}
= link_to("Mappings", ontology_path(@ontology.acronym, p: "mappings"), id: "ont-mappings-tab",
class: "nav-link", type: 'button', role: "tab",
data: {bp_ont_page: "mappings", "bs-toggle": "tab", "bs-target": "#ont_mappings_content"},
aria: {controls: "ont_mappings_content", selected: "false"})
%li{class: 'nav-item', role: 'presentation'}
= link_to("Widgets", ontology_path(@ontology.acronym, p: "widgets"), id: "ont-widgets-tab",
class: "nav-link", type: 'button', role: "tab",
data: {bp_ont_page: "widgets", "bs-toggle": "tab", "bs-target": "#ont_widgets_content"},
aria: {controls: "ont_widgets_content", selected: "false"})
%div.card-body
-# Tab panes for displaying ontology content sections
%div.tab-content{id: "ontology_content"}
%div.tab-pane{id: "ont_summary_content", role: "tabpanel", aria: {labelledby: "ont-summary-tab"}}
- if content_section.eql?("summary")
= yield
%div.tab-pane{id: "ont_classes_content", role: "tabpanel", aria: {labelledby: "ont-classes-tab"}}
- if content_section.eql?("classes")
= yield
%div.tab-pane{id: "ont_properties_content", role: "tabpanel", aria: {labelledby: "ont-properties-tab"}}
- if content_section.eql?("properties")
= yield
%div.tab-pane{id: "ont_notes_content", role: "tabpanel", aria: {labelledby: "ont-notes-tab"}}
- if content_section.eql?("notes")
= yield
%div.tab-pane{id: "ont_mappings_content", role: "tabpanel", aria: {labelledby: "ont-mappings-tab"}}
- if content_section.eql?("mappings")
= yield
%div.tab-pane{id: "ont_widgets_content", role: "tabpanel", aria: {labelledby: "ont-widgets-tab"}}
- if content_section.eql?("widgets")
= yield
- if Rails.env.appliance?
</main>
= render partial: "footer_appliance"
= javascript_include_tag "application"
- else
= render partial: "layouts/footer"
</body>
</html>