1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
<? local view, viewlibrary = ...
require("viewfunctions")
?>
<script type="text/javascript" src="/js/jquery-latest.js"></script>
<script type="text/javascript">
last_phrase = ""
$(function(){
$("#filter").keyup(function(){
var phrase = this.value;
if (phrase == last_phrase) return false;
last_phrase = phrase;
var elems = $("#records").find("li");
elems.each(function(){
var elem = this
if (elem.innerText.indexOf(phrase)>=0) {
jQuery(elem).show();
} else {
jQuery(elem).hide();
};
})
})
$("#filter-list").submit(function(){
return false;
}).focus();
});
</script>
<?
--[[ DEBUG INFORMATION
io.write("<H1>DEBUGGING</H1><span style='color:red'><H2>DEBUG INFO: CFE</H2>")
io.write(html.cfe_unpack(view))
io.write("</span>")
--]]
?>
<? if viewlibrary and viewlibrary.dispatch_component then
viewlibrary.dispatch_component("basicstatus")
end ?>
<H1>PROGRAM SPECIFIC OPTIONS/INFORMATION</H1>
<H2>Locations</H2>
<DL>
<?
if (view) and (view['%']) then
local val = view['%'] ?>
<DT<? if (val.errtxt) then io.write(" class='error'") end ?>><?= val.label ?></DT>
<DD>
<? local currentloc = ""
for i,loc in ipairs(val) do
if currentloc ~= loc[1] then ?>
<IMG SRC='/skins/static/tango/16x16/places/start-here.png' width='16' height='16' alt> <B><?= loc[1] ?></B>
<? end
currentloc = loc[1] ?>
<BR><SPAN STYLE='margin-left:30px;'><?= loc[2] ?></SPAN><BR>
<? if (loc.errtxt) then ?><P CLASS='error'><?= string.gsub(loc.errtxt, "\n", "<BR>") ?></P><? end ?>
<? end ?>
</DD>
<? end ?>
</DL>
<?
local function doListIndents(next, indent)
local newentry = {}
for mt in string.gmatch(next, "([^.]+)") do
table.insert(newentry, mt)
end
local revnewentry = {}
for j=#newentry,1,-1 do
table.insert(revnewentry, newentry[j])
end
local i=1
while indent[i] and revnewentry[i] == indent[i] do
i=i+1
end
local ending = #indent-(i-1)
local starting = #newentry-(i-1)
for j=1,ending do
io.write("</li></ul>\n")
end
for j=1,starting do
io.write("<ul><li STYLE='margin-left:10px;'><strong>")
io.write(table.concat(newentry, ".", #newentry-(i+j-2), #newentry))
io.write("</strong>\n")
end
return revnewentry
end
?>
<H2>Records</H2>
<form id="filter-list">Filter: <input name="filter" id="filter" value="" maxlength="30" size="30" type="text"></form>
<DL id="records">
<?
local tags = {".", "&", "=", "+", "@", "'", "^", "C", "Z", ":" }
for i,entrytype in ipairs(tags) do
local myview = view[entrytype]
if (myview) then ?>
<DT><?= myview.label ?></DT>
<DD><ul>
<? local indent = {}
for j,entry in ipairs(myview) do
indent = doListIndents(entry[1], indent) ?>
<ul><li STYLE='margin-left:10px;'><IMG SRC='/skins/static/tango/16x16/devices/computer.png' width='16' height='16'><?= tostring(entry[1]) ?><BR>
<TABLE STYLE='margin-left:<?= tostring(7-#indent) ?>0px;'>
<? for k=2,#entry do
local option = entry[k]
if (option) and option ~= "" then ?>
<TR><TD WIDTH='160px' STYLE='border:none;'><?= myview.fieldlabels[k] ?>:</TD>
<TD STYLE='border:none;'><?= option ?></TD></TR>
<? end
end ?>
</TABLE>
<? if entry.errtxt then ?>
<P CLASS='error'><?= string.gsub(entry.errtxt, "\n", "<BR>") ?></P>
<? end ?>
</li></ul>
<? end
doListIndents("", indent) ?>
</ul></DD>
<? end
end ?>
</DL>
|