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


Reply via email to