Hooks
The CBI gained support for hooks which can be used to trigger additional actions during the life-cycle of a map:
map = Map("config", "Title Text") function map.on_commit(self) -- do something if the UCI configuration got committed end
The following hooks are defined:
on_cancel | The user pressed cancel within a multi-step Delegator or a SimpleForm instance |
on_init | The CBI is about to render the Map object |
on_parse | The CBI is about to read received HTTP form values |
on_save, on_before_save | The CBI is about to save modified UCI configuration files |
on_after_save | Modified UCI configuration files just got saved |
on_before_commit | The CBI is about to commit the changes |
on_commit, on_after_commit, on_before_apply | Modified configurations got committed and the CBI is about to restart associated services |
on_apply, on_after_apply | All changes where completely applied (only works on Map instances with the apply_on_parse attribute set) |
Sortable Tables
TypedSection instances which use the "cbi/tblsection" template may now use a new attribute sortable to allow the user to reorder table rows.
sct = map:section(TypedSection, "name", "type", "Title Text") sct.template = "cbi/tblsection" sct.sortable = true ...
JavaScript
The LuCI 0.10 branch introduced a new JavaScript file xhr.js which provides support routines for XMLHttpRequest operations. Each theme must include this file in the <head> area of the document for forms to work correctly.
It should be included like this:
<script type="text/javascript" src="<%=resource%>/xhr.js"></script>