diff --git a/package/gluon-web-model/files/lib/gluon/web/view/model/warning.html b/package/gluon-web-model/files/lib/gluon/web/view/model/warning.html new file mode 100644 index 0000000000000000000000000000000000000000..41688b77fab7d3d2d3710e2d89f12ac4840e1617 --- /dev/null +++ b/package/gluon-web-model/files/lib/gluon/web/view/model/warning.html @@ -0,0 +1,14 @@ +<%- if self.title or self.content then -%> +<div class="gluon-warning"<%= + attr("id", id) .. + attr("data-index", self.index) .. + attr("data-depends", self:deplist(self.deps)) +%>> + <%- if self.content then -%> + <%=self.content%> + <%- else -%> + <b><%=self.title%></b><br> + <%=self.description%> + <%- end -%> +</div> +<%- end -%> diff --git a/package/gluon-web-model/luasrc/usr/lib/lua/gluon/web/model/classes.lua b/package/gluon-web-model/luasrc/usr/lib/lua/gluon/web/model/classes.lua index 2ec0d71fa648a76f8d289d81224f11c9d04e7a31..88f378c00716ea37d25b400fa9a54ba2dae02cc9 100644 --- a/package/gluon-web-model/luasrc/usr/lib/lua/gluon/web/model/classes.lua +++ b/package/gluon-web-model/luasrc/usr/lib/lua/gluon/web/model/classes.lua @@ -196,7 +196,6 @@ function Template:__init__(template) self.template = template end - local AbstractValue = class(Node) M.AbstractValue = AbstractValue @@ -411,6 +410,25 @@ function TextValue:__init__(...) end +local Element = class(Node) +M.Element = Element + +function Element:__init__(template, kv, ...) + Node.__init__(self, ...) + + self.default = nil + self.size = nil + self.optional = false + + self.template = template + + for key, value in pairs(kv) do + self[key] = value + end + + self.error = false +end + local Section = class(Node) M.Section = Section @@ -427,6 +445,11 @@ function Section:option(t, ...) return obj end +function Section:element(...) + local obj = Element(...) + self:append(obj) + return obj +end local Form = class(Node) M.Form = Form