luci-base: rework dynamic list template
authorJo-Philipp Wich <jo@mein.io>
Mon, 5 Nov 2018 15:35:36 +0000 (16:35 +0100)
committerJo-Philipp Wich <jo@mein.io>
Wed, 14 Nov 2018 19:46:04 +0000 (20:46 +0100)
Commit 7c7821833 ("luci-base, themes: rework dynlist and dropdown widgets")
changed the way we initialize dynamic lists on client side, avoiding the
need for pre-rendering the items on the server side.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/luasrc/view/cbi/dynlist.htm

index 4d0b50942b51c50a3b7d206fa93133877c082641..fa7dbdb4189f54959e63ed7038c03f4cfc2dc685 100644 (file)
@@ -6,22 +6,8 @@
                self.keylist, self.vallist,
                self.datatype, self.optional or self.rmempty
        })) ..
-
+       attr("data-values", luci.util.serialize_json(self:cfgvalue(section))) ..
        ifattr(self.size, "data-size", self.size) ..
        ifattr(self.placeholder, "data-placeholder", self.placeholder)
-%>>
-<%
-       local vals = self:cfgvalue(section) or {}
-       for i=1, #vals + 1 do
-               local val = vals[i]
-               if (val and #val > 0) or (i == 1) then
-%>
-       <input class="cbi-input-text" value="<%=pcdata(val)%>" data-update="change" type="text"<%=
-               attr("id", cbid .. "." .. i) ..
-               attr("name", cbid) ..
-               ifattr(self.size, "size") ..
-               ifattr(i == 1 and self.placeholder, "placeholder", self.placeholder)
-       %> /><br />
-<% end end %>
-</div>
+%>></div>
 <%+cbi/valuefooter%>