From 80e1900b03b2a5315c791f9240f9d7641ae67562 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 20 Jan 2011 00:01:55 +0000 Subject: libs/web: implement sortable rows for uci reordering --- libs/web/luasrc/cbi.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libs/web/luasrc/cbi.lua') diff --git a/libs/web/luasrc/cbi.lua b/libs/web/luasrc/cbi.lua index f4bf18d1e..8bb3488a7 100644 --- a/libs/web/luasrc/cbi.lua +++ b/libs/web/luasrc/cbi.lua @@ -50,6 +50,7 @@ AUTO = true CREATE_PREFIX = "cbi.cts." REMOVE_PREFIX = "cbi.rts." +RESORT_PREFIX = "cbi.sts." -- Loads a CBI map from given file, creating an environment and returns it function load(cbimap, ...) @@ -1121,6 +1122,20 @@ function TypedSection.parse(self, novld) end end + if self.sortable then + local stval = RESORT_PREFIX .. self.config .. "." .. self.sectiontype + local order = self.map:formvalue(stval) + if order and #order > 0 then + local sid + local num = 0 + for sid in util.imatch(order) do + self.map.uci:reorder(self.config, sid, num) + num = num + 1 + end + self.changed = (num > 0) + end + end + if created or self.changed then self:push_events() end -- cgit v1.2.3