Checkpoint commit - blips show up as a sidebar now instead of at the bottom
[tech-radar-editor.git] / web / templates / radar / index.html.eex
1 <body>
2 <div id="radar">
3 </div>
4 <div id="sidenav" class="sidenav">
5 <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
6 <div id="new-items">
7 <%= form_for @changeset, radar_path(@conn, :create), fn f -> %>
8 <table class="radar-input-table" >
9 <thead>
10 <tr class="radar-input-status-group">
11 <td>Quadrant</td>
12 <td>Cycle</td>
13 <td>Name</td>
14 <td>Description</td>
15 <td< /td>
16 </tr>
17 </thead>
18 <tr c>
19 <td>
20 <%= select f, :quadrant, Enum.with_index(TechRadarEditor.RadarDataPoint.quadrants,1) %>
21 </td>
22 <td>
23 <%= select f, :cycle, Enum.with_index(TechRadarEditor.RadarDataPoint.cycles,1) %>
24 </td>
25 <td>
26 <%= text_input f, :name %>
27 </td>
28 <td>
29 <%= text_input f, :description %>
30 </td>
31 <td>
32 <%= hidden_input f, :is_new, value: "true" %>
33 <%= submit "Add", class: "btn btn-primary" %>
34 </td>
35 </tr>
36 </table>
37 <% end %>
38 </div>
39 <div id="ref-table">
40 </div>
41 </div>
42 </body>
43 <script>
44 var adopt = new tr.models.Cycle('Adopt', 0);
45 var trial = new tr.models.Cycle('Trial', 1);
46 var assess = new tr.models.Cycle('Assess', 2);
47 var hold = new tr.models.Cycle('Hold', 3);
48
49 var radar = new tr.models.Radar();
50 var toolsQuadrant = new tr.models.Quadrant('Tools');
51 var techniquesQuadrant = new tr.models.Quadrant('Techniques');
52 var platformsQuadrant = new tr.models.Quadrant('Platforms');
53 var languageFramework = new tr.models.Quadrant('Languages & Frameworks');
54
55 <% fn_blip_line = fn(p) -> " new tr.models.Blip('" <> p.name <> "', "
56 <> String.downcase(Enum.at(TechRadarEditor.RadarDataPoint.cycles, p.cycle-1)) <> ", "
57 <> if(p.is_new, do: "true", else: "false")
58 <> if(p.description != nil, do: ",'" <> p.description <> "'", else: "")
59 <> ")"
60 end
61 %>
62
63 toolsQuadrant.add([
64 <%= raw(Enum.join( Enum.map(@radar_quadrants[1], fn(p) -> fn_blip_line.(p) end),",\n")) %>
65 ]);
66
67 techniquesQuadrant.add([
68 <%= raw(Enum.join( Enum.map(@radar_quadrants[2], fn(p) -> fn_blip_line.(p) end),",\n")) %>
69 ]);
70
71 platformsQuadrant.add([
72 <%= raw(Enum.join( Enum.map(@radar_quadrants[3], fn(p) -> fn_blip_line.(p) end),",\n")) %>
73 ]);
74
75 languageFramework.add([
76 <%= raw(Enum.join( Enum.map(@radar_quadrants[4], fn(p) -> fn_blip_line.(p) end),",\n")) %>
77 ]);
78
79 radar.setFirstQuadrant(toolsQuadrant);
80 radar.setSecondQuadrant(techniquesQuadrant);
81 radar.setThirdQuadrant(platformsQuadrant);
82 radar.setFourthQuadrant(languageFramework);
83
84 var innerWidth = window.innerWidth;
85 var innerHeight = window.innerHeight;
86
87 radarSize = Math.min(innerWidth-20, innerHeight-20, 1080);
88
89 var radarGraph = new tr.graphing.Radar(radarSize, radar);
90 radarGraph.init('#radar').plot();
91 var refTable = new tr.graphing.RefTable(radar);
92 refTable.init('#ref-table').render();
93
94 ref_table = document.getElementsByClassName('radar-ref-table')[0];
95 for (var i = 0, trow; trow = ref_table.rows[i]; i++) {
96 if (trow.cells.length == 3) {
97 var blip_number = trow.cells[0].textContent;
98 var new_cell = trow.insertCell(-1);
99 s_form = "<form action=\"/" + blip_number + "\" class=\"link\" method=\"post\">";
100 s_form += "<input name=\"_method\" type=\"hidden\" value=\"delete\">";
101 s_form += "<a class=\"btn btn-danger btn-xs\" data-confirm=\"Are you sure?\" data-submit=\"parent\" href=\"#\" rel=\"nofollow\">Delete</a>";
102 s_form += "<input type=\"hidden\" name=\"_csrf_token\" value=\"<%= get_csrf_token() %>\">";
103 s_form += "</form>";
104 new_cell.innerHTML = s_form;
105 };
106 };
107
108 /* Set the width of the side navigation to 250px */
109 function openNav() {
110 document.getElementById("sidenav").style.width = "80%";
111 }
112
113 /* Set the width of the side navigation to 0 */
114 function closeNav() {
115 document.getElementById("sidenav").style.width = "0";
116 }
117
118 </script>
119
120 <button onclick="openNav()">Show Blips</button><br />
121 <a href="/admin/radar_data_point">Admin Radar Data Point</a>
122