Changeset 327 in tmcsimulator for trunk/webapps/js/cmsLayer.js


Ignore:
Timestamp:
03/17/2019 07:00:07 PM (7 years ago)
Author:
jdalbey
Message:

Add HAR layer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/webapps/js/cmsLayer.js

    r326 r327  
    1313            pic = "images/btnDepressed_CMS.png" 
    1414            // It's nice when icons become visible that the messages have been refreshed. 
    15             loadAllMessages(); 
     15            loadAllcmsMessages(); 
    1616        } 
    1717        else 
     
    4848    cmsLayer.addListener('click', function(event) 
    4949    { 
    50         var dialog = document.getElementById('dialog'); 
     50        var dialog = document.getElementById('cms-dialog'); 
    5151        // Note: If the dialog is already being displayed when someone else 
    5252        // updates the message, it won't be reflected in the dialog, until 
     
    6363        document.getElementById('msgcontent2').value = ""; 
    6464        document.getElementById('msgcontent3').value = ""; 
     65        document.getElementById('msgcontent4').value = ""; 
     66        document.getElementById('msgcontent5').value = ""; 
     67        document.getElementById('msgcontent6').value = ""; 
    6568        document.getElementById('msgcontent1').focus(); 
    66         var span = document.getElementsByClassName("close")[0] 
     69        var span = document.getElementById("cms-close"); 
    6770            // When the user clicks on <span> (x), close the modal 
    6871        span.onclick = function() 
    6972        { 
    70             handleDialogClose(); 
     73            handleDialogClose('cms-dialog'); 
    7174        } 
    7275    }); 
     
    7679    function justifyCMStext(message) 
    7780    { 
     81        // don't bother justifying a blank message 
     82        if (message.length == 0) return message;     
     83        // determine how much padding is needed 
    7884        var kBlanks = "                "; 
    7985        var padLen = (16 - message.length) / 2; 
     86        // apply the padding 
    8087        var padding = kBlanks.substring(0, padLen); 
    8188        return padding + message; 
     
    8895        var response2 = justifyCMStext(document.getElementById('msgcontent2').value.trim()); 
    8996        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; 
    91101        if (newMsg.length == 0) 
    92102        { 
    93             alert("Nothing to Send ... Proposed is empty."); 
     103            alert("Nothing to Send ... input fields are empty."); 
    94104        } 
    95105        else 
     
    98108            document.getElementById('msgdisplay2').value = response2; 
    99109            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        } 
    108116    } 
    109117 
     
    113121        document.getElementById('msgdisplay2').value = ""; 
    114122        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 
    117167    // retrieve the current cms message file 
    118168    function showMessage(cmsID) 
    119169    { 
    120         loadAllMessages();  // because someone else may have made a recent update 
     170        loadAllcmsMessages();  // because someone else may have made a recent update 
    121171        // lookup the message for this cms ID 
    122172        var message = messageDict[cmsID].cms.message; 
     
    125175        document.getElementById('msgdisplay2').value = message.phase1.Line2; 
    126176        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() 
    129182    { 
    130183        loadJSON("cms_messages.json", function(response) 
     
    141194                if (item.cms.message.phase1.Line1 +  
    142195                    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 == "") 
    144200                { 
    145201                    cmsLayer.overrideStyle(cmsLayer.getFeatureById(item.cms.index), {icon: yellowFlag}) 
     
    153209    } 
    154210 
    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.