Ignore:
Timestamp:
2015-06-16T13:33:20+12:00 (9 years ago)
Author:
davidb
Message:

Changes made during Fieldays event. Background colour remember between reloads (in localStorage) until published; more sophisticated support for handling JSON data

File:
1 edited

Legend:

Unmodified
Added
Removed
  • other-projects/nz-flag-design/trunk/main-form/my-design.jsp

    r29961 r29982  
    2222    <script src="lib-slider/js/jquery.mobile-1.3.0.js"></script>
    2323
    24 
     24    <script>
     25     window.addEventListener("beforeunload", function (event) {
     26    console.log("beforeunload() called");
     27    //var design_frame = document.getElementById('design-2d-iframe')
     28        //var svgEditor = design_frame.contentWindow.svgEditor;
     29
     30    //var name = 'svgedit-' + svgEditor.curConfig.canvasName;
     31    var name = 'svgedit-' + "default";
     32
     33    if (window.localStorage) {
     34       console.log("Removing stored SVG picture");
     35       window.localStorage.removeItem(name);
     36       window.localStorage.removeItem("flagBackgroundColor");
     37    }
     38
     39        event.preventDefault();
     40    return;
     41     });
     42
     43    </script>
    2544
    2645  <%@ page import="java.io.*,java.util.*,java.awt.image.*,javax.imageio.*,javax.xml.bind.DatatypeConverter,java.nio.file.*,org.json.*" %>
     
    134153
    135154     BufferedWriter bw = new BufferedWriter(new FileWriter(full_pub_json_file));
    136          bw.write("{ \"name\": \"" + name + "\", \"email\": \"" + email + "\", \"desc\": \"" + desc + "\"}");
     155
     156
     157     JSONObject obj = new JSONObject();
     158     obj.append("pubName",pub_name);
     159     obj.append("name",name);
     160     obj.append("email",email);
     161     obj.append("desc",desc);
     162
     163     obj.write(bw);
     164         // bw.write("{ \"pubName\": \"" + pub_name + "\", \"name\": \"" + name + "\", \"email\": \"" + email + "\", \"desc\": \"" + desc + "\"}");
    137165         bw.close();
     166
    138167       }
    139168       catch (Exception e) {
     
    203232
    204233       JSONObject obj = new JSONObject(everything);
    205        name  = obj.getString("name");
    206        email = obj.getString("email");
    207        desc  = obj.getString("desc");
    208      }
    209 
    210      
     234       try {
     235           name  = obj.getString("name");
     236       }
     237       catch (Exception e) {
     238           name  = obj.getJSONArray("name").getString(0);
     239       }
     240
     241       try {
     242           email = obj.getString("email");
     243       }
     244       catch (Exception e) {
     245           email = obj.getJSONArray("email").getString(0);
     246       }
     247
     248       try {
     249           desc  = obj.getString("desc");
     250       }
     251       catch (Exception e) {
     252           desc  = obj.getJSONArray("desc").getString(0);
     253       }
     254     }
     255
     256     // For use in Javascript
     257     pub_name = pub_name.replace("\"","\\\"");
     258     name  = name.replace("\"","\\\"");
     259     email = email.replace("\"","\\\"");
     260     desc  = desc.replace("\"","\\\"");     
    211261   %>
    212262
     
    224274
    225275  <body>
     276
     277  <%     
     278     //String action = request.getParameter("action");
     279     // only add FB like ability if visiting the item after it has been published
     280
     281     if (action == null) {
     282  %>
     283
    226284<div id="fb-root"></div>
    227285<script>(function(d, s, id) {
    228   var js, fjs = d.getElementsByTagName(s)[0];
    229   if (d.getElementById(id)) return;
    230   js = d.createElement(s); js.id = id;
    231   js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.3&appId=538218162984944";
    232   fjs.parentNode.insertBefore(js, fjs);
     286
     287    var js, fjs = d.getElementsByTagName(s)[0];
     288    if (d.getElementById(id)) return;
     289    js = d.createElement(s); js.id = id;
     290    //js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.3&appId=538218162984944";
     291    js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.3&appId=1612166589021423";
     292
     293    fjs.parentNode.insertBefore(js, fjs);
     294
    233295}(document, 'script', 'facebook-jssdk'));</script>
     296
     297  <%
     298      }
     299  %>
    234300
    235301    <div data-role="page" id="innovation-story-01" class="demo-page">
     
    256322          <div style="display: inline-block; position: relative">
    257323            <div>
    258           <a id="myflag-svg" data-ajax="false" ><img id="myflag-png" height="200" style="border: none;"/></a>
     324          <a id="myflag-svg" data-ajax="false" ><img id="myflag-png" title="Click on the image to see a larger SVG (Scalable Vector Graphic) version" height="200" style="border: none;"/></a>
    259325            </div>
    260326
     
    274340<script type="text/javascript">
    275341
    276 var published_id = "<%= request.getParameter("pub-name") %>";
     342var published_id = "<%= pub_name %>";
    277343var name  = "<%= name %>";
    278344var email = "<%= email %>";
     
    281347document.write("  <div style=\"width: 500px; background: #181818; padding: 5px; margin: 10px;\">");
    282348document.write("    <p>Designer: " + name + "<p/>");
    283 document.write("    <p>Email: " + email + "<p/>");
     349//document.write("    <p>Email: " + email + "<p/>");
    284350document.write("    <p>Description: " + desc + "<p/>");
    285351document.write("  </div>");
     
    291357var base_url = location.protocol + '//' + location.host + location.pathname;
    292358
    293 a2a_config.linkurl = base_url + "?pub-name=" + published_id
     359a2a_config.linkurl = base_url + "?pub-name=" + published_id.replace(/ /g,"+");
    294360
    295361</script>
     
    326392
    327393    <center>
     394    <p style="font-size: 220%;">
     395      <i>
     396    Or else view other flags designed at Fieldays through
     397    <a target="_blank" href="http://www.greenstone.org/greenstone3/flag-library/collection/fieldays/page/about">
     398      this link
     399    </a>
     400     </i>
     401    </p>   
     402    </center>
     403
     404    <center>
    328405    <p style="font-size: 200%;">
    329406      <i>
Note: See TracChangeset for help on using the changeset viewer.