Author: humbedooh
Date: Fri Mar 20 11:26:36 2015
New Revision: 1667987
URL: http://svn.apache.org/r1667987
Log:
Start adding some election viewing stuff.
See http://stv.website/election.html?foo for an example
Added:
steve/trunk/pytest/www/htdocs/election.html
steve/trunk/pytest/www/htdocs/images/steve_spinner.gif (with props)
Modified:
steve/trunk/pytest/www/htdocs/css/steve_interactive.css
steve/trunk/pytest/www/htdocs/edit_election.html
steve/trunk/pytest/www/htdocs/images/steve_logo.png
steve/trunk/pytest/www/htdocs/js/steve_rest.js
Modified: steve/trunk/pytest/www/htdocs/css/steve_interactive.css
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/css/steve_interactive.css?rev=1667987&r1=1667986&r2=1667987&view=diff
==============================================================================
--- steve/trunk/pytest/www/htdocs/css/steve_interactive.css (original)
+++ steve/trunk/pytest/www/htdocs/css/steve_interactive.css Fri Mar 20 11:26:36
2015
@@ -374,10 +374,15 @@ fieldset legend {
}
+.issueList {
+ text-align: left !important;
+ list-style: none;
+}
+
.issueListItem {
border: 1px dotted #666;
padding: 4px;
- max-width: 440px;
+ max-width: 580px;
min-height: 25px;
cursor: pointer;
font-family: monospace;
@@ -404,4 +409,25 @@ fieldset legend {
position: relative;
top: 0px;
left: 0px;
+}
+
+#preloader {
+ height: 300px;
+ width: 600px;
+ font-size: 24px;
+ font-style: italic;
+ font-weight: bold;
+ transform: translate(0, -500%);
+ transition: transform 0.3s ease-out;
+}
+
+#preloader:focus {
+ transform: translate(0, 0);
+}
+
+#preloaderWrapper {
+ width: 600px;
+ height: 500px;
+ margin: 0px auto;
+ text-align: center;
}
\ No newline at end of file
Modified: steve/trunk/pytest/www/htdocs/edit_election.html
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/edit_election.html?rev=1667987&r1=1667986&r2=1667987&view=diff
==============================================================================
--- steve/trunk/pytest/www/htdocs/edit_election.html (original)
+++ steve/trunk/pytest/www/htdocs/edit_election.html Fri Mar 20 11:26:36 2015
@@ -8,7 +8,7 @@
<script src="js/jquery-ui.js" type="text/javascript"></script>
<title>Edit election</title>
</head>
-<body onload="loadElectionData();">
+<body onload="window.setTimeout(loadElectionData, 1000);">
<div id="popups"></div>
<p style="text-align: center;">
<img src="/images/steve_logo.png"/>
@@ -18,8 +18,7 @@
<form>
<h3>Issues in this election:</h3>
<ol id="ballot">
- <li class="issueListItem"><div class="issueNumber">1</div><span>Bla
bla</span></li>
- <li class="issueListItem"><div class="issueNumber">2</div><span>Bla
bla</span></li>
+ <img src="/images/steve_spinner.gif"/>
</ol>
</form>
Added: steve/trunk/pytest/www/htdocs/election.html
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/election.html?rev=1667987&view=auto
==============================================================================
--- steve/trunk/pytest/www/htdocs/election.html (added)
+++ steve/trunk/pytest/www/htdocs/election.html Fri Mar 20 11:26:36 2015
@@ -0,0 +1,28 @@
+ <!DOCTYPE HTML>
+<html>
+<head>
+<meta charset="utf8">
+<link rel="stylesheet" href="css/steve_interactive.css">
+<link rel="stylesheet" href="css/jquery-ui.css">
+<script src="js/steve_rest.js" type="text/javascript"></script>
+<script src="js/jquery.js" type="text/javascript"></script>
+<script src="js/jquery-ui.js" type="text/javascript"></script>
+<title>Apache STeVe: Election viewer</title>
+
+</head>
+<body onload="window.setTimeout(loadElection, 1000);">
+ <div id="popups"></div>
+ <p style="text-align: center;">
+ <img src="/images/steve_logo.png"/>
+ </p>
+<div class="formbox">
+
+<div id="preloaderWrapper">
+ <img src="/images/steve_spinner.gif"/>
+ <div id="preloader">
+ Loading issues, please wait...
+ </div>
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
Modified: steve/trunk/pytest/www/htdocs/images/steve_logo.png
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/images/steve_logo.png?rev=1667987&r1=1667986&r2=1667987&view=diff
==============================================================================
Binary files - no diff available.
Added: steve/trunk/pytest/www/htdocs/images/steve_spinner.gif
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/images/steve_spinner.gif?rev=1667987&view=auto
==============================================================================
Binary file - no diff available.
Propchange: steve/trunk/pytest/www/htdocs/images/steve_spinner.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: steve/trunk/pytest/www/htdocs/js/steve_rest.js
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/js/steve_rest.js?rev=1667987&r1=1667986&r2=1667987&view=diff
==============================================================================
--- steve/trunk/pytest/www/htdocs/js/steve_rest.js (original)
+++ steve/trunk/pytest/www/htdocs/js/steve_rest.js Fri Mar 20 11:26:36 2015
@@ -170,4 +170,79 @@ function createIssue(election) {
title: title,
description: description
}, undefined, createIssueCallback, { election: election, issue: iid})
+}
+
+
+var step = 0;
+var election_data = null
+function loadElection(election, uid) {
+
+ var messages = ["Herding cats...", "Shaving yaks...", "Shooing some
cows away...", "Fetching election data...", "Loading issues..."]
+ if (!election || !uid) {
+ var l = document.location.search.substr(1).split("/");
+ election = l[0];
+ uid = l[1];
+ }
+ if (step == 0) {
+ getJSON("/steve/voter/view/" + election + "?uid=" + uid,
[election,uid], displayElection)
+ }
+
+ var obj = document.getElementById('preloader');
+ step++;
+ if (!election_data && obj) {
+ if (step % 2 == 1) obj.innerHTML =
messages[parseInt(Math.random()*messages.length-0.01)]
+ } else if (obj && (step % 2 == 1)) {
+ obj.innerHTML = "Ready..!"
+ }
+ if (step % 2 == 1) {
+ obj.style.transform = "translate(0,0)"
+ } else {
+ obj.style.transform = "translate(0,-500%)"
+ }
+ if (!election_data|| (step % 2 == 0) ) {
+ window.setTimeout(loadElection, 750);
+ }
+}
+
+function displayElection(code, response, el) {
+ election_data = response
+ if (code == 200) {
+ window.setTimeout(renderElectionFrontpage, 2000, response, el);
+ } else {
+ document.getElementById('preloaderWrapper').innerHTML =
"<h1>Sorry, no such election!</h1>"
+ }
+}
+
+function renderElectionFrontpage(response, el) {
+ var par = document.getElementById('preloaderWrapper')
+ par.innerHTML = "";
+
+ var title = document.createElement('h1');
+ title.innerHTML = response.base_data.title;
+ par.appendChild(title);
+
+ var issueList = document.createElement('ol');
+ issueList.setAttribute("class", "issueList")
+
+ var s = 0;
+ for (i in response.issues) {
+ var issue = response.issues[i]
+ s++;
+ var outer = document.createElement('li');
+ // Set style
+ outer.setAttribute("class", "issueListItem")
+
+ var no = document.createElement('div');
+ no.setAttribute("class", "issueNumber")
+ no.innerHTML = (s)
+
+ // Add issue
+ var inner = document.createElement('span')
+ inner.innerHTML = issue.id + ": " + issue.title;
+ outer.appendChild(no)
+ outer.appendChild(inner)
+ outer.setAttribute("onclick", "location.href='ballot.html?" +
el[0] + "/" + issue.id + "/" + el[1] + "';")
+ issueList.appendChild(outer)
+ }
+ par.appendChild(issueList)
}
\ No newline at end of file