Commit f6d228cd authored by Administrator's avatar Administrator

[FEAT] Merging view for Corpus view: documents, journals, terms

	modifié :         urls.py
	Urls adapted

	renommé :         ../templates/corpus.html -> ../templates/corpus/documents.html
	renommé :         ../templates/tests/journals.html -> ../templates/corpus/journals.html
	renommé :         ../templates/tests/ngrams.html -> ../templates/corpus/terms.html
	taking templates made by Samuel

	modifié :         ../templates/menu.html
	Menu template of all Gargantext (extend it to your views)

	nouveau fichier : ../templates/corpus/menu.html
	Menu template for corpus view only (extend it if you develop
	corpus view)

	nouveau fichier : ../templates/corpus/bannerBottome.html
	Bug inside block templates of Django, need to fix this

	modifié :         views.py
	adapting def corpus

	nouveau fichier : corpus_views.py
	Some sugar syntax
parent 64ead7e6
This diff is collapsed.
...@@ -12,11 +12,13 @@ import scrappers.scrap_pubmed.views as pubmedscrapper ...@@ -12,11 +12,13 @@ import scrappers.scrap_pubmed.views as pubmedscrapper
import tests.ngramstable.views as samtest import tests.ngramstable.views as samtest
import gargantext_web.corpus_views as corpus_views
admin.autodiscover() admin.autodiscover()
urlpatterns = patterns('', urlpatterns = patterns('',
############################################################################
# Admin views # Admin views
url(r'^admin/', include(admin.site.urls)), url(r'^admin/', include(admin.site.urls)),
url(r'^login/', include(admin.site.urls)), url(r'^login/', include(admin.site.urls)),
...@@ -25,22 +27,37 @@ urlpatterns = patterns('', ...@@ -25,22 +27,37 @@ urlpatterns = patterns('',
url(r'^auth/$', views.login_user), url(r'^auth/$', views.login_user),
url(r'^auth/logout/$', views.logout_user), url(r'^auth/logout/$', views.logout_user),
############################################################################
# Dynamic CSS # Dynamic CSS
url(r'^img/logo.svg$', views.logo), url(r'^img/logo.svg$', views.logo),
url(r'^css/bootstrap.css$', views.css), url(r'^css/bootstrap.css$', views.css),
############################################################################
# User Home view # User Home view
url(r'^$', views.home_view), url(r'^$', views.home_view),
url(r'^about/', views.get_about), url(r'^about/', views.get_about),
url(r'^maintenance/', views.get_maintenance), url(r'^maintenance/', views.get_maintenance),
############################################################################
# Project Management # Project Management
url(r'^projects/$', views.projects), url(r'^projects/$', views.projects),
url(r'^project/(\d+)/$', views_optimized.project), url(r'^project/(\d+)/$', views_optimized.project),
url(r'^delete/(\d+)$', views.delete_node), # => api.node('id' = id, children = 'True', copies = False) url(r'^delete/(\d+)$', views.delete_node), # => api.node('id' = id, children = 'True', copies = False)
############################################################################
# Corpus management # Corpus management
# Document view (main)
url(r'^project/(\d+)/corpus/(\d+)/$', views.corpus), url(r'^project/(\d+)/corpus/(\d+)/$', views.corpus),
# Journals view
url(r'^project/(\d+)/corpus/(\d+)/journals/journals.json$', corpus_views.test_journals),
url(r'^project/(\d+)/corpus/(\d+)/journals$', corpus_views.get_journals),
# Terms view
url(r'^project/(\d+)/corpus/(\d+)/ngrams/ngrams.json$', corpus_views.test_ngrams),
url(r'^project/(\d+)/corpus/(\d+)/ngrams$', corpus_views.get_ngrams),
############################################################################
# annotations App # annotations App
url(r'^project/(\d+)/corpus/(\d+)/document/(\d+)/$', annotations_main_view), url(r'^project/(\d+)/corpus/(\d+)/document/(\d+)/$', annotations_main_view),
url(r'^annotations/', include(annotations_urls)), url(r'^annotations/', include(annotations_urls)),
...@@ -48,11 +65,13 @@ urlpatterns = patterns('', ...@@ -48,11 +65,13 @@ urlpatterns = patterns('',
# #
url(r'^project/(\d+)/corpus/(\d+)/corpus.csv$', views.corpus_csv), url(r'^project/(\d+)/corpus/(\d+)/corpus.csv$', views.corpus_csv),
url(r'^project/(\d+)/corpus/(tests_mvc_listdocuments+)/corpus.tests_mvc_listdocuments$', views.corpus_csv), url(r'^project/(\d+)/corpus/(tests_mvc_listdocuments+)/corpus.tests_mvc_listdocuments$', views.corpus_csv),
############################################################################
# Visualizations # Visualizations
url(r'^project/(\d+)/corpus/(\d+)/chart$', views.chart), url(r'^project/(\d+)/corpus/(\d+)/chart$', views.chart),
url(r'^project/(\d+)/corpus/(\d+)/explorer$', views.graph), url(r'^project/(\d+)/corpus/(\d+)/explorer$', views.graph),
url(r'^project/(\d+)/corpus/(\d+)/matrix$', views.matrix), url(r'^project/(\d+)/corpus/(\d+)/matrix$', views.matrix),
############################################################################
# Data management # Data management
url(r'^chart/corpus/(\d+)/data.csv$', views.send_csv), # => api.node.children('type' : 'data', 'format' : 'csv') url(r'^chart/corpus/(\d+)/data.csv$', views.send_csv), # => api.node.children('type' : 'data', 'format' : 'csv')
...@@ -60,6 +79,7 @@ urlpatterns = patterns('', ...@@ -60,6 +79,7 @@ urlpatterns = patterns('',
url(r'^corpus/(\d+)/adjacency.json$', views.adjacency), # => api.analysis('type': 'adjacency', 'format' : 'json') url(r'^corpus/(\d+)/adjacency.json$', views.adjacency), # => api.analysis('type': 'adjacency', 'format' : 'json')
url(r'^api/tfidf/(\d+)/(\w+)$', views_optimized.tfidf), url(r'^api/tfidf/(\d+)/(\w+)$', views_optimized.tfidf),
############################################################################
# Data management # Data management
#url(r'^api$', gargantext_web.api.Root), # = ? #url(r'^api$', gargantext_web.api.Root), # = ?
...@@ -84,10 +104,6 @@ urlpatterns = patterns('', ...@@ -84,10 +104,6 @@ urlpatterns = patterns('',
url(r'^tests/project/(\d+)/ISTEXquery/go$', pubmedscrapper.testISTEX), url(r'^tests/project/(\d+)/ISTEXquery/go$', pubmedscrapper.testISTEX),
url(r'^tests/paginator/corpus/(\d+)/$', views.newpaginatorJSON), url(r'^tests/paginator/corpus/(\d+)/$', views.newpaginatorJSON),
url(r'^tests/move2trash/$' , views.move_to_trash_multiple ), url(r'^tests/move2trash/$' , views.move_to_trash_multiple ),
url(r'^project/(\d+)/corpus/(\d+)/ngrams/ngrams.json$', samtest.test_ngrams),
url(r'^project/(\d+)/corpus/(\d+)/ngrams$', samtest.get_ngrams),
url(r'^project/(\d+)/corpus/(\d+)/journals/journals.json$', samtest.test_journals),
url(r'^project/(\d+)/corpus/(\d+)/journals$', samtest.get_journals),
url(r'^corpus/(\d+)/document/(\d+)/testpage$', samtest.test_test) url(r'^corpus/(\d+)/document/(\d+)/testpage$', samtest.test_test)
) )
......
...@@ -6,9 +6,9 @@ from django.http import Http404, HttpResponse, HttpResponseRedirect, HttpRespons ...@@ -6,9 +6,9 @@ from django.http import Http404, HttpResponse, HttpResponseRedirect, HttpRespons
from django.template.loader import get_template from django.template.loader import get_template
from django.template import Context from django.template import Context
# remove this
from node import models from node import models
from node.admin import CorpusForm, ProjectForm, ResourceForm, CustomForm from node.admin import CorpusForm, ProjectForm, ResourceForm, CustomForm
from django.contrib.auth.models import User from django.contrib.auth.models import User
import datetime import datetime
...@@ -61,12 +61,12 @@ def login_user(request): ...@@ -61,12 +61,12 @@ def login_user(request):
return HttpResponseRedirect('/projects/') return HttpResponseRedirect('/projects/')
return render_to_response('authentication.html', context_instance=RequestContext(request)) return render_to_response('authentication.html', context_instance=RequestContext(request))
def logout_user(request): def logout_user(request):
logout(request) logout(request)
return HttpResponseRedirect('/') return HttpResponseRedirect('/')
# Redirect to a success page. # Redirect to a success page.
def logo(request): def logo(request):
template = get_template('logo.svg') template = get_template('logo.svg')
group = "mines" group = "mines"
...@@ -111,7 +111,6 @@ def css(request): ...@@ -111,7 +111,6 @@ def css(request):
return HttpResponse(css_data, mimetype="text/css") return HttpResponse(css_data, mimetype="text/css")
def query_to_dicts(query_string, *query_args): def query_to_dicts(query_string, *query_args):
"""Run a simple query and produce a generator """Run a simple query and produce a generator
that returns the results as a bunch of dictionaries that returns the results as a bunch of dictionaries
...@@ -251,6 +250,7 @@ def projects(request): ...@@ -251,6 +250,7 @@ def projects(request):
'projects': projects 'projects': projects
}) })
def corpus(request, project_id, corpus_id): def corpus(request, project_id, corpus_id):
if not request.user.is_authenticated(): if not request.user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/login/?next=%s' % request.path)
...@@ -261,9 +261,8 @@ def corpus(request, project_id, corpus_id): ...@@ -261,9 +261,8 @@ def corpus(request, project_id, corpus_id):
except ValueError: except ValueError:
raise Http404() raise Http404()
t = get_template('corpus.html') t = get_template('corpus/documents.html')
user = request.user
date = datetime.datetime.now() date = datetime.datetime.now()
project = cache.Node[int(project_id)] project = cache.Node[int(project_id)]
...@@ -281,7 +280,7 @@ def corpus(request, project_id, corpus_id): ...@@ -281,7 +280,7 @@ def corpus(request, project_id, corpus_id):
html = t.render(Context({ html = t.render(Context({
'debug': settings.DEBUG, 'debug': settings.DEBUG,
'user': user, 'user': request.user,
'date': date, 'date': date,
'project': project, 'project': project,
'corpus' : corpus, 'corpus' : corpus,
...@@ -305,7 +304,7 @@ def newpaginatorJSON(request , corpus_id): ...@@ -305,7 +304,7 @@ def newpaginatorJSON(request , corpus_id):
user_id = request.user.id user_id = request.user.id
# documents = session.query(Node).filter(Node.parent_id==corpus_id , Node.type_id == type_document_id ).all() # documents = session.query(Node).filter(Node.parent_id==corpus_id , Node.type_id == type_document_id ).all()
documents = session.query(Node).filter(Node.user_id == user_id , Node.parent_id==corpus_id , Node.type_id == type_document_id ).all() documents = session.query(Node).filter(Node.user_id == user_id , Node.parent_id==corpus_id , Node.type_id == type_document_id ).all()
# for doc in documents: # for doc in documents:
# print(doc.name) # print(doc.name)
......
<!--<h3> <img width="20px" src="{% static "js/libs/img2/loading-bar.gif" %}"></img> Graph (later)</h3>--!>
{% extends "corpus/menu.html" %}
{% extends "menu.html" %}
{% block css %} {% block css %}
{% load staticfiles %} {% load staticfiles %}
...@@ -13,7 +12,6 @@ ...@@ -13,7 +12,6 @@
<link rel="stylesheet" type="text/css" href="{% static "css/dc.css"%}"/> <link rel="stylesheet" type="text/css" href="{% static "css/dc.css"%}"/>
<link rel="stylesheet" type="text/css" href="{% static "css/jquery.dynatable.css"%}"/> <link rel="stylesheet" type="text/css" href="{% static "css/jquery.dynatable.css"%}"/>
<script type="text/javascript" src="{% static "js/charts/d3.js"%}"></script> <script type="text/javascript" src="{% static "js/charts/d3.js"%}"></script>
<script type="text/javascript" src="{% static "js/charts/crossfilter.js"%}"></script> <script type="text/javascript" src="{% static "js/charts/crossfilter.js"%}"></script>
<script type="text/javascript" src="{% static "js/charts/dc.js"%}"></script> <script type="text/javascript" src="{% static "js/charts/dc.js"%}"></script>
...@@ -47,31 +45,8 @@ th a { ...@@ -47,31 +45,8 @@ th a {
{% endblock %} {% endblock %}
{% block content %}
<div class="container theme-showcase" role="main"> {% block content %}
<div class="jumbotron">
{% if project %}
<h1>{{ project.name }}, {{ corpus.name }}
</h1>
{% endif %}
{% if corpus %}
<p>
{{ number}} docs, Created on {{ corpus.date }}
</p>
{% endif %}
<!-- <a class="btn btn-primary btn-lg" role="button" href="/admin/documents/corpus/{{ corpus.id }}/">Add file</a> -->
<a class="btn btn-primary btn-lg" role="button" href="/project/{{project.id}}/corpus/{{ corpus.id }}/corpus.csv">Save as</a>
<a class="btn btn-primary btn-lg" role="button" href="/delete/{{ corpus.id }}">Delete</a></p>
{% if number == 0 %}
<a class="btn btn-primary btn-lg" role="button" href="/admin/documents/corpus/{{ corpus.id }}/">Add documents</a></p>
{% endif %}
</div>
</div>
<div class="container"> <div class="container">
<div class="container"> <div class="container">
...@@ -96,6 +71,8 @@ th a { ...@@ -96,6 +71,8 @@ th a {
<a class="btn btn-xs btn-default" role="button" href="/chart/corpus/{{ corpus.id }}/data.csv">Save</a></p> <a class="btn btn-xs btn-default" role="button" href="/chart/corpus/{{ corpus.id }}/data.csv">Save</a></p>
<div class="container"> <div class="container">
<div class="jumbotron"> <div class="jumbotron">
...@@ -134,52 +111,6 @@ th a { ...@@ -134,52 +111,6 @@ th a {
</div> </div>
</div> </div>
<div class="container">
<div class="row">
<div class="col-md-4">
<div class="jumbotron">
<h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}/chart">Advanced charts</a></h3>
<ol>
<li>Count</li> <!-- read, compute -->
<li>Filter</li> <!-- count, compute -->
<li>Compare</li> <!-- select, cut -->
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
<div class="col-md-4">
<div class="jumbotron">
<!-- <h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}/matrix">Matrix</a></h3> -->
<h3>Matrix (soon)</h3>
<ol>
<li>Sort</li>
<li>Group</li>
<li>Cluster</li>
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
<div class="col-md-4">
<div class="jumbotron">
{% if processing > 0 %}
<h3> <img width="20px" src="{% static "js/libs/img2/loading-bar.gif" %}"></img> Graph (later)</h3>
{% else %}
<h3><a href="/project/{{project.id}}/corpus/{{ corpus.id }}/explorer">Graph</a></h3>
{% endif %}
<ol>
<li>Visualize</li>
<li>Explore</li>
<li>Read</li>
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
</div>
</div>
<div id="supmofos"> <div id="supmofos">
...@@ -207,3 +138,6 @@ th a { ...@@ -207,3 +138,6 @@ th a {
{% endblock %} {% endblock %}
{% extends "corpus/menu.html" %}
{% extends "menu.html" %}
{% block css %} {% block css %}
{% load staticfiles %} {% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static "css/bootstrap.css" %}"> <link rel="stylesheet" type="text/css" href="{% static "css/bootstrap.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "js/bootstrap/bootstrap-select.min.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "css/morris.css" %}"> <link rel="stylesheet" type="text/css" href="{% static "css/morris.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "css/jquery.easy-pie-chart.css"%}"> <link rel="stylesheet" type="text/css" href="{% static "css/jquery.easy-pie-chart.css"%}">
...@@ -110,32 +111,6 @@ input[type=radio]:checked + label { ...@@ -110,32 +111,6 @@ input[type=radio]:checked + label {
{% block content %} {% block content %}
<div class="container theme-showcase" role="main">
<div class="jumbotron">
{% if project %}
<h1>{{ project.name }}, {{ corpus.name }}
</h1>
{% endif %}
{% if corpus %}
<p>
Created on {{ corpus.date }}
</p>
<div id="stats"></div>
{% endif %}
<!-- <a class="btn btn-primary btn-lg" role="button" href="/admin/documents/corpus/{{ corpus.id }}/">Add file</a> -->
<a class="btn btn-primary btn-lg" role="button" href="/project/{{project.id}}/corpus/{{ corpus.id }}/corpus.csv">Save as</a>
<a class="btn btn-primary btn-lg" role="button" href="/delete/{{ corpus.id }}">Delete</a></p>
{% if number == 0 %}
<a class="btn btn-primary btn-lg" role="button" href="/admin/documents/corpus/{{ corpus.id }}/">Add documents</a></p>
{% endif %}
</div>
</div>
<div class="container"> <div class="container">
<div class="container"> <div class="container">
...@@ -197,52 +172,6 @@ input[type=radio]:checked + label { ...@@ -197,52 +172,6 @@ input[type=radio]:checked + label {
</div> </div>
<div class="container">
<div class="row">
<div class="col-md-4">
<div class="jumbotron">
<h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}/chart">Advanced charts</a></h3>
<ol>
<li>Count</li> <!-- read, compute -->
<li>Filter</li> <!-- count, compute -->
<li>Compare</li> <!-- select, cut -->
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
<div class="col-md-4">
<div class="jumbotron">
<h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}/matrix">Matrix</a></h3>
<ol>
<li>Sort</li>
<li>Group</li>
<li>Cluster</li>
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
<div class="col-md-4">
<div class="jumbotron">
{% if processing > 0 %}
<h3> <img width="20px" src="{% static "js/libs/img2/loading-bar.gif" %}"></img> Graph (later)</h3>
{% else %}
<h3><a href="/project/{{project.id}}/corpus/{{ corpus.id }}/explorer">Graph</a></h3>
{% endif %}
<ol>
<li>Visualize</li>
<li>Explore</li>
<li>Read</li>
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="{% static "js/jquery/jquery.min.js" %}"></script> <script type="text/javascript" src="{% static "js/jquery/jquery.min.js" %}"></script>
<script src="{% static "js/charts/bootstrap.min.js" %}"></script> <script src="{% static "js/charts/bootstrap.min.js" %}"></script>
......
{% extends "menu.html" %}
{% block corpusBannerTop %}
<div class="container theme-showcase" role="main">
<div class="jumbotron">
<div class="row">
<div class="col-md-4">
{% if project %}
<h1>{{ project.name }}</h1>
<h2>{{ corpus.name }}</h2>
{% endif %}
<!--<a class="btn btn-primary btn-lg" role="button" href="/admin/documents/corpus/{{ corpus.id }}/">Add file</a> -->
</div>
<div class="col-md-4">
{% if corpus %}
<br>
<p>
<center>
Creation date:
<br>
{{ corpus.date }}
</center>
</p>
{% endif %}
</div>
<div class="col-md-4">
<br>
<!--<a class="btn btn-default btn-lg" role="button" href="/project/{{project.id}}/corpus/{{ corpus.id }}/corpus.csv">Rename</a>--!>
<a class="btn btn-default btn-lg" role="button" href="/project/{{project.id}}/corpus/{{ corpus.id }}/corpus.csv">Save as</a>
<a class="btn btn-default btn-lg" role="button" href="/delete/{{ corpus.id }}">Delete</a></p>
{% if number == 0 %}
<a class="btn btn-primary btn-lg" role="button" href="/admin/documents/corpus/{{ corpus.id }}/">Add documents</a></p>
{% endif %}
</div>
<div class="btn-group btn-group-justified">
<center>
<div class="btn-group">
<a type="button" class="btn btn-primary btn-lg active" href="/project/{{project.id}}/corpus/{{ corpus.id }}/">{{number}} Documents</a>
</div>
<div class="btn-group">
<a type="button" class="btn btn-primary btn-lg" href="/project/{{project.id}}/corpus/{{ corpus.id }}/journals">Journals</a>
</div>
<div class="btn-group">
<a type="button" class="btn btn-primary btn-lg" href="/project/{{project.id}}/corpus/{{ corpus.id }}/ngrams">Terms</a>
</div>
</center>
</div>
</div>
</div>
{% endblock %}
{% block corpusBannerBottom %}
<div class="container">
<div class="row">
<div class="col-md-4">
<div class="jumbotron">
<h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}/chart">Advanced charts</a></h3>
<ol>
<li>Count</li> <!-- read, compute -->
<li>Filter</li> <!-- count, compute -->
<li>Compare</li> <!-- select, cut -->
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
<div class="col-md-4">
<div class="jumbotron">
<!-- <h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}/matrix">Matrix</a></h3> -->
<h3>Matrix (soon)</h3>
<ol>
<li>Sort</li>
<li>Group</li>
<li>Cluster</li>
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
<div class="col-md-4">
<div class="jumbotron">
{% if processing > 0 %}
<h3> Graph (later)</h3>
{% else %}
<h3><a href="/project/{{project.id}}/corpus/{{ corpus.id }}/explorer">Graph</a></h3>
{% endif %}
<ol>
<li>Visualize</li>
<li>Explore</li>
<li>Read</li>
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
</div>
</div>
{% endblock %}
{% extends "corpus/menu.html" %}
{% extends "menu.html" %}
{% block css %} {% block css %}
{% load staticfiles %} {% load staticfiles %}
...@@ -115,31 +114,6 @@ input[type=radio]:checked + label { ...@@ -115,31 +114,6 @@ input[type=radio]:checked + label {
{% block content %} {% block content %}
<div class="container theme-showcase" role="main">
<div class="jumbotron">
{% if project %}
<h1>{{ project.name }}, {{ corpus.name }}
</h1>
{% endif %}
{% if corpus %}
<p>
Created on {{ corpus.date }}
</p>
<div id="stats"></div>
{% endif %}
<!-- <a class="btn btn-primary btn-lg" role="button" href="/admin/documents/corpus/{{ corpus.id }}/">Add file</a> -->
<a class="btn btn-primary btn-lg" role="button" href="/project/{{project.id}}/corpus/{{ corpus.id }}/corpus.csv">Save as</a>
<a class="btn btn-primary btn-lg" role="button" href="/delete/{{ corpus.id }}">Delete</a></p>
{% if number == 0 %}
<a class="btn btn-primary btn-lg" role="button" href="/admin/documents/corpus/{{ corpus.id }}/">Add documents</a></p>
{% endif %}
</div>
</div>
<div class="container"> <div class="container">
<div class="container"> <div class="container">
...@@ -205,51 +179,6 @@ input[type=radio]:checked + label { ...@@ -205,51 +179,6 @@ input[type=radio]:checked + label {
</div> </div>
<div class="container">
<div class="row">
<div class="col-md-4">
<div class="jumbotron">
<h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}/chart">Advanced charts</a></h3>
<ol>
<li>Count</li> <!-- read, compute -->
<li>Filter</li> <!-- count, compute -->
<li>Compare</li> <!-- select, cut -->
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
<div class="col-md-4">
<div class="jumbotron">
<h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}/matrix">Matrix</a></h3>
<ol>
<li>Sort</li>
<li>Group</li>
<li>Cluster</li>
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
<div class="col-md-4">
<div class="jumbotron">
{% if processing > 0 %}
<h3> <img width="20px" src="{% static "js/libs/img2/loading-bar.gif" %}"></img> Graph (later)</h3>
{% else %}
<h3><a href="/project/{{project.id}}/corpus/{{ corpus.id }}/explorer">Graph</a></h3>
{% endif %}
<ol>
<li>Visualize</li>
<li>Explore</li>
<li>Read</li>
</ol>
<h4><a href="/project/{{project.id}}/corpus/{{corpus.id}}/">Back to corpus</a></h3>
</div>
</div>
</div>
</div>
<div id="savemodal" class="modal fade"> <div id="savemodal" class="modal fade">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
......
...@@ -59,9 +59,18 @@ ...@@ -59,9 +59,18 @@
</div> </div>
<!--/.nav-collapse --> <!--/.nav-collapse -->
{% block corpusBannerTop %}
{% endblock %}
{% block content %} {% block content %}
{% endblock %} {% endblock %}
{% block corpusBannerBottom %}
{% endblock %}
<hr> <hr>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment