Collapse really long signoff specifications using JS
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
911d6067bc
commit
040e0ddea5
@ -301,7 +301,7 @@ function filter_packages_reset() {
|
||||
|
||||
/* todolists/view.html */
|
||||
function todolist_flag() {
|
||||
// TODO: fix usage of this
|
||||
// TODO: fix usage of this
|
||||
var link = this;
|
||||
$.getJSON(link.href, function(data) {
|
||||
if (data.complete) {
|
||||
@ -353,7 +353,7 @@ function filter_pkgs_reset(callback) {
|
||||
|
||||
/* signoffs.html */
|
||||
function signoff_package() {
|
||||
// TODO: fix usage of this
|
||||
// TODO: fix usage of this
|
||||
var link = this;
|
||||
$.getJSON(link.href, function(data) {
|
||||
link = $(link);
|
||||
@ -436,6 +436,33 @@ function filter_signoffs_reset() {
|
||||
filter_signoffs();
|
||||
}
|
||||
|
||||
function collapseNotes(elements) {
|
||||
// Remove any trailing <br/> tags from the note contents
|
||||
$(elements).children('br').filter(':last-child').filter(function(i, e) { return !e.nextSibling; }).remove();
|
||||
|
||||
var maxElements = 8;
|
||||
$(elements).each(function(idx, ele) {
|
||||
ele = $(ele);
|
||||
// Hide everything past a given limit. Don't do anything if we don't
|
||||
// have enough items, or the link already exists.
|
||||
var contents = ele.contents();
|
||||
if (contents.length <= maxElements || ele.find('a.morelink').length > 0) {
|
||||
return;
|
||||
}
|
||||
contents.slice(maxElements).wrapAll('<div class="hide"/>');
|
||||
ele.append('<br/><a class="morelink" href="#">Show More…</a>');
|
||||
|
||||
// add link and wire it up to show the hidden items
|
||||
ele.find('a.morelink').click(function(event) {
|
||||
event.preventDefault();
|
||||
ele.find('div.hide').show();
|
||||
$(this).remove();
|
||||
// remove trailing line break between text and our link
|
||||
$(this).contents().last().filter('br').remove();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/* visualizations */
|
||||
function format_filesize(size, decimals) {
|
||||
/*var labels = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];*/
|
||||
|
@ -69,7 +69,7 @@ <h3>Filter Displayed Signoffs</h3>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<td>{% include "packages/signoff_cell.html" %}</td>
|
||||
<td class="wrap">{% if not group.default_spec %}{% with group.specification as spec %}{% comment %}
|
||||
<td class="wrap note">{% if not group.default_spec %}{% with group.specification as spec %}{% comment %}
|
||||
{% endcomment %}{% if spec.required != 2 %}Required signoffs: {{ spec.required }}<br/>{% endif %}{% comment %}
|
||||
{% endcomment %}{% if not spec.enabled %}Signoffs are not currently enabled<br/>{% endif %}{% comment %}
|
||||
{% endcomment %}{% if spec.known_bad %}Package is known to be bad<br/>{% endif %}{% comment %}
|
||||
@ -95,5 +95,8 @@ <h3>Filter Displayed Signoffs</h3>
|
||||
// fire function on page load to ensure the current form selections take effect
|
||||
filter_signoffs();
|
||||
});
|
||||
$(document).ready(function() {
|
||||
collapseNotes('.note');
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
Loading…
Reference in New Issue
Block a user