summaryrefslogtreecommitdiffstats
path: root/provisioning-viewclassparams-html.lsp
blob: e07a30fd2e588cb6e98efffbcb974230c33da796 (plain)
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
<% local data, viewlibrary, page_info = ... 
require("viewfunctions")
%>

<%
function displayitemcustom(myitem, header_level)
	if not myitem then return end
	if myitem.type == "group" then
		header_level = header_level or 2
		io.write("<H"..tostring(header_level)..">"..html.html_escape(myitem.label).."</H"..tostring(header_level)..">")
		if myitem.descr then io.write('<P CLASS="descr">' .. string.gsub(html.html_escape(myitem.descr), "\n", "<BR>") .. "</P>\n") end
		if myitem.errtxt then io.write('<P CLASS="error">' .. string.gsub(html.html_escape(myitem.errtxt), "\n", "<BR>") .. "</P>\n") end
		local seqorder = {}
		local order = {}
		for name,item in pairs(myitem.value) do
			if tonumber(item.seq) then
				seqorder[#seqorder+1] = {seq=tonumber(item.seq), name=name}
			else
				order[#order+1] = name
			end
		end
		table.sort(seqorder, function(a,b) if a.seq ~= b.seq then return a.seq > b.seq else return a.name > b.name end end)
		table.sort(order)
		for i,val in ipairs(seqorder) do
			table.insert(order, 1, val.name)
		end
		for x,name in ipairs(order) do
			if myitem.value[name] then
				displayitemcustom(myitem.value[name], tonumber(header_level)+1)
			end
		end
	elseif myitem.type ~= "hidden" then
		io.write("<DT")
		if myitem.errtxt then 
			myitem.class = "error"
			io.write(' class="error"')
		end
		io.write(">" .. html.html_escape(myitem.label) .. "</DT>\n")
		io.write("<DD>")
		io.write(string.gsub(html.html_escape(tostring(myitem.value)), "\n", "<BR>") .. "\n")
		if myitem.descr then io.write("<P CLASS='descr'>" .. string.gsub(html.html_escape(myitem.descr), "\n", "<BR>") .. "</P>\n") end
		if myitem.errtxt then io.write("<P CLASS='error'>" .. string.gsub(html.html_escape(myitem.errtxt), "\n", "<BR>") .. "</P>\n") end
		io.write("</DD>\n")
	end
end

displayitemcustom(data, 1)
%>