From 94cfc2629b3c78fca0b7f5e05c9673b33d7c9fe2 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Sat, 8 Mar 2014 22:59:13 +0000 Subject: Change htmlviewfunctions to make all labels use label tag and create displayformstart/middle/end functions --- lib/htmlviewfunctions.lua | 98 +++++++++++++++++++++++++++++------------------ 1 file changed, 61 insertions(+), 37 deletions(-) (limited to 'lib') diff --git a/lib/htmlviewfunctions.lua b/lib/htmlviewfunctions.lua index 8fc8a3a..812eb95 100644 --- a/lib/htmlviewfunctions.lua +++ b/lib/htmlviewfunctions.lua @@ -45,6 +45,43 @@ function mymodule.displayinfo(myitem) if myitem.errtxt then io.write("

" .. string.gsub(html.html_escape(myitem.errtxt), "\n", "
") .. "

\n") end end +function mymodule.displayitemstart(myitem, page_info, header_level) + myitem = myitem or {} + page_info = page_info or {} + header_level = header_level or page_info.header_level or 1 + if 0 <= header_level then + io.write("
") + io.write("
") + end +end + +function mymodule.displayitemend(myitem, page_info, header_level) + myitem = myitem or {} + page_info = page_info or {} + header_level = header_level or page_info.header_level or 1 + mymodule.displayinfo(myitem) + if 0 <= header_level then + io.write("
\n") + end +end + function mymodule.displayitem(myitem, header_level, page_info) if not myitem then return end page_info = page_info or {} @@ -74,39 +111,34 @@ function mymodule.displayitem(myitem, header_level, page_info) end end elseif myitem.type ~= "hidden" then - header_level = header_level or page_info.header_level or 1 - if 0 <= header_level then - io.write("

" .. html.html_escape(myitem.label) .. "

") - io.write("
") + if myitem.errtxt then + myitem.class = "error" end - io.write(string.gsub(html.html_escape(tostring(myitem.value)), "\n", "
") .. "\n") - mymodule.displayinfo(myitem) + header_level = mymodule.displayitemstart(myitem, page_info, header_level) if 0 <= header_level then - io.write("
\n") + io.write(html.html_escape(myitem.label)) end + mymodule.displayitemmiddle(myitem, page_info, header_level) + io.write("

"..string.gsub(html.html_escape(tostring(myitem.value)), "\n", "
") .. "

\n") + mymodule.displayitemend(myitem, page_info, header_level) end end function mymodule.displayformitem(myitem, name, viewtype, header_level, group) if not myitem then return end if name then myitem.name = name end - header_level = header_level or 1 if group and group ~= "" then myitem.name = group.."."..myitem.name end - if myitem.type ~= "hidden" and myitem.type ~= "group" and 0 <= header_level then - io.write("
") - io.write("
") + myitem.id = myitem.id or myitem.name + header_level = mymodule.displayitemstart(myitem, nil, header_level) + if 0 <= header_level then + io.write(html.html_escape(myitem.label)) + end + mymodule.displayitemmiddle(myitem, nil, header_level) end if (viewtype == "viewonly") then myitem.disabled = "true" @@ -182,10 +214,7 @@ function mymodule.displayformitem(myitem, name, viewtype, header_level, group) io.write((html.form[myitem.type](myitem) or "") .. "\n") end if myitem.type ~= "hidden" and myitem.type ~= "group" then - mymodule.displayinfo(myitem) - if 0 <= header_level then - io.write("
\n") - end + mymodule.displayitemend(myitem, nil, header_level) end end @@ -199,7 +228,7 @@ function mymodule.displayformstart(myform, page_info) if myform.enctype and myform.enctype ~= "" then io.write('enctype="'..html.html_escape(myform.enctype)..'" ') end - io.write('method="POST">\n') + io.write('method="post">\n') if myform.value.redir then mymodule.displayformitem(myform.value.redir, "redir") end @@ -256,15 +285,12 @@ end function mymodule.displayformend(myform, header_level) if not myform then return end - header_level = header_level or 1 local option = myform.submit or myform.option - if 0 <= header_level then - io.write("

") - if 0 == header_level then - io.write(html.html_escape(myform.label)) - end - io.write("

") + header_level = mymodule.displayitemstart(nil, nil, header_level) + if 0 == header_level then + io.write(html.html_escape(myform.label)) end + mymodule.displayitemmiddle(nil, nil, header_level) if type(option) == "table" then for i,v in ipairs(option) do io.write('\n') end - if 0 <= header_level then - io.write("
\n") - end + mymodule.displayitemend(nil, nil, header_level) io.write('\n') end -- cgit v1.2.3