Browse Source

Show three derived datasets per row

Matthias Vogelgesang 7 years ago
parent
commit
3c99cda4db
3 changed files with 24 additions and 7 deletions
  1. 6 0
      nova/__init__.py
  2. 1 1
      nova/templates/collection/list.html
  3. 17 6
      nova/templates/dataset/detail.html

+ 6 - 0
nova/__init__.py

@@ -33,6 +33,12 @@ def naturalsize(s):
     return humanize.naturalsize(int(s))
 
 
+@app.template_filter('group')
+def group(l, n):
+    for i in range(0, len(l), n):
+        yield tuple(l[i:i+n])
+
+
 db = SQLAlchemy(app)
 
 login_manager = LoginManager(app)

+ 1 - 1
nova/templates/collection/list.html

@@ -4,7 +4,7 @@
 <div class="row">
   <div class="col-lg-12">
     <div class="page-header">
-      <h2>Datasets of
+      <h2>Datasets for
         <a href="{{ url_for("profile", name=collection.user.name) }}">{{ collection.user.name }}</a> /
         <a href="{{ url_for("show_collection", name=collection.user.name, collection_name=collection.name)}}">{{ collection.name }}</a></h2>
     </div>

+ 17 - 6
nova/templates/dataset/detail.html

@@ -7,16 +7,15 @@
   <a href="{{ url_for("show_dataset", name=current_user.name, collection_name=dataset.collection.name, dataset_name=dataset.name, path=path) }}">{{ label }}</a>
   {% endif %}
 {%- endmacro %}
-{% macro dataset_row(collection, dataset) -%}
-<div class="row dataset-pad">
-  <div class="col-lg-1">
+{% macro dataset_partial(collection, dataset) -%}
+  <div class="col-xs-2">
     {% if dataset.has_thumbnail %}
     <img class="img-responsive" width="64" height="64" src="{{ url_for("show_dataset", name=collection.user.name, collection_name=collection.name, dataset_name=dataset.name, path='.thumb.jpg') }}"/>
     {% else %}
     <img class="img-responsive" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=%C3%97&w=64&h=64"/>
     {% endif %}
   </div>
-  <div class="col-lg-11">
+  <div class="col-xs-10">
     <h3 class="dataset-link">
       <a href="{{ url_for("show_dataset", name=collection.user.name, collection_name=collection.name, dataset_name=dataset.name) }}">{{ dataset.name }}</a>
     </h3>
@@ -26,6 +25,10 @@
     {% endif %}
     </p>
   </div>
+{%- endmacro %}
+{% macro dataset_row(collection, dataset) -%}
+<div class="row dataset-pad">
+  {{ dataset_partial(collection, dataset) }}
 </div>
 {%- endmacro %}
 {% block body %}
@@ -79,8 +82,16 @@
     <h3>Derived datasets</h3>
   </div>
 </div>
-{% for dataset in children %}
-  {{ dataset_row(collection, dataset) }}
+{% for group in children|group(3) %}
+<div class="row dataset-pad">
+  {% for dataset in group %}
+  <div class="col-lg-4">
+    <div class="row">
+      {{ dataset_partial(collection, dataset) }}
+    </div>
+  </div>
+  {% endfor %}
+</div>
 {% endfor %}
 {% endif %}
 {% if dataset.type == "samplescan" %}