diff options
author | Struan Donald <struan@exo.org.uk> | 2012-10-29 15:05:25 +0000 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2012-10-29 15:38:45 +0000 |
commit | 42b4a0dbedb593f035fc3412c78b6cd31e3e5827 (patch) | |
tree | 0215bed96953527be7264c8c12d34a33a58a2b2d | |
parent | db50d726de418b36a1f2ae730c5ea8c514b1f875 (diff) |
inital basic POC of saving reports
-rw-r--r-- | www/index.html | 1 | ||||
-rw-r--r-- | www/js/mobile.js | 68 | ||||
-rw-r--r-- | www/my_reports.html | 28 | ||||
-rw-r--r-- | www/submit-problem.html | 4 |
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> |