Changeset 327 in tmcsimulator for trunk/webapps/js/cmsLayer.js
- Timestamp:
- 03/17/2019 07:00:07 PM (7 years ago)
- File:
-
- 1 edited
-
trunk/webapps/js/cmsLayer.js (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
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
Note: See TracChangeset
for help on using the changeset viewer.
