Changeset 300 in tmcsimulator
- Timestamp:
- 03/09/2019 02:32:17 PM (7 years ago)
- File:
-
- 1 edited
-
trunk/src/cptms/cms_demo.html (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/cptms/cms_demo.html
r299 r300 19 19 width: 272px; 20 20 resize: none; 21 overflow-wrap: break-word;22 21 font-family: Scoreboard; 23 22 font-size: xx-large; 24 23 background-color: black; 25 color: GoldenRod; 26 overflow-y: hidden; 24 color: yellow; 25 } 26 input { 27 border: thin solid #333; 28 padding: 2px; 29 font-family: monospace; 30 font-size: large; 27 31 } 28 32 #map { 29 height: 5 60px;33 height: 550px; 30 34 width: 100%; 31 35 overflow: hidden; 32 36 border: thin solid #333; 33 37 } 34 #cms- name{35 height: 30px;36 width: 300px;38 #cms-info-label { 39 height: 20px; 40 width: 540px; 37 41 overflow: hidden; 38 42 background-color: #ECECFB; 39 border: thin solid # 333;40 /* border-left: none; */43 border: thin solid #BDBDBD; 44 padding: 5px; 41 45 } 42 input { 43 font-family: Scoreboard; 44 font-size: xx-large; 45 font-weight: bold; 46 background-color: black; 47 color: Yellow; 48 border: thin solid #333; 49 } 50 #cms-message { 51 height: 122px; 46 #message-display { 47 height: 172px; 52 48 width: 300px; 53 49 overflow: hidden; … … 56 52 /* border-left: none;*/ 57 53 } 58 #userinput { 54 #message-input { 55 height: 122px; 56 width: 135px; 57 background-color: #ECECFB; 58 float: left; 59 60 } 61 #buttonPanel { 59 62 height: 122px; 60 63 width: 100px; 61 overflow: hidden;62 64 background-color: #ECECFB; 63 border: thin solid #333;64 65 border-left: none; 65 66 float: left; 66 } 67 padding: 20px; 68 } 69 .wrapper { 70 position: relative;\ 71 } 72 #dialog { 73 position: absolute; 74 top: 10%; 75 right: 20%; 76 background-color: #ECECFB; 77 margin: auto; 78 padding: 20px; 79 border: 1px solid #888; 80 width: 52%; 81 display: none; 82 } 67 83 #hideButton { 68 84 font-size: 40px; … … 71 87 color: #47476b; 72 88 cursor: pointer; 73 } </style> 89 } 90 91 /* The Close Button */ 92 .close { 93 color: orange; 94 float: right; 95 font-size: 20px; 96 font-weight: bold; 97 } 98 99 .close:hover, 100 .close:focus { 101 color: red; 102 text-decoration: none; 103 cursor: pointer; 104 } 105 </style> 74 106 </head> 75 107 <body> 76 <div id="cms-name" style="display: none;"></div>108 <!-- <div id="cms-name" style="display: none;"></div> 77 109 <div id="cms-message" style="display: none;"> 78 <!-- <textarea id="msgcontent1" maxlength="48" rows="3" cols="10" wrap="hard" style="display: none;"></textarea> --> 110 79 111 <input id="msgcontent1" size="16" maxlength="16"/> 80 112 <input id="msgcontent2" size="16" maxlength="16"/> … … 87 119 <button onclick="handleCancel();">Cancel</button> 88 120 </div> 121 --> 89 122 <div id="map"></div> 90 123 <!--The div element where the show/hide button appears --> 91 124 <div id="hideButton">👁</div> 125 <div id="map" class = "wrapper"></div> 126 <!-- The div element for the popup dialog --> 127 <div id="dialog" style="display:none;"> 128 <span class="close">×</span> 129 <br> 130 <div id="cms-info-label" style="font-family:monospace">CMS ID: xxx LOCATION: </div> 131 <br> 132 <div><pre>Proposed: Current:</pre></div> 133 <input id='cmsID' value="" type='hidden'/> 134 <div id="message-input"> 135 <input id="msgcontent1" size="16" maxlength="16" type="text"/><br><br> 136 <input id="msgcontent2" size="16" maxlength="16"/><br><br> 137 <input id="msgcontent3" size="16" maxlength="16"/> 138 </div> 139 <div id="buttonPanel" style="display: block;"> 140 <button onclick="handleSubmit();">Send >></button><br> 141 <button onclick="handleClear();">Clear >></button><br> 142 <button onclick="handleClose();">Close </button> 143 </div> 144 <div id="message-display" style="display: block;"> 145 <textarea readonly id="msgdisplay1" maxlength="16" rows="1" cols="16"></textarea> 146 <textarea readonly id="msgdisplay2" maxlength="16" rows="1" cols="16"></textarea> 147 <textarea readonly id="msgdisplay3" maxlength="16" rows="1" cols="16"></textarea> 148 </div> 149 </div> 92 150 93 151 <script> … … 98 156 var map; 99 157 var kMapStartupFile = "cmsStatusD12.json"; 100 //var src="http://git.tokomak.net:8888/raw-attachment/ticket/75/dyer1.txt"101 //var src="https://raw.githubusercontent.com/jdalbey/map-spikes/master/cms_two_signs.kml";102 // var src = "https://www.arb.ca.gov/smp/met/kml/faa.kml";103 // var src="https://raw.githubusercontent.com/jdalbey/map-spikes/master/la_airports.kml"104 // var src = 'https://developers.google.com/maps/documentation/javascript/examples/kml/westcampus.kml';105 158 var blueFlag = "icon_cmsBlue.png"; 106 159 var yellowFlag = "icon_cmsYellow.png"; … … 116 169 center: centerPoint, 117 170 zoom: 11, 118 /* mapTypeId: 'terrain', */119 171 mapTypeControl: false, 120 172 streetViewControl: false … … 124 176 setMarkers(); 125 177 } 126 // Initialize the center button (to re-center the map)178 // Initialize the view/hide button 127 179 function initButton() 128 180 { … … 131 183 hideBtnDiv.title = 'Click to toggle cms view'; 132 184 133 // Setup the click event listeners : reset center location and zoom factor185 // Setup the click event listeners to toggle icon display 134 186 hideBtnDiv.addEventListener('click', function() { 135 187 showing = !showing; … … 178 230 function() 179 231 { 180 var cmsName = document.getElementById('cms-name'); 181 cmsName.innerHTML = this.getTitle(); // put sign name in display 182 cmsName.style.display = 'block' 183 var cmsMsg = document.getElementById('cms-message'); 184 cmsMsg.style.display = 'block' 232 var dialog = document.getElementById('dialog'); 233 dialog.style.display = 'block'; 234 // fetch the sequential msg # 185 235 cmsID = Number(this.getLabel()); 236 // Assign to the hidden field 237 document.getElementById('cmsID').value = cmsID; 186 238 getMessage(cmsID); // note: this is async 187 document.getElementById('cmsID').value = cmsID; 188 var userInput = document.getElementById('userinput'); 189 userInput.style.display = 'block' 239 document.getElementById('cms-info-label').innerHTML = "CMS id: " + 240 cmsID + " LOCATION: " + this.title; 241 // clear input fields 242 document.getElementById('msgcontent1').value = ""; 243 document.getElementById('msgcontent2').value = ""; 244 document.getElementById('msgcontent3').value = ""; 245 document.getElementById('msgcontent1').focus(); 246 var span = document.getElementsByClassName("close")[0] 247 // When the user clicks on <span> (x), close the modal 248 span.onclick = function() { 249 handleClose(); 250 } 190 251 }); 191 252 } … … 212 273 function handleSubmit() 213 274 { 214 // hide the display215 document.getElementById('cms-message').style.display = 'none'216 document.getElementById('userinput').style.display = 'none'217 document.getElementById('cms-name').style.display = 'none'218 275 // recover the user's response 219 276 var response1 = document.getElementById('msgcontent1').value; 220 277 var response2 = document.getElementById('msgcontent2').value; 221 278 var response3 = document.getElementById('msgcontent3').value; 222 saveMessage(response1 + "|" + response2 + "|" + response3); 223 } 224 225 function handleCancel() 279 var newMsg = response1+response2+response3; 280 if (newMsg.length == 0) 281 { 282 alert("Nothing to Send ... Proposed is empty."); 283 } 284 else 285 { 286 document.getElementById('msgdisplay1').value = response1; 287 document.getElementById('msgdisplay2').value = response2; 288 document.getElementById('msgdisplay3').value = response3; 289 saveMessage(response1 + "|" + response2 + "|" + response3); 290 } 291 } 292 293 function handleClose() 226 294 { 227 295 // hide the display 228 document.getElementById('cms-message').style.display = 'none' 229 document.getElementById('userinput').style.display = 'none' 230 document.getElementById('cms-name').style.display = 'none' 296 document.getElementById('dialog').style.display = 'none' 231 297 } 232 298 233 299 function handleClear() 234 300 { 235 document.getElementById('msg content1').value = "";236 document.getElementById('msg content2').value = "";237 document.getElementById('msg content3').value = "";238 document.getElementById('msgcontent1').focus();301 document.getElementById('msgdisplay1').value = ""; 302 document.getElementById('msgdisplay2').value = ""; 303 document.getElementById('msgdisplay3').value = ""; 304 saveMessage("||"); 239 305 } 240 306 … … 264 330 // select a message from json for the given cmsID 265 331 console.log("get by cmsID=" + cmsID); 266 var cmsSign = document.getElementById('msgcontent1'); 267 //cmsSign.innerHTML = messageList[cmsID]; 332 var cmsSign = document.getElementById('msgdisplay1'); 268 333 messageparts = messageList[cmsID].split("|"); 269 334 cmsSign.value = messageparts[0]; 270 document.getElementById('msgcontent2').value = messageparts[1]; 271 document.getElementById('msgcontent3').value = messageparts[2]; 272 cmsSign.style.display = 'block' 273 cmsSign.focus(); 335 document.getElementById('msgdisplay2').value = messageparts[1]; 336 document.getElementById('msgdisplay3').value = messageparts[2]; 274 337 }); 275 338 } … … 286 349 else 287 350 markerList[cmsID].setIcon(blueFlag); 351 288 352 var xhttp = new XMLHttpRequest(); 289 353 xhttp.open("GET", "http://localhost:8080/cgi-bin/saveMessage.py?msg=" + JSON
Note: See TracChangeset
for help on using the changeset viewer.
