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