Skip to content

Commit

Permalink
Add Resources in Package details using new tabs system #164
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Druez <[email protected]>
  • Loading branch information
tdruez committed Aug 1, 2022
1 parent dfa06f0 commit 5ac3613
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 4 deletions.
21 changes: 21 additions & 0 deletions scancodeio/static/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,26 @@ function setupCloseModalButtons() {
}
}

// Tabs

function setupTabs() {
const $tabLinks = getAll('.tabs a');

$tabLinks.forEach(function ($el) {
$el.addEventListener('click', function (event) {
const activeLink = document.querySelector('.tabs .is-active');
const activeTabContent = document.querySelector('.tab-content.is-active');
const target_id = $el.dataset.target;
const targetTabContent = document.getElementById(target_id);

activeLink.classList.remove('is-active');
$el.parentNode.classList.add('is-active');
activeTabContent.classList.remove('is-active');
targetTabContent.classList.add('is-active');
});
});
}

// Utils, available globally

function getAll(selector) {
Expand Down Expand Up @@ -122,6 +142,7 @@ document.addEventListener('DOMContentLoaded', function () {

setupOpenModalButtons();
setupCloseModalButtons();
setupTabs();

// Close modals and dropdowns on pressing "escape" key
document.addEventListener('keydown', function (event) {
Expand Down
4 changes: 3 additions & 1 deletion scanpipe/templates/scanpipe/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@
button.as-link {height: auto; line-height: initial; font-size: inherit;}
.file.is-boxed.has-name .file-cta {border-width: medium; border-style: dashed;}
progress.file-upload::before {content: 'Files upload: 'attr(value)'%'; position: absolute; top: -14%; left: 43%; color: black; font-weight: 400;}
.is-clipped ul {--snippet-spacing: 0.95rem; height: calc(8 * var(--snippet-spacing)); overflow: hidden;}
.is-clipped-list ul {--snippet-spacing: 0.95rem; height: calc(8 * var(--snippet-spacing)); overflow: hidden;}
.tab-content {display: none;}
.tab-content.is-active {display: revert !important;}
</style>
{% block extrahead %}{% endblock %}
</head>
Expand Down
33 changes: 32 additions & 1 deletion scanpipe/templates/scanpipe/package_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,30 @@
<li><a href="{% url 'project_packages' project.uuid %}">Discovered Packages</a></li>
</ul>
</nav>
<div class="tags has-addons my-3">
<span class="tag is-dark">Package URL</span>
<span class="tag is-info">{{ object }}</span>
</div>
</section>

<section class="mx-5">
<div class="tabs is-boxed mx-5">
<ul>
<li class="is-active">
<a data-target="tab-details">
<span class="icon is-small"><i class="fas fa-info-circle"></i></span>
<span>Details</span>
</a>
</li>
<li>
<a data-target="tab-resources">
<span class="icon is-small"><i class="fas fa-file-alt"></i></span>
<span>Resources</span>
</a>
</li>
</ul>
</div>

<section id="tab-details" class="tab-content is-active mx-5">
<dl>
{% for field, value in package_data.items %}
<dt class="has-text-weight-semibold">
Expand All @@ -31,5 +52,15 @@
</dl>
</section>

<section id="tab-resources" class="tab-content mx-5">
<ul>
{% for resource in object.resources %}
<li>
<a href="{{ resource.get_absolute_url }}">{{ resource }}</a>
</li>
{% endfor %}
</ul>
</section>

</div>
{% endblock %}
4 changes: 2 additions & 2 deletions scanpipe/templates/scanpipe/package_list.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
<td title="{{ package.copyright }}">
{{ package.copyright|truncatechars:150|linebreaksbr }}
</td>
<td class="is-clipped">
<td class="is-clipped-list">
<ul>
{% for resource in package.resources %}
<li>
Expand Down Expand Up @@ -66,7 +66,7 @@

$showClippedButton.forEach(function ($el) {
$el.addEventListener("click", function () {
$el.parentNode.classList.toggle("is-clipped");
$el.parentNode.classList.toggle("is-clipped-list");
let text = $el.textContent;
if (text.startsWith("Show"))
$el.textContent = text.toggle("Show", "Hide");
Expand Down

0 comments on commit 5ac3613

Please sign in to comment.