aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2012-10-29 15:05:25 +0000
committerStruan Donald <struan@exo.org.uk>2012-10-29 15:38:45 +0000
commit42b4a0dbedb593f035fc3412c78b6cd31e3e5827 (patch)
tree0215bed96953527be7264c8c12d34a33a58a2b2d
parentdb50d726de418b36a1f2ae730c5ea8c514b1f875 (diff)
inital basic POC of saving reports
-rw-r--r--www/index.html1
-rw-r--r--www/js/mobile.js68
-rw-r--r--www/my_reports.html28
-rw-r--r--www/submit-problem.html4
4 files changed, 100 insertions, 1 deletions
diff --git a/www/index.html b/www/index.html
index 49fe549..a8a00bf 100644
--- a/www/index.html
+++ b/www/index.html
@@ -90,6 +90,7 @@
<li><a href="index.html" class="ui-button-active ui-state-persist">Report</a></li>
<li><a href="account.html">Account</a></li>
<li><a href="about.html">Info</a></li>
+ <li><a href="my_reports.html">My</a></li>
</ul>
</div><!-- /navbar -->
</div>
diff --git a/www/js/mobile.js b/www/js/mobile.js
index 463a37f..471c1a4 100644
--- a/www/js/mobile.js
+++ b/www/js/mobile.js
@@ -1,3 +1,11 @@
+Storage.prototype.setObject = function(key, value) {
+ this.setItem(key, JSON.stringify(value));
+};
+
+Storage.prototype.getObject = function(key) {
+ return JSON.parse(this.getItem(key));
+};
+
function touchmove(e) {
e.preventDefault();
}
@@ -369,7 +377,7 @@ function sign_out() {
if ( data.signed_out ) {
localStorage.signed_out = 1;
localStorage.name = null;
- $.mobile.pageChange('sign_in.html');
+ $.mobile.changePage('sign_in.html');
}
}
} );
@@ -427,12 +435,69 @@ function onDeviceReady() {
document.location = 'no_connection.html';
}
}
+
+function get_report_params () {
+ var params = {
+ service: 'iphone',
+ title: $('#form_title').val(),
+ detail: $('#form_detail').val(),
+ may_show_name: $('#form_may_show_name').attr('checked') ? 1 : 0,
+ category: $('#form_category').val(),
+ lat: $('#fixmystreet\\.latitude').val(),
+ lon: $('#fixmystreet\\.longitude').val(),
+ phone: $('#form_phone').val(),
+ pc: $('#pc').val()
+ };
+
+ if ( localStorage.username && localStorage.password && localStorage.name ) {
+ params.name = localStorage.name;
+ params.email = localStorage.username;
+ params.password_sign_in = localStorage.password;
+ } else {
+ params.name = $('#form_name').val();
+ params.email = $('#form_email').val();
+ params.password_sign_in = $('#password_sign_in').val();
+ }
+
+ return params;
+
+}
+
+function save_report() {
+ var params = get_report_params();
+
+ var r;
+ if ( localStorage.getObject( 'reports' ) ) {
+ r = localStorage.getObject( 'reports' );
+ } else {
+ r = [];
+ }
+ r.push( params );
+ $.mobile.changePage('my_reports.html');
+}
+
+function display_saved_reports() {
+ if ( localStorage.getObject( 'reports' ) ) {
+ var r = localStorage.getObject('reports');
+ var list = $('<ul></ul>');
+ for ( i = 0; i < r.length; i++ ) {
+ if ( r[i] && r[i].title ) {
+ $('<li id="' + i + '">' + r[i].title + '</li>').appendTo(list);
+ }
+ }
+ list.appendTo('#reports');
+ } else {
+ $("#reports").innerHTML('No Reports');
+ }
+}
+
$(document).bind('pageinit', function() {
$('#postcodeForm').submit(locate);
$('#mapForm').submit(postReport);
$('#signInForm').submit(sign_in);
$('#ffo').click(getPosition);
$('#forget').on('click', forget);
+ $('#save_report').on('click', save_report);
$('#mapForm :input[type=submit]').on('click', function() { submit_clicked = $(this); });
account();
});
@@ -445,3 +510,4 @@ $(document).delegate('#report-created', 'pageshow',function() {
});
$(document).delegate('#account-page', 'pageshow', display_account_page);
+$(document).delegate('#my-reports-page', 'pageshow', display_saved_reports);
diff --git a/www/my_reports.html b/www/my_reports.html
new file mode 100644
index 0000000..16773a7
--- /dev/null
+++ b/www/my_reports.html
@@ -0,0 +1,28 @@
+ <div class="wrapper" id="my-reports-page" data-role="page">
+ <div class="table-cell">
+ <!-- header id="site-header" role="banner">
+ <div class="container">
+ <span id="site-logo"></span>
+ </div>
+ </header -->
+
+ <div id="user-meta">
+
+ </div>
+
+ <div class="container" data-role="content">
+ <div class="content" id="reports" role="main" data-enhance="false">
+ </div>
+
+ <div data-role="footer" data-id="foo1" data-position="fixed">
+ <div data-role="navbar">
+ <ul>
+ <li><a href="index.html">Report</a></li>
+ <li><a href="account.html">Account</a></li>
+ <li><a href="about.html">Info</a></li>
+ </ul>
+ </div><!-- /navbar -->
+ </div>
+ </div>
+ </div><!-- .table-cell -->
+ </div>
diff --git a/www/submit-problem.html b/www/submit-problem.html
index 660d805..db900ce 100644
--- a/www/submit-problem.html
+++ b/www/submit-problem.html
@@ -135,6 +135,10 @@
<input type="password" name="password_register" id="password_register" value="" placeholder="Enter a password (optional)">
<input class="green-btn" type="submit" id="submit_register" name="submit_register" value="Report">
</div>
+
+ <div class="form-txt-submit-box">
+ <input class="green-btn" type="button" id="save_report" name="save_report" value="Save">
+ </div>
</div>
</div>
</div>