Warning: Can't use blame annotator:
svn blame failed on branches/LCSv2/views/default/submit.html.bak: ("Can't find a temporary directory: Internal error", 20014)

source: tmcsimulator/branches/LCSv2/views/default/submit.html.bak @ 622

Revision 622, 5.0 KB checked in by jdalbey, 6 years ago (diff)

LCS implement closed lane checkboxes

RevLine 
1{{extend 'layout.html'}}
2<style>
3/* Hide the cross street lookup table */
4.hideme {display: none}
5</style>
6<script>
7/* When a route is selected from the combobox, filter the
8   list of locations for just those on that route. */
9function routechanged() {
10  var e = document.getElementById("routecombo");
11  var currentRoute = e.options[e.selectedIndex].text;
12  // update the list of locations
13  removeOptions(document.getElementById("startlocation"));
14  removeOptions(document.getElementById("endlocation"));
15  fillOptions(currentRoute);
16}
17// Remove all the options from a combo box
18function removeOptions(selectbox)
19{
20    var idx;
21    for(idx = selectbox.options.length - 1 ; idx >= 0 ; idx--)
22    {
23       selectbox.remove(idx);
24    }
25}
26
27// Fill the selectbox with items from the lookup table that match route
28function fillOptions(route)
29{
30    var i;   
31    var tbl = document.getElementById("stlookup");
32    var startloc = document.getElementById("startlocation")
33    var endloc = document.getElementById("endlocation")
34    var opt1,opt2;
35
36    // Examine all items in cross street lookup table
37    for(i = tbl.options.length - 1 ; i >= 0 ; i--)
38    {
39        var item = tbl.options[i].text;
40        // Parse the lookup table item into route and steet fields
41        var pos = item.search(",");
42        var currentRoute = item.substring(0,pos);
43        var currentStreet = item.substring(pos+1);
44        // if the crossstreet is for the desired route
45        if (route == currentRoute)
46        {
47            opt1 = document.createElement('option');
48            opt1.text = opt1.value = currentStreet;
49            // Add an option to the location combo boxes
50            startloc.add(opt1,0);
51            opt2 = document.createElement('option');
52            opt2.text = opt2.value = currentStreet;
53            endloc.add(opt2,0);
54        }
55    }
56    // Add an empty option to the select box
57    opt1 = document.createElement('option');
58    opt1.text = opt1.value = '';
59    startloc.add(opt1,0);
60    opt2 = document.createElement('option');
61    opt2.text = opt2.value = '';
62    endloc.add(opt2,0);
63    // Show the first (empty) option
64    startloc.selectedIndex = "0";
65    endloc.selectedIndex = "0";
66}
67</script>
68<script>
69/*  Dynamically generate lane closed checkboxes.
70  When user choses "Lane" as the closure type AND "Mainline" as the Facility,
71  then display checkboxes for which lanes to close.
72*/
73function closuretypechanged()
74{
75  // Define table of routes and number of lanes for current Scenario
76  const lanedict = {  "5": 5,  "73": 3,  "405": 4,  "55" : 4 };
77  // get references to UI elements
78  var rte = document.getElementById("routecombo");
79  var currentRoute = rte.options[rte.selectedIndex].text;
80  var boxes = document.getElementById("boxes")
81  boxes.textContent = '';
82  var e = document.getElementById("closuretype");
83  var currentType = e.options[e.selectedIndex].text;
84  var facility = document.getElementById("facilitycombo");
85  var currentFacility = facility.options[facility.selectedIndex].text;
86  var x = document.getElementById("lanechooser")
87  // See if the desired choices are selected
88  if (currentType == "Lane" && currentFacility=="Mainline")
89  {
90     // Validate that a route has been chosen
91     if (currentRoute == "")
92     {
93        alert("Must select a route before choosing lanes to close.")
94        e.selectedIndex = 0
95        return;
96      }
97      x.style.display = "block"  // make boxes visible
98      var boxlimit = 4;  // default number of checkboxes for unused routes
99      // Get the total number of lanes from the lookup table
100      if (currentRoute in lanedict)
101      {
102          boxlimit =  lanedict[currentRoute]
103      }
104      // assign limit to hidden field
105      document.getElementById("lanecount").value = boxlimit.toString()
106      // Create a new checkbox for the desired number of total lanes
107      for (boxno = 1; boxno<=boxlimit; boxno++)
108      {
109      var check = document.createElement('input')
110      check.type = 'checkbox';
111      check.name = "lanes"
112      check.id = "lane"+boxno
113      check.value = "#"+boxno.toString()
114      boxes.appendChild(check);
115      var label = document.createElement('label')
116      label.htmlFor = "lane"+boxno;
117        label.appendChild(document.createTextNode(boxno.toString()));
118      boxes.appendChild(label)
119      }
120    }
121  else // hide the checkboxes
122    {
123        x.style.display = "none";
124    }
125 
126 }
127</script>
128<script>
129// Handle a user click on a radio button for "existing incident"
130function radioclicked()
131{
132    var btngroup = document.getElementsByName('existing');
133    // Is the YES button checked?
134    if(btngroup[1].checked)
135    {
136        // Turn on display of combo box to select a closure id
137        document.getElementById("closureselect").style.display = "block";
138    }
139    else
140    {
141        // Turn off the combo box display
142        document.getElementById("closureselect").style.display = "none";
143    }
144}
145</script>
146<div id="main" role="main" class="mainflex">
147    <div id="pageTitle" class="header"> Request Emergency Closure</div>
148
149    <div class="searchform">
150        {{=form}}
151    </div>
152</div>
Note: See TracBrowser for help on using the repository browser.