Author: humbedooh
Date: Sun Mar 22 15:27:06 2015
New Revision: 1668390
URL: http://svn.apache.org/r1668390
Log:
updates for HTML + CSS + JS for admin interface:
- Add issue add page
- Add election editor
- Add invite page
- Start work on issue editor
Added:
steve/trunk/pytest/www/htdocs/admin/edit_issue.html
steve/trunk/pytest/www/htdocs/images/icon_delete.png (with props)
steve/trunk/pytest/www/htdocs/images/icon_view.png (with props)
Modified:
steve/trunk/pytest/www/htdocs/admin/add_issue.html
steve/trunk/pytest/www/htdocs/admin/edit_election.html
steve/trunk/pytest/www/htdocs/admin/invite.html
steve/trunk/pytest/www/htdocs/css/steve_interactive.css
steve/trunk/pytest/www/htdocs/js/steve_rest.js
Modified: steve/trunk/pytest/www/htdocs/admin/add_issue.html
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/admin/add_issue.html?rev=1668390&r1=1668389&r2=1668390&view=diff
==============================================================================
--- steve/trunk/pytest/www/htdocs/admin/add_issue.html (original)
+++ steve/trunk/pytest/www/htdocs/admin/add_issue.html Sun Mar 22 15:27:06 2015
@@ -13,6 +13,7 @@
<img src="/images/steve_logo.png"/>
</p>
<div class="formbox">
+ <a
href="javascript:void(location.href='edit_election.html'+(document.location.search.split('/'))[0]);">Back
to election editing front page</a>
<h2>Add a new issue:</h2>
<fieldset>
<legend>Base data</legend>
Modified: steve/trunk/pytest/www/htdocs/admin/edit_election.html
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/admin/edit_election.html?rev=1668390&r1=1668389&r2=1668390&view=diff
==============================================================================
--- steve/trunk/pytest/www/htdocs/admin/edit_election.html (original)
+++ steve/trunk/pytest/www/htdocs/admin/edit_election.html Sun Mar 22 15:27:06
2015
@@ -24,10 +24,14 @@
<a
href="javascript:void(location.href='add_issue.html'+document.location.search);"
class="btn-green"><img style="vertical-align: middle;"
src="/images/icon_add.png"/> Add an issue</a>
<a
href="javascript:void(location.href='close.html'+document.location.search);"
class="btn-red"><img style="vertical-align: middle;"
src="/images/icon_close.png"/> Close election</a>
+
+ <a
href="javascript:void(location.href='edit_basedata.html'+document.location.search);"
class="btn"><img style="vertical-align: middle;"
src="/images/icon_edit.png"/> Edit election base data</a>
+
+ <a
href="javascript:void(location.href='/election.html'+document.location.search);"
class="btn-purple"><img style="vertical-align: middle;"
src="/images/icon_view.png"/> View election</a>
<br/>
</fieldset>
<form>
- <h3>Issues in this election:</h3>
+ <h3>Issues in this election (click to edit):</h3>
<ol id="ballot">
<img src="/images/steve_spinner.gif"/>
</ol>
Added: steve/trunk/pytest/www/htdocs/admin/edit_issue.html
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/admin/edit_issue.html?rev=1668390&view=auto
==============================================================================
--- steve/trunk/pytest/www/htdocs/admin/edit_issue.html (added)
+++ steve/trunk/pytest/www/htdocs/admin/edit_issue.html Sun Mar 22 15:27:06 2015
@@ -0,0 +1,29 @@
+ <!DOCTYPE HTML>
+<html>
+<head>
+<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>Edit an issue</title>
+</head>
+<body onload="window.setTimeout(loadIssueAdmin, 500);">
+ <div id="popups"></div>
+ <p style="text-align: center;">
+ <img src="/images/steve_logo.png"/>
+ </p>
+<div class="formbox">
+ <a
href="javascript:void(location.href='edit_election.html'+(document.location.search.split('/'))[0]);">Back
to election editing front page</a>
+ <a href="javascript:void(deleteIssue());" class="btn-red"><img
style="vertical-align: middle;" src="/images/icon_delete.png"/> Delete
issue</a>
+<h2 id="title">Edit an issue:</h2>
+
+
+<div id="preloaderWrapper">
+ <img src="/images/steve_spinner.gif"/><br/>
+ Loading issue, please wait...
+</div>
+
+</div>
+</body>
+</html>
\ No newline at end of file
Modified: steve/trunk/pytest/www/htdocs/admin/invite.html
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/admin/invite.html?rev=1668390&r1=1668389&r2=1668390&view=diff
==============================================================================
--- steve/trunk/pytest/www/htdocs/admin/invite.html (original)
+++ steve/trunk/pytest/www/htdocs/admin/invite.html Sun Mar 22 15:27:06 2015
@@ -52,7 +52,7 @@
<img src="/images/steve_logo.png"/>
</p>
<div class="formbox">
-
+ <a
href="javascript:void(location.href='edit_election.html'+document.location.search);"
class="btn">Back to election editing</a>
<fieldset>
<legend>Invite one or more users to this election</legend>
<div class="keyvaluepair">
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=1668390&r1=1668389&r2=1668390&view=diff
==============================================================================
--- steve/trunk/pytest/www/htdocs/css/steve_interactive.css (original)
+++ steve/trunk/pytest/www/htdocs/css/steve_interactive.css Sun Mar 22 15:27:06
2015
@@ -46,13 +46,15 @@ p {
color: #fff;
display: inline-block;
font-size: 14px;
- padding: 8px 15px;
+ padding: 4px 8px;
text-decoration: none;
text-align: center;
- min-width: 60px;
+ font-weight: bold;
+ min-width: 50px;
position: relative;
transition: color .1s ease;
cursor: pointer;
+ margin-left: 10px;
}
.btn-red {
background: #c5321b !important;
@@ -76,6 +78,28 @@ p {
transition: 0.3s ease;
}
+.btn-purple {
+ background: #b532bb !important;
+ border: #bd351e solid 1px;
+ border-radius: 3px;
+ color: #fff !important;
+ display: inline-block;
+ font-weight: bold;
+ font-size: 14px;
+ padding: 4px 8px;
+ text-decoration: none;
+ text-align: center;
+ min-width: 30px;
+ position: relative;
+ transition: color .1s ease;
+ cursor: pointer;
+ margin-left: 10px;
+}
+.btn-purple:hover {
+ background: #d542db !important;
+ transition: 0.3s ease;
+}
+
.btn-green {
font-weight: bold;
background: #328a2b !important;
Added: steve/trunk/pytest/www/htdocs/images/icon_delete.png
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/images/icon_delete.png?rev=1668390&view=auto
==============================================================================
Binary file - no diff available.
Propchange: steve/trunk/pytest/www/htdocs/images/icon_delete.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: steve/trunk/pytest/www/htdocs/images/icon_view.png
URL:
http://svn.apache.org/viewvc/steve/trunk/pytest/www/htdocs/images/icon_view.png?rev=1668390&view=auto
==============================================================================
Binary file - no diff available.
Propchange: steve/trunk/pytest/www/htdocs/images/icon_view.png
------------------------------------------------------------------------------
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=1668390&r1=1668389&r2=1668390&view=diff
==============================================================================
--- steve/trunk/pytest/www/htdocs/js/steve_rest.js (original)
+++ steve/trunk/pytest/www/htdocs/js/steve_rest.js Sun Mar 22 15:27:06 2015
@@ -99,7 +99,6 @@ function createElection() {
function renderEditElection(code, response, election) {
if (code == 200) {
document.getElementById('title').innerHTML = "Edit election: "
+ response.base_data.title + " (#" + election + ")"
- document.getElementById('iid').value =
parseInt(Math.random()*987654321).toString(16).toLowerCase();
var obj = document.getElementById('ballot')
obj.innerHTML = "There are no issues in this election yet"
@@ -142,6 +141,57 @@ function loadAdminElectionData(election)
getJSON("/steve/admin/view/" + election, election, renderEditElection)
}
+
+function loadIssueAdmin() {
+ var l = document.location.search.substr(1).split('/');
+ var election = l[0]
+ var issue = l[1]
+ getJSON("/steve/admin/view/" + document.location.search.substr(1),
issue, renderEditIssue)
+}
+
+
+var edit_c = []
+var edit_s = []
+var edit_i = null
+function renderEditIssue(code, response, issue) {
+ if (code == 200) {
+ var obj = document.getElementById('preloaderWrapper')
+ obj.setAttribute("id", "contents")
+ for (i in response.issues) {
+ if (response.issues[i].id == issue) {
+ edit_i = response.issues[i]
+ break
+ }
+ }
+ if (!edit_i) {
+ obj.innerHTML = "<h3>No such issue found :( </h3>"
+ }
+ else if (edit_i.type == "yna") {
+ obj.innerHTML = "<h3>Editing a YNA issue</h3>"
+
+ } else if (edit_i.type.match(/^stv/)) {
+ obj.innerHTML = "<h3>Editing an STV issue</h3>"
+ }
+ } else {
+ alert(response.message)
+ }
+}
+
+function deleteIssueCallback(code, response, election) {
+ if (code == 200) {
+ alert("Issue deleted")
+ location.href = "/admin/edit_election.html?" + election
+ } else {
+ alert(code + ":" + response.message)
+ }
+}
+function deleteIssue() {
+ var l = document.location.search.substr(1).split('/');
+ var election = l[0]
+ getJSON("/steve/admin/delete/" + document.location.search.substr(1),
election, deleteIssueCallback)
+}
+
+
function changeSTVType(type) {
if (type == "yna") {
document.getElementById('yna').style.display = "block";
@@ -154,7 +204,7 @@ function changeSTVType(type) {
function createIssueCallback(code, response, state) {
if (code == 201) {
- location.href = "/edit_issue.html?" + state.election + "/" +
state.issue;
+ location.href = "/admin/edit_issue.html?" + state.election +
"/" + state.issue;
} else {
alert(response.message)
}