webmcp
annotate framework/env/ui/script.lua @ 4:5e32ef998acf
Version 1.0.4
ui.link{...} with POST target can now be parameterized with BOTH content and text to allow HTML content for JavaScript browsers and a text-only version for accessiblity
Changes related to database selectors:
- Support for row-based locking
- New method :count(), caching and returning the number of rows, which WOULD have been returned by :exec()
- Bugfix: WHERE and HAVING expressions are now enclosed in parenthesis to avoid problems with operator precedence
ui.script{...} now supports external .js files
Changes in langtool.lua to cope with escaped new-line chars (\n)
ui.link{...} with POST target can now be parameterized with BOTH content and text to allow HTML content for JavaScript browsers and a text-only version for accessiblity
Changes related to database selectors:
- Support for row-based locking
- New method :count(), caching and returning the number of rows, which WOULD have been returned by :exec()
- Bugfix: WHERE and HAVING expressions are now enclosed in parenthesis to avoid problems with operator precedence
ui.script{...} now supports external .js files
Changes in langtool.lua to cope with escaped new-line chars (\n)
author | jbe/bsw |
---|---|
date | Fri Dec 25 12:00:00 2009 +0100 (2009-12-25) |
parents | 9fdfb27f8e67 |
children | 64f4540ce88c |
rev | line source |
---|---|
jbe/bsw@0 | 1 --[[-- |
jbe/bsw@0 | 2 ui.script{ |
jbe/bsw@0 | 3 noscript_attr = noscript_attr, -- HTML attributes for noscript tag |
jbe/bsw@0 | 4 noscript = noscript, -- string or function for noscript content |
jbe/bsw@0 | 5 attr = attr, -- extra HTML attributes for script tag |
jbe/bsw@0 | 6 type = type, -- type of script, defaults to "text/javascript" |
jbe/bsw@0 | 7 script = script, -- string or function for script content |
jbe/bsw@0 | 8 } |
jbe/bsw@0 | 9 |
jbe/bsw@0 | 10 This function is used to insert a script into the active slot. It is currently not XML compliant and the script must not contain a closing script tag. |
jbe/bsw@0 | 11 |
jbe/bsw@0 | 12 --]]-- |
jbe/bsw@0 | 13 |
jbe/bsw@0 | 14 -- TODO: CDATA or SGML comment? |
jbe/bsw@0 | 15 |
jbe/bsw@0 | 16 function ui.script(args) |
jbe/bsw@0 | 17 local args = args or {} |
jbe/bsw@0 | 18 local noscript_attr = args.noscript_attr |
jbe/bsw@0 | 19 local noscript = args.noscript |
jbe/bsw@0 | 20 local attr = table.new(args.attr) |
jbe/bsw@0 | 21 attr.type = attr.type or args.type or "text/javascript" |
jbe/bsw@0 | 22 local script = args.script |
jbe/bsw@0 | 23 if script and type(script) ~= "function" then |
jbe/bsw@0 | 24 -- disable HTML entity escaping |
jbe/bsw@0 | 25 script = function() |
jbe/bsw@0 | 26 slot.put(args.script) |
jbe/bsw@0 | 27 end |
jbe/bsw@0 | 28 end |
jbe/bsw@4 | 29 if args.external then |
jbe/bsw@4 | 30 attr.src = encode.url{ external = args.external } |
jbe/bsw@4 | 31 elseif args.static then |
jbe/bsw@4 | 32 attr.src = encode.url{ static = args.static } |
jbe/bsw@4 | 33 end |
jbe/bsw@0 | 34 if noscript then |
jbe/bsw@0 | 35 ui.tag{ tag = "noscript", attr = attr, content = noscript } |
jbe/bsw@0 | 36 end |
jbe/bsw@4 | 37 if attr.src then |
jbe/bsw@4 | 38 ui.tag{ tag = "script", attr = attr, content = "" } |
jbe/bsw@4 | 39 elseif script then |
jbe/bsw@0 | 40 ui.tag{ tag = "script", attr = attr, content = script } |
jbe/bsw@0 | 41 end |
jbe/bsw@0 | 42 end |