- Timestamp:
- 03/17/2019 07:00:07 PM (7 years ago)
- Location:
- trunk/webapps
- Files:
-
- 7 added
- 4 edited
- 1 moved
-
cgi-bin/saveCMSmessage.py (moved) (moved from trunk/webapps/cgi-bin/saveMessage.py)
-
cgi-bin/saveHARmessage.py (added)
-
cms_messages.json (modified) (1 diff)
-
cptms.html (modified) (14 diffs)
-
data_layers/har_locations_D12.gjson (added)
-
har_messages.json (added)
-
images/btnDepressed_HAR.png (added)
-
images/btnReady_HAR.png (added)
-
images/icon_harActive.png (added)
-
js/cmsLayer.js (modified) (10 diffs)
-
js/common.js (modified) (1 diff)
-
js/harLayer.js (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/webapps/cms_messages.json
r326 r327 1 {"data":[{"cms":{"index":"1200022","message":{"displayTime":"","phase1":{"Line1":" Near Vista","Line2":" Hermosa","Line3":" "},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200023","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200024","message":{"displayTime":"","phase1":{"Line1":"bottom of fifth","Line2":"dodgers up by 2","Line3":" "},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200025","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200026","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200027","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200028","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200029","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200030","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200031","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200032","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200033","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200034","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200035","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200036","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200037","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200038","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200039","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200040","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200041","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200042","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200043","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200044","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200045","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200046","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200047","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200048","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200049","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200050","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200051","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200052","message":{"displayTime":"","phase1":{"Line1":" airport exit","Line2":" 1/2 mile","Line3":" "},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200053","message":{"displayTime":"","phase1":{"Line1":" slow for the","Line2":" cone zone","Line3":" "},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200055","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200056","message":{"displayTime":"","phase1":{"Line1":" caution","Line2":" slow traffic","Line3":" ahead"},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200057","message":{"displayTime":"","phase1":{"Line1":" I must be a","Line2":" Lucky","Line3":" Irishwoman"},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200058","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1208488","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1211184","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1211185","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1211967","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1211978","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1212138","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1212822","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1212823","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214503","message":{"displayTime":"","phase1":{"Line1":" You're heading","Line2":" south.","Line3":" "},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214504","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214505","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214506","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214507","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214508","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214509","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214510","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214511","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214512","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214513","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214514","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214956","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1217542","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218442","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218482","message":{"displayTime":"","phase1":{"Line1":" San Clemente","Line2":" Next Exit","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218483","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218484","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218485","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218486","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}}]}1 {"data":[{"cms":{"index":"1200022","message":{"displayTime":"","phase1":{"Line1":" have","Line2":" a","Line3":" nice day"},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200023","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200024","message":{"displayTime":"","phase1":{"Line1":"bottom of fifth","Line2":"dodgers up by 2","Line3":" "},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200025","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200026","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200027","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200028","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200029","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200030","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200031","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200032","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200033","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200034","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200035","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200036","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200037","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200038","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200039","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200040","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200041","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200042","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200043","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200044","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200045","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200046","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200047","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200048","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200049","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200050","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200051","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200052","message":{"displayTime":"","phase1":{"Line1":" airport exit","Line2":" 1/2 mile","Line3":" "},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200053","message":{"displayTime":"","phase1":{"Line1":" slow for the","Line2":" cone zone","Line3":" "},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200055","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200056","message":{"displayTime":"","phase1":{"Line1":""},"phase2":{}}}},{"cms":{"index":"1200057","message":{"displayTime":"","phase1":{"Line1":" drive","Line2":" safely","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1200058","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1208488","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1211184","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1211185","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1211967","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1211978","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1212138","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1212822","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1212823","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214503","message":{"displayTime":"","phase1":{"Line1":" You're heading","Line2":" south.","Line3":" "},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214504","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214505","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214506","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214507","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214508","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214509","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214510","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214511","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214512","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214513","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214514","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1214956","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1217542","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218442","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218482","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218483","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218484","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218485","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}},{"cms":{"index":"1218486","message":{"displayTime":"","phase1":{"Line1":"","Line2":"","Line3":""},"phase2":{"Line1":"","Line2":"","Line3":""}}}}]} -
trunk/webapps/cptms.html
r326 r327 25 25 } 26 26 /* A line of the CMS message display */ 27 textarea{27 .cms_sign { 28 28 height: 33px; 29 29 width: 272px; … … 35 35 } 36 36 /* Field for entering CMS Message line */ 37 input {37 .cms-input { 38 38 border: thin solid #333; 39 39 padding: 2px; 40 40 font-family: "Lucida Console", Monaco, monospace; 41 font-size: medium; 42 width: 163px; 43 } 44 /* Field for entering HAR Message line */ 45 .har-input { 46 border: thin solid #333; 47 padding: 2px; 41 48 font-size: medium; 42 49 } … … 71 78 } 72 79 #message-display { 73 height: 172px;80 height: 300px; 74 81 width: 300px; 75 82 overflow: hidden; 76 83 float: left; 77 84 } 85 #har-msgdisplay1 { 86 background-color: darkgray; 87 } 78 88 #message-input { 79 89 height: 122px; 80 width: 1 65px;90 width: 170px; 81 91 background-color: #729FFF; 82 92 float: left; … … 85 95 #buttonPanel { 86 96 height: 122px; 87 width: 1 30px;97 width: 125px; 88 98 background-color: #729FFF; 89 border-left: none;90 99 float: left; 91 100 padding: 20px; … … 95 104 } 96 105 /* CMS Edit Message Dialog */ 97 #dialog {106 .dialog { 98 107 position: absolute; 99 108 top: 10%; … … 104 113 border: 1px solid #888; 105 114 width: 680px; 115 height: 360px; 106 116 display: none; 107 117 } … … 155 165 <div id="mapdiv"></div> 156 166 <!-- The div element for the popup dialog. Best results when placed here. --> 157 <div id=" dialog" style="display:none;">158 <span class="close">☒</span> <!-- close button symbol -->167 <div id="cms-dialog" class="dialog"> 168 <span id="cms-close" class="close">☒</span> <!-- close button symbol --> 159 169 <br> 160 170 <div id="cms-info-label" style="font-family:'Courier New'">CMS ID: xxx LOCATION: </div> 161 171 <br> 162 172 <input id='cmsID' value="" type='hidden'/> 163 <div id="message-input">Proposed: 164 <input id="msgcontent1" maxlength="16" type="text"/><br><br> 165 <input id="msgcontent2" maxlength="16" type="text"/><br><br> 166 <input id="msgcontent3" maxlength="16" type="text"/> 173 <div id="message-input">Phase 1: 174 <input id="msgcontent1" class="cms-input" maxlength="16" type="text"/><br><br> 175 <input id="msgcontent2" class="cms-input" maxlength="16" type="text"/><br><br> 176 <input id="msgcontent3" class="cms-input" maxlength="16" type="text"/><br><br> 177 Phase 2: 178 <input id="msgcontent4" class="cms-input" maxlength="16" type="text"/><br><br> 179 <input id="msgcontent5" class="cms-input" maxlength="16" type="text"/><br><br> 180 <input id="msgcontent6" class="cms-input" maxlength="16" type="text"/><br><br> 167 181 </div> 168 <div id="buttonPanel" style="display: block;"> 169 <button onclick="handleCMSsubmit();">Send >></button><br> 170 <button onclick="handleCMSclear();">Clear >></button><br> 171 <button onclick="handleDialogClose( );">Close </button>182 <div id="buttonPanel" style="display: block;"><br><br> 183 <button onclick="handleCMSsubmit();">Send >></button><br><br> 184 <button onclick="handleCMSclear();">Clear >></button><br><br> 185 <button onclick="handleDialogClose('cms-dialog');">Close </button> 172 186 </div> 173 187 <div id="message-display" style="display: block;">Current: 174 <textarea readonly id="msgdisplay1" maxlength="16" rows="1" cols="16"></textarea> 175 <textarea readonly id="msgdisplay2" maxlength="16" rows="1" cols="16"></textarea> 176 <textarea readonly id="msgdisplay3" maxlength="16" rows="1" cols="16"></textarea> 188 <textarea class="cms_sign" readonly id="msgdisplay1" maxlength="16" rows="1" cols="16"></textarea> 189 <textarea class="cms_sign" readonly id="msgdisplay2" maxlength="16" rows="1" cols="16"></textarea> 190 <textarea class="cms_sign" readonly id="msgdisplay3" maxlength="16" rows="1" cols="16"></textarea> 191 <br><br><br> 192 <textarea class="cms_sign" readonly id="msgdisplay4" maxlength="16" rows="1" cols="16"></textarea> 193 <textarea class="cms_sign" readonly id="msgdisplay5" maxlength="16" rows="1" cols="16"></textarea> 194 <textarea class="cms_sign" readonly id="msgdisplay6" maxlength="16" rows="1" cols="16"></textarea> 195 </div> 196 </div> 197 <div id="har-dialog" class="dialog"> 198 <span id="har-close" class="close">☒</span> <!-- close button symbol --> 199 <div id="har-info-label" style="font-family:'Courier New'">HAR ID: xxx LOCATION: </div> 200 <br> 201 <input id='harID' value="" type='hidden'/> 202 <!--div id="har-message-input"-->Proposed:<br> 203 <input id="har-msgcontent1" class="har-input" type="text" size="50"><br> 204 <!--textarea id="har-msgcontent1" maxlength="150" rows="2" cols="50"/><br><br--> 205 206 <div id="har-buttonPanel" style="display: block;"><br> 207 <button onclick="handleHARsubmit();">Send >></button> 208 <button onclick="handleHARclear();">Clear >></button> 209 <button onclick="handleDialogClose('har-dialog');">Close </button><br><br> 210 </div> 211 <div id="har-message-display" style="display: block;">Current:<br> 212 <textarea readonly id="har-msgdisplay1" maxlength="150" rows="3" cols="50"></textarea> 177 213 </div> 178 214 </div> 179 215 <!--The div elements where the buttons appear --> 180 216 <div id="ctrButton"><img width="30" src="images/btn_mapcenter.png"</div> 217 <button id="harButton" class="unstyled-button"><img id="harBtnImg" src="images/btnReady_HAR.png"></button> 181 218 <button id="cctvButton" class="unstyled-button"><img id="cctvBtnImg" src="images/btnReady_CCTV.png"></button> 182 219 <button id="cmsButton" class="unstyled-button"><img id="cmsBtnImg" src="images/btnReady_CMS.png"></button> … … 192 229 // the cms message local dictionary 193 230 var messageDict = {}; 231 // the har message local dictionary 232 var HARmessageDict = {}; 194 233 // Constant for map center location: The John Wayne Airport 195 234 //var centerPoint = {lat: 33.687228, lng: -117.872148}; … … 215 254 var kCMSfile = "data_layers/cms_locations_D12.gjson"; // CMS locations 216 255 var kCCTVfile = "data_layers/cctv_locations_D12.gjson"; // CCTV locations 256 var kHARfile = "data_layers/har_locations_D12.gjson"; // CMS locations 217 257 var blueFlag = "images/icon_cmsBlue.png"; 218 258 var yellowFlag = "images/icon_cmsYellow.png"; … … 222 262 var vdsIconYellow = "images/circle-yellow.png" 223 263 var vdsIconRed = "images/circle-red.png" 264 var harActive = "images/icon_harActive.png"; 224 265 var cms_showing = false; 225 266 var vds_showing = true; 226 267 var cctv_showing = false; 268 var har_showing = false; 227 269 var cctv_infowindow; // We create just a single instance of info window. 228 270 … … 231 273 function initLayerButtons() 232 274 { 275 initHARbutton(); 233 276 initCCTVbutton(); 234 277 initCMSbutton(); … … 256 299 loadCMSlayer(); 257 300 loadCCTVlayer(); 301 loadHARlayer(); 258 302 259 303 initLayerButtons(); // setup the show/hide layer buttons … … 262 306 var myTimer = setInterval(updateVDSlayer, 10000); 263 307 // start an interval timer to refresh the cms icons every 10 seconds 264 var cmsTimer = setInterval(loadAllMessages, 10000); 308 var cmsTimer = setInterval(loadAllcmsMessages, 10000); 309 310 // start an interval timer to refresh the har icons every 10 seconds 311 var harTimer = setInterval(loadAllharMessages, 10000); 312 265 313 // Listen for zoom changes and move the vds dots so as to keep a nice 266 314 // visual distance between them appropriate to the zoom factor … … 284 332 <script src="js/cmsLayer.js"></script> 285 333 <script src="js/cctvLayer.js"></script> 334 <script src="js/harLayer.js"></script> 286 335 <script src="js/controls.js"></script> 287 336 <script src="js/night_mode.js"></script> -
trunk/webapps/js/cmsLayer.js
r326 r327 13 13 pic = "images/btnDepressed_CMS.png" 14 14 // It's nice when icons become visible that the messages have been refreshed. 15 loadAll Messages();15 loadAllcmsMessages(); 16 16 } 17 17 else … … 48 48 cmsLayer.addListener('click', function(event) 49 49 { 50 var dialog = document.getElementById(' dialog');50 var dialog = document.getElementById('cms-dialog'); 51 51 // Note: If the dialog is already being displayed when someone else 52 52 // updates the message, it won't be reflected in the dialog, until … … 63 63 document.getElementById('msgcontent2').value = ""; 64 64 document.getElementById('msgcontent3').value = ""; 65 document.getElementById('msgcontent4').value = ""; 66 document.getElementById('msgcontent5').value = ""; 67 document.getElementById('msgcontent6').value = ""; 65 68 document.getElementById('msgcontent1').focus(); 66 var span = document.getElement sByClassName("close")[0]69 var span = document.getElementById("cms-close"); 67 70 // When the user clicks on <span> (x), close the modal 68 71 span.onclick = function() 69 72 { 70 handleDialogClose( );73 handleDialogClose('cms-dialog'); 71 74 } 72 75 }); … … 76 79 function justifyCMStext(message) 77 80 { 81 // don't bother justifying a blank message 82 if (message.length == 0) return message; 83 // determine how much padding is needed 78 84 var kBlanks = " "; 79 85 var padLen = (16 - message.length) / 2; 86 // apply the padding 80 87 var padding = kBlanks.substring(0, padLen); 81 88 return padding + message; … … 88 95 var response2 = justifyCMStext(document.getElementById('msgcontent2').value.trim()); 89 96 var response3 = justifyCMStext(document.getElementById('msgcontent3').value.trim()); 90 var newMsg = response1 + response2 + response3; 97 var response4 = justifyCMStext(document.getElementById('msgcontent4').value.trim()); 98 var response5 = justifyCMStext(document.getElementById('msgcontent5').value.trim()); 99 var response6 = justifyCMStext(document.getElementById('msgcontent6').value.trim()); 100 var newMsg = response1 + response2 + response3 + response4 + response5 + response6; 91 101 if (newMsg.length == 0) 92 102 { 93 alert("Nothing to Send ... Proposed isempty.");103 alert("Nothing to Send ... input fields are empty."); 94 104 } 95 105 else … … 98 108 document.getElementById('msgdisplay2').value = response2; 99 109 document.getElementById('msgdisplay3').value = response3; 100 saveMessage(response1 + "|" + response2 + "|" + response3); 101 } 102 } 103 104 function handleDialogClose() 105 { 106 // hide the display 107 document.getElementById('dialog').style.display = 'none' 110 document.getElementById('msgdisplay4').value = response4; 111 document.getElementById('msgdisplay5').value = response5; 112 document.getElementById('msgdisplay6').value = response6; 113 saveMessage(response1 + "|" + response2 + "|" + response3 + "|" + 114 response4 + "|" + response5 + "|" + response6); 115 } 108 116 } 109 117 … … 113 121 document.getElementById('msgdisplay2').value = ""; 114 122 document.getElementById('msgdisplay3').value = ""; 115 saveMessage("||"); 116 } 123 document.getElementById('msgdisplay4').value = ""; 124 document.getElementById('msgdisplay5').value = ""; 125 document.getElementById('msgdisplay6').value = ""; 126 saveMessage("|||||"); 127 } 128 129 // Save an updated cms message to the file 130 function saveMessage(outMessage) 131 { 132 // Fetch cmsID from hidden field where it was put when dialog opened. 133 var cmsID = document.getElementById('cmsID').value; 134 //console.log("Saving " + outMessage + " for cmsID " + cmsID) 135 msgParts = outMessage.split("|"); 136 messageDict[cmsID].cms.message.phase1.Line1 = msgParts[0]; 137 messageDict[cmsID].cms.message.phase1.Line2 = msgParts[1]; 138 messageDict[cmsID].cms.message.phase1.Line3 = msgParts[2]; 139 messageDict[cmsID].cms.message.phase2.Line1 = msgParts[3]; 140 messageDict[cmsID].cms.message.phase2.Line2 = msgParts[4]; 141 messageDict[cmsID].cms.message.phase2.Line3 = msgParts[5]; 142 // Set icon to reflect message state 143 if (outMessage == "|||||") 144 { 145 currentIcon = {icon: yellowFlag}; 146 } 147 else 148 { 149 currentIcon = {icon: blueFlag}; 150 } 151 cmsLayer.overrideStyle(cmsLayer.getFeatureById(cmsID), currentIcon) 152 // break the json string into lines for readability 153 jsonstring = JSON.stringify(Object.values(messageDict)); //,null,4); 154 outString = "{\"data\":" + jsonstring + "}"; 155 156 var xhttp = new XMLHttpRequest(); 157 xhttp.open("GET", "cgi-bin/saveCMSmessage.py?msg=" + outString, true); 158 xhttp.send(); 159 // Using POST might be a better idea ... haven't tried this yet 160 // var xhr = new XMLHttpRequest(); 161 // xhr.open("POST", "/cgi-bin/saveMessage.py?", true); 162 // xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8'); 163 // send the collected data as JSON 164 // xhr.send(JSON.stringify(messageList)); 165 } 166 117 167 // retrieve the current cms message file 118 168 function showMessage(cmsID) 119 169 { 120 loadAll Messages(); // because someone else may have made a recent update170 loadAllcmsMessages(); // because someone else may have made a recent update 121 171 // lookup the message for this cms ID 122 172 var message = messageDict[cmsID].cms.message; … … 125 175 document.getElementById('msgdisplay2').value = message.phase1.Line2; 126 176 document.getElementById('msgdisplay3').value = message.phase1.Line3; 127 } 128 function loadAllMessages() 177 document.getElementById('msgdisplay4').value = message.phase2.Line1; 178 document.getElementById('msgdisplay5').value = message.phase2.Line2; 179 document.getElementById('msgdisplay6').value = message.phase2.Line3; 180 } 181 function loadAllcmsMessages() 129 182 { 130 183 loadJSON("cms_messages.json", function(response) … … 141 194 if (item.cms.message.phase1.Line1 + 142 195 item.cms.message.phase1.Line2 + 143 item.cms.message.phase1.Line3 == "") 196 item.cms.message.phase1.Line3 + 197 item.cms.message.phase2.Line1 + 198 item.cms.message.phase2.Line2 + 199 item.cms.message.phase2.Line3 == "") 144 200 { 145 201 cmsLayer.overrideStyle(cmsLayer.getFeatureById(item.cms.index), {icon: yellowFlag}) … … 153 209 } 154 210 155 // Save an updated cms message to the file 156 function saveMessage(outMessage) 157 { 158 // Fetch cmsID from hidden field where it was put when dialog opened. 159 var cmsID = document.getElementById('cmsID').value; 160 //console.log("Saving " + outMessage + " for cmsID " + cmsID) 161 msgParts = outMessage.split("|"); 162 messageDict[cmsID].cms.message.phase1.Line1 = msgParts[0]; 163 messageDict[cmsID].cms.message.phase1.Line2 = msgParts[1]; 164 messageDict[cmsID].cms.message.phase1.Line3 = msgParts[2]; 165 // Set icon to reflect message state 166 if (outMessage == "||") 167 { 168 currentIcon = {icon: yellowFlag}; 169 } 170 else 171 { 172 currentIcon = {icon: blueFlag}; 173 } 174 cmsLayer.overrideStyle(cmsLayer.getFeatureById(cmsID), currentIcon) 175 outString = "{\n\t\"data\":\n\t\t" + JSON.stringify(Object.values(messageDict)) + "}"; 176 177 var xhttp = new XMLHttpRequest(); 178 xhttp.open("GET", "cgi-bin/saveMessage.py?msg=" + outString, true); 179 xhttp.send(); 180 // Using POST might be a better idea ... haven't tried this yet 181 // var xhr = new XMLHttpRequest(); 182 // xhr.open("POST", "/cgi-bin/saveMessage.py?", true); 183 // xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8'); 184 // send the collected data as JSON 185 // xhr.send(JSON.stringify(messageList)); 186 } 187 211 -
trunk/webapps/js/common.js
r315 r327 17 17 xobj.send(null); 18 18 } 19 20 21 function handleDialogClose(id) 22 { 23 // hide the display 24 document.getElementById(id).style.display = 'none' 25 } 26 27
Note: See TracChangeset
for help on using the changeset viewer.
