Skip to content

Commit

Permalink
iniciatias en panel
Browse files Browse the repository at this point in the history
  • Loading branch information
aniversarioperu committed Oct 16, 2014
1 parent 74b3f24 commit 320d393
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 67 deletions.
89 changes: 25 additions & 64 deletions proyectos_de_ley/seguimientos/templates/seguimientos/index.html
Expand Up @@ -36,72 +36,33 @@ <h1 id="proyectos_de_ley">Proyecto de Ley {{ item.codigo }}</h1>


{% if item.iniciativas_agrupadas|length > 1 %}
<h2>Iniciativas agrupadas</h2>
<script>
var width = 960,
height = 500;

var color = d3.scale.category20();

var force = d3.layout.force()
.charge(-720)
.linkDistance(80)
.size([width, height]);

var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);

d3.json("/api/iniciativas/{{ item.short_url }}", function(error, graph) {
force
.nodes(graph.nodes)
.links(graph.links)
.start();

var elem = svg.selectAll(".node")
.data(graph.nodes)
.enter()


var link = svg.selectAll(".link")
.data(graph.links)
.enter().append("line")
.attr("class", "link")
.style("stroke-width", "2");

var node = elem
.append("svg:a").attr("xlink:href", function(d){return d.url;})
.append("circle")
.attr("class", "node")
.attr("r", 15)
.style("fill", "rgb(189, 195, 199)")
.call(force.drag);

var texto = elem
.append("svg:a").attr("xlink:href", function(d){return d.url;})
.append("svg:text").text(function(d) { return d.name; });



force.on("tick", function() {
link.attr("x1", function(d) { return d.source.x; })
.attr("y1", function(d) { return d.source.y; })
.attr("x2", function(d) { return d.target.x; })
.attr("y2", function(d) { return d.target.y; });

node.attr("cx", function(d) { return d.x; })
.attr("cy", function(d) { return d.y; });

texto.attr("dx", function(d) { return d.x - 20; })
.attr("dy", function(d) { return d.y + 5; })
.attr("font-weight", "700")
.attr("font-family", "arial")
.attr("fill", "rgb(41, 128, 185)");
});
});
</script>
<div class="container">
<div class="row">
<div class="col-lg-7 col-md-8 col-sm-11">
<div class="panel panel-default">
<div class="panel-heading"><h4>Iniciativas agrupadas</h4></div>
<div class="panel-body">
<div id="iniciativas"></div>
</div>
</div>
</div><!-- col -->
</div><!-- row -->
</div><!-- container -->
{% endif %}
</div>


{% endblock content %}


{% block additional_javascript %}
<script>
$.getJSON("/api/iniciativas/{{ item.short_url }}", function(data) {
var items = [];
$.each(data.nodes, function(k, v) {
items.push("<a href='" + v.url + "' title='Proyecto " + v.codigo + "'>" + v.codigo + "</a>")
});
$("#iniciativas").append(items.join(", "));
});
</script>
{% endblock additional_javascript %}
1 change: 1 addition & 0 deletions proyectos_de_ley/seguimientos/utils.py
Expand Up @@ -14,6 +14,7 @@ def get_proyecto_from_short_url(short_url):
item.iniciativas_agrupadas = iniciativas.split(",")
return item


def prepare_json_for_d3(item):
nodes = []
append = nodes.append
Expand Down
5 changes: 2 additions & 3 deletions proyectos_de_ley/seguimientos/views.py
Expand Up @@ -4,11 +4,8 @@
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from rest_framework.renderers import JSONRenderer
from rest_framework.parsers import JSONParser

from django.contrib.auth.models import User
from django.shortcuts import render
from rest_framework import viewsets

from . import utils
from pdl.models import Proyecto
Expand All @@ -21,6 +18,7 @@ def index(request, short_url):
item = utils.get_proyecto_from_short_url(short_url)
return render(request, "seguimientos/index.html", {"item": item})


class JSONResponse(HttpResponse):
"""
An HttpResponse that renders its content into JSON.
Expand All @@ -29,6 +27,7 @@ def __init__(self, data, **kwargs):
content = JSONRenderer().render(data)
super(JSONResponse, self).__init__(content, **kwargs)


@csrf_exempt
def iniciativa_list(request, short_url):
"""List all iniciativas for proyecto."""
Expand Down

0 comments on commit 320d393

Please sign in to comment.