summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--docs/jsapi/LuCI.Class.html610
-rw-r--r--docs/jsapi/LuCI.Headers.html610
-rw-r--r--docs/jsapi/LuCI.Network.Device.html656
-rw-r--r--docs/jsapi/LuCI.Network.Hosts.html628
-rw-r--r--docs/jsapi/LuCI.Network.Protocol.html944
-rw-r--r--docs/jsapi/LuCI.Network.WifiDevice.html638
-rw-r--r--docs/jsapi/LuCI.Network.WifiNetwork.html686
-rw-r--r--docs/jsapi/LuCI.Network.html642
-rw-r--r--docs/jsapi/LuCI.Poll.html610
-rw-r--r--docs/jsapi/LuCI.Request.html610
-rw-r--r--docs/jsapi/LuCI.Request.poll.html610
-rw-r--r--docs/jsapi/LuCI.Response.html610
-rw-r--r--docs/jsapi/LuCI.XHR.html624
-rw-r--r--docs/jsapi/LuCI.dom.html620
-rw-r--r--docs/jsapi/LuCI.fs.html610
-rw-r--r--docs/jsapi/LuCI.html613
-rw-r--r--docs/jsapi/LuCI.rpc.html610
-rw-r--r--docs/jsapi/LuCI.uci.html610
-rw-r--r--docs/jsapi/LuCI.ui.AbstractElement.html3086
-rw-r--r--docs/jsapi/LuCI.ui.Checkbox.html3233
-rw-r--r--docs/jsapi/LuCI.ui.ComboButton.html3263
-rw-r--r--docs/jsapi/LuCI.ui.Combobox.html3166
-rw-r--r--docs/jsapi/LuCI.ui.Dropdown.html3964
-rw-r--r--docs/jsapi/LuCI.ui.DynamicList.html3341
-rw-r--r--docs/jsapi/LuCI.ui.FileUpload.html3190
-rw-r--r--docs/jsapi/LuCI.ui.Hiddenfield.html2944
-rw-r--r--docs/jsapi/LuCI.ui.Select.html3293
-rw-r--r--docs/jsapi/LuCI.ui.Textarea.html3242
-rw-r--r--docs/jsapi/LuCI.ui.Textfield.html3170
-rw-r--r--docs/jsapi/LuCI.ui.changes.html2354
-rw-r--r--docs/jsapi/LuCI.ui.html4292
-rw-r--r--docs/jsapi/LuCI.ui.tabs.html2101
-rw-r--r--docs/jsapi/LuCI.view.html624
-rw-r--r--docs/jsapi/fs.js.html610
-rw-r--r--docs/jsapi/index.html610
-rw-r--r--docs/jsapi/luci.js.html619
-rw-r--r--docs/jsapi/network.js.html709
-rw-r--r--docs/jsapi/rpc.js.html610
-rw-r--r--docs/jsapi/uci.js.html610
-rw-r--r--docs/jsapi/ui.js.html5994
40 files changed, 66351 insertions, 215 deletions
diff --git a/docs/jsapi/LuCI.Class.html b/docs/jsapi/LuCI.Class.html
index e1efc4a9a9..cc34d33199 100644
--- a/docs/jsapi/LuCI.Class.html
+++ b/docs/jsapi/LuCI.Class.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -2326,7 +2934,7 @@ and the values extracted from the <code>args</code> array beginning with
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Headers.html b/docs/jsapi/LuCI.Headers.html
index d19075b5e0..b86cc17b09 100644
--- a/docs/jsapi/LuCI.Headers.html
+++ b/docs/jsapi/LuCI.Headers.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1499,7 +2107,7 @@ Note: Header-Names are case-insensitive.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Network.Device.html b/docs/jsapi/LuCI.Network.Device.html
index eec9069b9a..3ce2664cce 100644
--- a/docs/jsapi/LuCI.Network.Device.html
+++ b/docs/jsapi/LuCI.Network.Device.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1111,7 +1719,7 @@ device and allows querying device details such as packet statistics or MTU.</p><
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2653">line 2653</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2694">line 2694</a>
</div>
</div>
@@ -1196,7 +1804,7 @@ device and allows querying device details such as packet statistics or MTU.</p><
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2860">line 2860</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2901">line 2901</a>
</div>
</div>
@@ -1300,7 +1908,7 @@ device is not a Linux bridge.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2872">line 2872</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2913">line 2913</a>
</div>
</div>
@@ -1401,7 +2009,7 @@ enabled, else <code>false</code>.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2787">line 2787</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2828">line 2828</a>
</div>
</div>
@@ -1502,7 +2110,7 @@ for non-wifi devices or operation mode and ssid for wifi ones.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2731">line 2731</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2772">line 2772</a>
</div>
</div>
@@ -1602,7 +2210,7 @@ for non-wifi devices or operation mode and ssid for wifi ones.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2720">line 2720</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2761">line 2761</a>
</div>
</div>
@@ -1702,7 +2310,7 @@ for non-wifi devices or operation mode and ssid for wifi ones.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2699">line 2699</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2740">line 2740</a>
</div>
</div>
@@ -1806,7 +2414,7 @@ e.g. for non-ethernet tunnel devices.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2710">line 2710</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2751">line 2751</a>
</div>
</div>
@@ -1906,7 +2514,7 @@ e.g. for non-ethernet tunnel devices.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2688">line 2688</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2729">line 2729</a>
</div>
</div>
@@ -2006,7 +2614,7 @@ e.g. for non-ethernet tunnel devices.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2967">line 2967</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3008">line 3008</a>
</div>
</div>
@@ -2111,7 +2719,7 @@ assigned to any logical interface.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2978">line 2978</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3019">line 3019</a>
</div>
</div>
@@ -2212,7 +2820,7 @@ logical interfaces this device is assigned to.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2838">line 2838</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2879">line 2879</a>
</div>
</div>
@@ -2317,7 +2925,7 @@ a Linux bridge.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2932">line 2932</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2973">line 2973</a>
</div>
</div>
@@ -2417,7 +3025,7 @@ a Linux bridge.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2954">line 2954</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2995">line 2995</a>
</div>
</div>
@@ -2517,7 +3125,7 @@ a Linux bridge.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2773">line 2773</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2814">line 2814</a>
</div>
</div>
@@ -2618,7 +3226,7 @@ the operation mode and SSID for wifi devices.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2921">line 2921</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2962">line 2962</a>
</div>
</div>
@@ -2718,7 +3326,7 @@ the operation mode and SSID for wifi devices.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2943">line 2943</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2984">line 2984</a>
</div>
</div>
@@ -2818,7 +3426,7 @@ the operation mode and SSID for wifi devices.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2749">line 2749</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2790">line 2790</a>
</div>
</div>
@@ -2927,7 +3535,7 @@ the operation mode and SSID for wifi devices.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2805">line 2805</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2846">line 2846</a>
</div>
</div>
@@ -3028,7 +3636,7 @@ the operation mode and SSID for wifi devices.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3002">line 3002</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3043">line 3043</a>
</div>
</div>
@@ -3133,7 +3741,7 @@ is not a wireless device.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2900">line 2900</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2941">line 2941</a>
</div>
</div>
@@ -3234,7 +3842,7 @@ else <code>false</code>.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2911">line 2911</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2952">line 2952</a>
</div>
</div>
@@ -3335,7 +3943,7 @@ else <code>false</code>.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2884">line 2884</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2925">line 2925</a>
</div>
</div>
@@ -3444,7 +4052,7 @@ when it is down or absent.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Network.Hosts.html b/docs/jsapi/LuCI.Network.Hosts.html
index 9af4dec9f7..b6138acc71 100644
--- a/docs/jsapi/LuCI.Network.Hosts.html
+++ b/docs/jsapi/LuCI.Network.Hosts.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1112,7 +1720,7 @@ host information by different criteria.</p></div>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1688">line 1688</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1693">line 1693</a>
</div>
</div>
@@ -1197,7 +1805,7 @@ host information by different criteria.</p></div>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1785">line 1785</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1790">line 1790</a>
</div>
</div>
@@ -1347,7 +1955,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1749">line 1749</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1754">line 1754</a>
</div>
</div>
@@ -1497,7 +2105,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1704">line 1704</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1709">line 1709</a>
</div>
</div>
@@ -1647,7 +2255,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1734">line 1734</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1739">line 1739</a>
</div>
</div>
@@ -1797,7 +2405,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1719">line 1719</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1724">line 1724</a>
</div>
</div>
@@ -1947,7 +2555,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1803">line 1803</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1808">line 1808</a>
</div>
</div>
@@ -2097,7 +2705,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1767">line 1767</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1772">line 1772</a>
</div>
</div>
@@ -2247,7 +2855,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1831">line 1831</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1836">line 1836</a>
</div>
</div>
@@ -2425,7 +3033,7 @@ is used as hint.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Network.Protocol.html b/docs/jsapi/LuCI.Network.Protocol.html
index d6dd78cb89..c104314ec6 100644
--- a/docs/jsapi/LuCI.Network.Protocol.html
+++ b/docs/jsapi/LuCI.Network.Protocol.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1111,7 +1719,7 @@ subclasses which describe logical UCI networks defined by <code>config interface
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1854">line 1854</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1859">line 1859</a>
</div>
</div>
@@ -1196,7 +1804,7 @@ subclasses which describe logical UCI networks defined by <code>config interface
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2443">line 2443</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2465">line 2465</a>
</div>
</div>
@@ -1357,7 +1965,7 @@ interface or if the logical interface is virtual.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2612">line 2612</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2634">line 2634</a>
</div>
</div>
@@ -1511,6 +2119,116 @@ device or <code>false</code> if not.</td>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="deleteConfiguration">
+
+ <span class="type-signature ">abstract</span>deleteConfiguration<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{*|Promise.&lt;*>}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2682">line 2682</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Cleanup related configuration entries.</p>
+<p>This function will be invoked if an interface is about to be removed
+from the configuration and is responsible for performing any required
+cleanup tasks, such as unsetting uci entries in related configurations.</p>
+<p>It should be overwritten by protocol specific subclasses.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ *
+ |
+
+ Promise.&lt;*>
+
+
+ </td>
+ <td class="description last">This function may return a promise which is awaited before the rest of
+the configuration is removed. Any non-promise return value and any
+resolved promise value is ignored. If the returned promise is rejected,
+the interface removal will be aborted.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="deleteDevice">
deleteDevice<span class="signature">(device)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
@@ -1518,7 +2236,7 @@ device or <code>false</code> if not.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2470">line 2470</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2492">line 2492</a>
</div>
</div>
@@ -1679,7 +2397,7 @@ interface or if the logical interface is virtual.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1887">line 1887</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1892">line 1892</a>
</div>
</div>
@@ -1831,7 +2549,7 @@ not found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2497">line 2497</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2519">line 2519</a>
</div>
</div>
@@ -1933,7 +2651,7 @@ expected Linux network device according to the configuration.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2558">line 2558</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2580">line 2580</a>
</div>
</div>
@@ -2040,7 +2758,7 @@ virtual and not a bridge.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2212">line 2212</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2217">line 2217</a>
</div>
</div>
@@ -2141,7 +2859,7 @@ protocol backend.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2124">line 2124</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2129">line 2129</a>
</div>
</div>
@@ -2242,7 +2960,7 @@ protocol backend.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2256">line 2256</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2261">line 2261</a>
</div>
</div>
@@ -2350,7 +3068,7 @@ error code in case no translation can be found.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2007">line 2007</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2012">line 2012</a>
</div>
</div>
@@ -2454,7 +3172,7 @@ if it isn't applicable to the associated protocol.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2192">line 2192</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2197">line 2197</a>
</div>
</div>
@@ -2556,7 +3274,7 @@ default route or <code>null</code> if no default route was found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2104">line 2104</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2109">line 2109</a>
</div>
</div>
@@ -2658,7 +3376,7 @@ default route or <code>null</code> if no default route was found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1952">line 1952</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1957">line 1957</a>
</div>
</div>
@@ -2760,7 +3478,7 @@ default route or <code>null</code> if no default route was found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1912">line 1912</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1917">line 1917</a>
</div>
</div>
@@ -2864,7 +3582,7 @@ it could not be determined.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2143">line 2143</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2148">line 2148</a>
</div>
</div>
@@ -2968,7 +3686,7 @@ in CIDR notation or <code>null</code> if no IPv6 addresses were set.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2165">line 2165</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2170">line 2170</a>
</div>
</div>
@@ -3070,7 +3788,7 @@ follows the order of the addresses in <code>ubus</code> runtime information.</td
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2231">line 2231</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2236">line 2236</a>
</div>
</div>
@@ -3174,7 +3892,7 @@ handler or <code>null</code> if no prefix is present.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2059">line 2059</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2064">line 2064</a>
</div>
</div>
@@ -3278,7 +3996,7 @@ or <code>null</code> if no IPv4 addresses were set.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2072">line 2072</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2077">line 2077</a>
</div>
</div>
@@ -3380,7 +4098,7 @@ follows the order of the addresses in <code>ubus</code> runtime information.</td
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2530">line 2530</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2552">line 2552</a>
</div>
</div>
@@ -3482,7 +4200,7 @@ network device currently associated with the logical interface.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2543">line 2543</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2565">line 2565</a>
</div>
</div>
@@ -3584,7 +4302,7 @@ network device currently associated with the logical interface.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2027">line 2027</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2032">line 2032</a>
</div>
</div>
@@ -3685,7 +4403,7 @@ routes spawned by the associated logical interface.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1982">line 1982</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1987">line 1987</a>
</div>
</div>
@@ -3785,7 +4503,7 @@ routes spawned by the associated logical interface.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2090">line 2090</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2095">line 2095</a>
</div>
</div>
@@ -3889,7 +4607,7 @@ protocol handler or <code>null</code> if no IPv4 addresses were set.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2296">line 2296</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2301">line 2301</a>
</div>
</div>
@@ -3991,7 +4709,7 @@ function, e.g. <code>odhcp6c</code> for the <code>dhcpv6</code> prototocol.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1938">line 1938</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1943">line 1943</a>
</div>
</div>
@@ -4094,7 +4812,7 @@ function, e.g. <code>odhcp6c</code> for the <code>dhcpv6</code> prototocol.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1972">line 1972</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1977">line 1977</a>
</div>
</div>
@@ -4201,7 +4919,7 @@ interface or <code>null</code> if no <code>type</code> option is set.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1992">line 1992</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1997">line 1997</a>
</div>
</div>
@@ -4301,7 +5019,7 @@ interface or <code>null</code> if no <code>type</code> option is set.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2043">line 2043</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2048">line 2048</a>
</div>
</div>
@@ -4409,7 +5127,7 @@ handler didn't request a zone.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2384">line 2384</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2406">line 2406</a>
</div>
</div>
@@ -4516,7 +5234,7 @@ is an alias or <code>null</code> if it is not an alias interface.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2281">line 2281</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2286">line 2286</a>
</div>
</div>
@@ -4611,6 +5329,152 @@ or <code>false</code> when the logical interface is no bridge.</td>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="isCreateable">
+
+ <span class="type-signature ">abstract</span>isCreateable<span class="signature">(ifname)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;(null|string)>}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2318">line 2318</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check function for the protocol handler if a new interface is createable.</p>
+<p>This function should be overwritten by protocol specific subclasses.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>ifname</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the interface to be created.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Promise.&lt;(null|string)>
+
+
+ </td>
+ <td class="description last">Returns <code>null</code> if new interface is createable, else returns (error) message.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="isDynamic">
isDynamic<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
@@ -4618,7 +5482,7 @@ or <code>false</code> when the logical interface is no bridge.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2369">line 2369</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2391">line 2391</a>
</div>
</div>
@@ -4723,7 +5587,7 @@ or not (<code>false</code>).</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2404">line 2404</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2426">line 2426</a>
</div>
</div>
@@ -4824,7 +5688,7 @@ has no network devices attached.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2353">line 2353</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2375">line 2375</a>
</div>
</div>
@@ -4933,7 +5797,7 @@ or not (<code>false</code>).</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2312">line 2312</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2334">line 2334</a>
</div>
</div>
@@ -5037,7 +5901,7 @@ returns <code>true</code>.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2426">line 2426</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2448">line 2448</a>
</div>
</div>
@@ -5137,7 +6001,7 @@ returns <code>true</code>.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2332">line 2332</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2354">line 2354</a>
</div>
</div>
@@ -5244,7 +6108,7 @@ dynamic interfaces (<code>true</code>) or not (<code>false</code>).</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1901">line 1901</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1906">line 1906</a>
</div>
</div>
@@ -5398,7 +6262,7 @@ configuration.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Network.WifiDevice.html b/docs/jsapi/LuCI.Network.WifiDevice.html
index 6373db8050..5bde32805a 100644
--- a/docs/jsapi/LuCI.Network.WifiDevice.html
+++ b/docs/jsapi/LuCI.Network.WifiDevice.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1112,7 +1720,7 @@ well as methods for enumerating related wireless networks.</p></div>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3017">line 3017</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3058">line 3058</a>
</div>
</div>
@@ -1197,7 +1805,7 @@ well as methods for enumerating related wireless networks.</p></div>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3283">line 3283</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3324">line 3324</a>
</div>
</div>
@@ -1352,7 +1960,7 @@ were invalid.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3308">line 3308</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3349">line 3349</a>
</div>
</div>
@@ -1504,7 +2112,7 @@ with this wireless radio device.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3057">line 3057</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3098">line 3098</a>
</div>
</div>
@@ -1656,7 +2264,7 @@ not found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3135">line 3135</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3176">line 3176</a>
</div>
</div>
@@ -1767,7 +2375,7 @@ known mode values are:
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3114">line 3114</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3155">line 3155</a>
</div>
</div>
@@ -1877,7 +2485,7 @@ known mode values are:
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3146">line 3146</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3187">line 3187</a>
</div>
</div>
@@ -1977,7 +2585,7 @@ known mode values are:
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3095">line 3095</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3136">line 3136</a>
</div>
</div>
@@ -2079,7 +2687,7 @@ for the wireless phy.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3207">line 3207</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3248">line 3248</a>
</div>
</div>
@@ -2181,7 +2789,7 @@ describing the networks found in the vincinity.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3240">line 3240</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3281">line 3281</a>
</div>
</div>
@@ -2332,7 +2940,7 @@ this radio device.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3259">line 3259</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3300">line 3300</a>
</div>
</div>
@@ -2434,7 +3042,7 @@ radio device.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3083">line 3083</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3124">line 3124</a>
</div>
</div>
@@ -2536,7 +3144,7 @@ UCI configuration.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3218">line 3218</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3259">line 3259</a>
</div>
</div>
@@ -2637,7 +3245,7 @@ runtime state.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3071">line 3071</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3112">line 3112</a>
</div>
</div>
@@ -2791,7 +3399,7 @@ configuration.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Network.WifiNetwork.html b/docs/jsapi/LuCI.Network.WifiNetwork.html
index 4b4b7e0bc4..e43432ba7f 100644
--- a/docs/jsapi/LuCI.Network.WifiNetwork.html
+++ b/docs/jsapi/LuCI.Network.WifiNetwork.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1113,7 +1721,7 @@ such networks in parallel.</p></div>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3341">line 3341</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3382">line 3382</a>
</div>
</div>
@@ -1198,7 +1806,7 @@ such networks in parallel.</p></div>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line4084">line 4084</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4125">line 4125</a>
</div>
</div>
@@ -1469,7 +2077,7 @@ are passed.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3375">line 3375</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3416">line 3416</a>
</div>
</div>
@@ -1621,7 +2229,7 @@ not found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3628">line 3628</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3669">line 3669</a>
</div>
</div>
@@ -1722,7 +2330,7 @@ information.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3639">line 3639</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3680">line 3680</a>
</div>
</div>
@@ -1823,7 +2431,7 @@ encryption state could not be found in <code>ubus</code> runtime information.</t
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3576">line 3576</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3617">line 3617</a>
</div>
</div>
@@ -1936,7 +2544,7 @@ state. Possible returned values are:
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3597">line 3597</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3638">line 3638</a>
</div>
</div>
@@ -2038,7 +2646,7 @@ translated string.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3617">line 3617</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3658">line 3658</a>
</div>
</div>
@@ -2139,7 +2747,7 @@ information.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3819">line 3819</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3860">line 3860</a>
</div>
</div>
@@ -2240,7 +2848,7 @@ with this network.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3849">line 3849</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3890">line 3890</a>
</div>
</div>
@@ -2346,7 +2954,7 @@ is not available.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3454">line 3454</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3495">line 3495</a>
</div>
</div>
@@ -2449,7 +3057,7 @@ is not available.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3865">line 3865</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3906">line 3906</a>
</div>
</div>
@@ -2553,7 +3161,7 @@ or <code>null</code> if it cannot be determined.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3898">line 3898</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3939">line 3939</a>
</div>
</div>
@@ -2654,7 +3262,7 @@ information or <code>00</code> if it cannot be determined.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line4044">line 4044</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4085">line 4085</a>
</div>
</div>
@@ -2755,7 +3363,7 @@ device associted with this wireless network.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3831">line 3831</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3872">line 3872</a>
</div>
</div>
@@ -2860,7 +3468,7 @@ available.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3992">line 3992</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4033">line 4033</a>
</div>
</div>
@@ -2963,7 +3571,7 @@ name, depending on which information is available.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3479">line 3479</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3520">line 3520</a>
</div>
</div>
@@ -3066,7 +3674,7 @@ radio and network index numbers.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3501">line 3501</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3542">line 3542</a>
</div>
</div>
@@ -3171,7 +3779,7 @@ associated network device, e.g. when not configured or up.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3441">line 3441</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3482">line 3482</a>
</div>
</div>
@@ -3275,7 +3883,7 @@ is not in mesh mode.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3416">line 3416</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3457">line 3457</a>
</div>
</div>
@@ -3382,7 +3990,7 @@ is not in mesh mode.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3489">line 3489</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3530">line 3530</a>
</div>
</div>
@@ -3482,7 +4090,7 @@ is not in mesh mode.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line4008">line 4008</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4049">line 4049</a>
</div>
</div>
@@ -3587,7 +4195,7 @@ interface.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3465">line 3465</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3506">line 3506</a>
</div>
</div>
@@ -3688,7 +4296,7 @@ attached to.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line4019">line 4019</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4060">line 4060</a>
</div>
</div>
@@ -3789,7 +4397,7 @@ logical interfaces this wireless network is attached to.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3887">line 3887</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3928">line 3928</a>
</div>
</div>
@@ -3890,7 +4498,7 @@ information or <code>0</code> if it cannot be determined.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3977">line 3977</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4018">line 4018</a>
</div>
</div>
@@ -3992,7 +4600,7 @@ internal network ID, depending on which information is available.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3876">line 3876</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3917">line 3917</a>
</div>
</div>
@@ -4096,7 +4704,7 @@ information or <code>null</code> if it cannot be determined.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3936">line 3936</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3977">line 3977</a>
</div>
</div>
@@ -4199,7 +4807,7 @@ noise and signal (SNR), divided by 5.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3959">line 3959</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4000">line 4000</a>
</div>
</div>
@@ -4301,7 +4909,7 @@ by <code>ubus</code> runtime state.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3427">line 3427</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3468">line 3468</a>
</div>
</div>
@@ -4405,7 +5013,7 @@ in mesh mode.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3909">line 3909</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3950">line 3950</a>
</div>
</div>
@@ -4509,7 +5117,7 @@ in mesh mode.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3924">line 3924</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3965">line 3965</a>
</div>
</div>
@@ -4613,7 +5221,7 @@ cannot be determined.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3529">line 3529</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3570">line 3570</a>
</div>
</div>
@@ -4718,7 +5326,7 @@ found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3517">line 3517</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3558">line 3558</a>
</div>
</div>
@@ -4822,7 +5430,7 @@ or <code>null</code> if it cannot be determined.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line4055">line 4055</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4096">line 4096</a>
</div>
</div>
@@ -4923,7 +5531,7 @@ deauthenticating clients, otherwise <code>false</code>.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3401">line 3401</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3442">line 3442</a>
</div>
</div>
@@ -5025,7 +5633,7 @@ UCI configuration.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3550">line 3550</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3591">line 3591</a>
</div>
</div>
@@ -5130,7 +5738,7 @@ instance.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3389">line 3389</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3430">line 3430</a>
</div>
</div>
@@ -5284,7 +5892,7 @@ configuration.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Network.html b/docs/jsapi/LuCI.Network.html
index 4dd84f3338..67a6d1b987 100644
--- a/docs/jsapi/LuCI.Network.html
+++ b/docs/jsapi/LuCI.Network.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1404,7 +2012,7 @@ existed.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1354">line 1354</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1359">line 1359</a>
</div>
</div>
@@ -1702,7 +2310,7 @@ references to it were successfully deleted from the configuration or
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1392">line 1392</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1397">line 1397</a>
</div>
</div>
@@ -2104,7 +2712,7 @@ or <code>WPA3 SAE (CCMP)</code>.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1105">line 1105</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1110">line 1110</a>
</div>
</div>
@@ -2252,7 +2860,7 @@ be found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1128">line 1128</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1133">line 1133</a>
</div>
</div>
@@ -2353,7 +2961,7 @@ instances describing the network devices found on the system.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1654">line 1654</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1659">line 1659</a>
</div>
</div>
@@ -2454,7 +3062,7 @@ instances describing the network devices found on the system.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1671">line 1671</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1676">line 1676</a>
</div>
</div>
@@ -2558,7 +3166,7 @@ class instance describing the found hosts.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1643">line 1643</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1648">line 1648</a>
</div>
</div>
@@ -3270,7 +3878,7 @@ backend classes.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1548">line 1548</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1553">line 1553</a>
</div>
</div>
@@ -3374,7 +3982,7 @@ the layout.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1499">line 1499</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1504">line 1504</a>
</div>
</div>
@@ -3477,7 +4085,7 @@ instances describing the found IPv6 default route interfaces.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1474">line 1474</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1479">line 1479</a>
</div>
</div>
@@ -3580,7 +4188,7 @@ instances describing the found default route interfaces.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1261">line 1261</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1266">line 1266</a>
</div>
</div>
@@ -3729,7 +4337,7 @@ be found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1281">line 1281</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1286">line 1286</a>
</div>
</div>
@@ -3832,7 +4440,7 @@ the configuration.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1310">line 1310</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1315">line 1315</a>
</div>
</div>
@@ -3983,7 +4591,7 @@ be found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1324">line 1324</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1329">line 1329</a>
</div>
</div>
@@ -4086,7 +4694,7 @@ are found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1244">line 1244</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1249">line 1249</a>
</div>
</div>
@@ -5094,7 +5702,7 @@ be passed to <a href="LuCI.Class.html#.extend"><code>Class.extend()</code></a>.<
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1044">line 1044</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1049">line 1049</a>
</div>
</div>
@@ -7139,7 +7747,7 @@ conjunction with <code>quality</code> to calculate a quality percentage.</p></td
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Poll.html b/docs/jsapi/LuCI.Poll.html
index ef5aba59fb..0952abd55b 100644
--- a/docs/jsapi/LuCI.Poll.html
+++ b/docs/jsapi/LuCI.Poll.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1882,7 +2490,7 @@ run to begin with.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Request.html b/docs/jsapi/LuCI.Request.html
index 177b8c1869..b3cbe7cbf1 100644
--- a/docs/jsapi/LuCI.Request.html
+++ b/docs/jsapi/LuCI.Request.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -2817,7 +3425,7 @@ instances as sole argument during the HTTP request transfer.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Request.poll.html b/docs/jsapi/LuCI.Request.poll.html
index 8865bf20f1..7a993ab57c 100644
--- a/docs/jsapi/LuCI.Request.poll.html
+++ b/docs/jsapi/LuCI.Request.poll.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -2001,7 +2609,7 @@ else <code>null</code>.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.Response.html b/docs/jsapi/LuCI.Response.html
index 5627139ec1..a861348b3a 100644
--- a/docs/jsapi/LuCI.Response.html
+++ b/docs/jsapi/LuCI.Response.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1959,7 +2567,7 @@ using <code>String()</code> and treated as response text.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.XHR.html b/docs/jsapi/LuCI.XHR.html
index 4d1670b7b6..4516d9695b 100644
--- a/docs/jsapi/LuCI.XHR.html
+++ b/docs/jsapi/LuCI.XHR.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1114,7 +1722,7 @@ request handling.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3022">line 3022</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3025">line 3025</a>
</div>
</div>
@@ -1201,7 +1809,7 @@ request handling.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3125">line 3125</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3128">line 3128</a>
</div>
</div>
@@ -1275,7 +1883,7 @@ request handling.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3114">line 3114</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3117">line 3117</a>
</div>
</div>
@@ -1378,7 +1986,7 @@ already completed.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3101">line 3101</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3104">line 3104</a>
</div>
</div>
@@ -1455,7 +2063,7 @@ finishes or timed out.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3057">line 3057</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3060">line 3060</a>
</div>
</div>
@@ -1698,7 +2306,7 @@ finishes or timed out.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3084">line 3084</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3087">line 3087</a>
</div>
</div>
@@ -1941,7 +2549,7 @@ finishes or timed out.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3140">line 3140</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3143">line 3143</a>
</div>
</div>
@@ -2051,7 +2659,7 @@ when invoked.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.dom.html b/docs/jsapi/LuCI.dom.html
index 539e076832..abf4386015 100644
--- a/docs/jsapi/LuCI.dom.html
+++ b/docs/jsapi/LuCI.dom.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1595,7 +2203,7 @@ call implicitely turning it into a string.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2636">line 2636</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2639">line 2639</a>
</div>
</div>
@@ -1796,7 +2404,7 @@ a valid Class instance.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2690">line 2690</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2693">line 2693</a>
</div>
</div>
@@ -2860,7 +3468,7 @@ be found.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2656">line 2656</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2659">line 2659</a>
</div>
</div>
@@ -3010,7 +3618,7 @@ class could be found on the node itself or any of its parents.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2736">line 2736</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2739">line 2739</a>
</div>
</div>
@@ -3728,7 +4336,7 @@ the first <code>div</code> element node.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2699">line 2699</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2702">line 2702</a>
</div>
</div>
@@ -3882,7 +4490,7 @@ ignored, else not.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.fs.html b/docs/jsapi/LuCI.fs.html
index c370890bee..36169d6a7f 100644
--- a/docs/jsapi/LuCI.fs.html
+++ b/docs/jsapi/LuCI.fs.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -3471,7 +4079,7 @@ the failure reason.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.html b/docs/jsapi/LuCI.html
index 2d15fc0392..5bf4e3262c 100644
--- a/docs/jsapi/LuCI.html
+++ b/docs/jsapi/LuCI.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1253,6 +1861,9 @@ accessible using the global <code>L</code> variable.</p></div>
<dt><a href="LuCI.uci.html">uci</a></dt>
<dd></dd>
+ <dt><a href="LuCI.ui.html">ui</a></dt>
+ <dd></dd>
+
<dt><a href="LuCI.view.html">view</a></dt>
<dd></dd>
@@ -5184,7 +5795,7 @@ else <code>null</code>.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.rpc.html b/docs/jsapi/LuCI.rpc.html
index 35d3198487..2b421cdc95 100644
--- a/docs/jsapi/LuCI.rpc.html
+++ b/docs/jsapi/LuCI.rpc.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -3229,7 +3837,7 @@ to the <code>expect</code> and <code>filter</code> declarations.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.uci.html b/docs/jsapi/LuCI.uci.html
index a38f932f2a..3db3c55763 100644
--- a/docs/jsapi/LuCI.uci.html
+++ b/docs/jsapi/LuCI.uci.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -4777,7 +5385,7 @@ associated name as arguments.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.AbstractElement.html b/docs/jsapi/LuCI.ui.AbstractElement.html
new file mode 100644
index 0000000000..e727a3a412
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.AbstractElement.html
@@ -0,0 +1,3086 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: AbstractElement</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.AbstractElement.html">Class: AbstractElement</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ AbstractElement
+ </h2>
+
+ <div class="class-description"><p>The <code>AbstractElement</code> class serves as abstract base for the different widgets
+implemented by <code>LuCI.ui</code>. It provides the common logic for getting and
+setting values, for checking the validity state and for wiring up required
+events.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.AbstractElement</code>. To import
+it in external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>AbstractElement</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="AbstractElement">
+
+ new LuCI.ui.AbstractElement<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line12">line 12</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="getValue">
+
+ getValue<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|Array.&lt;string>|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line71">line 71</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Read the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ string
+ |
+
+ Array.&lt;string>
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">The current value of the input element. For simple inputs like text
+fields or selects, the return value type will be a - possibly empty -
+string. Complex widgets such as <code>DynamicList</code> instances may result in
+an array of strings or <code>null</code> for unset values.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="isValid">
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="registerEvents">
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="render">
+
+ render<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line239">line 239</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Render the widget, setup event listeners and return resulting markup.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node or DocumentFragment containing the rendered
+widget markup.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="setChangeEvents">
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="setUpdateEvents">
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="setValue">
+
+ setValue<span class="signature">(value)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line89">line 89</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Set the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+|
+
+<span class="param-type">null</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The value to set the input element to. For simple inputs like text
+fields or selects, the value should be a - possibly empty - string.
+Complex widgets such as <code>DynamicList</code> instances may accept string array
+or <code>null</code> values.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="triggerValidation">
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".InitOptions">LuCI.ui.AbstractElement.InitOptions<span class="type-signature type object">Object</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Argument</th>
+
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>id</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the widget ID to use. It will be used as HTML <code>id</code> attribute
+on the toplevel widget DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>name</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the widget name which is set as HTML <code>name</code> attribute on the
+corresponding <code>&lt;input&gt;</code> element.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>optional</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ true
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether the input field allows empty values.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>datatype</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ string
+
+ </td>
+
+
+ <td class="description last"><p>An expression describing the input data validation constraints.
+It defaults to <code>string</code> which will allow any value.
+See<code>LuCI.validation</code> for details on the expression format.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>validator</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">function</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies a custom validator function which is invoked after the
+standard validation constraints are checked. The function should return
+<code>true</code> to accept the given input value. Any other return value type is
+converted to a string and treated as validation error message.</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.Checkbox.html b/docs/jsapi/LuCI.ui.Checkbox.html
new file mode 100644
index 0000000000..79fa47f083
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.Checkbox.html
@@ -0,0 +1,3233 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: Checkbox</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.Checkbox.html">Class: Checkbox</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ Checkbox
+ </h2>
+
+ <div class="class-description"><p>The <code>Checkbox</code> class implements a simple checkbox input field.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.Checkbox</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>Checkbox</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="Checkbox">
+
+ new LuCI.ui.Checkbox<span class="signature">(<span class="optional">value</span>, <span class="optional">options</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line482">line 482</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Instantiate a checkbox widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ null
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The initial input value.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>options</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type"><a href="LuCI.ui.Checkbox.html#.InitOptions">LuCI.ui.Checkbox.InitOptions</a></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object describing the widget specific options to initialize the input.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+ <h3 class="subsection-title">Extends</h3>
+
+ <ul>
+ <li><a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a></li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="getValue">
+
+ <span class="inherited"><a href="LuCI.ui.Checkbox.html#getValue">inherited</a></span>
+
+ getValue<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|Array.&lt;string>|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line589">line 589</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Read the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ string
+ |
+
+ Array.&lt;string>
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">The current value of the input element. For simple inputs like text
+fields or selects, the return value type will be a - possibly empty -
+string. Complex widgets such as <code>DynamicList</code> instances may result in
+an array of strings or <code>null</code> for unset values.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="isChecked">
+
+ isChecked<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line584">line 584</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Test whether the checkbox is currently checked.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> when the checkbox is currently checked, otherwise <code>false</code>.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="isValid">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#isValid">inherited</a></span>
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="registerEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#registerEvents">inherited</a></span>
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="render">
+
+ <span class="inherited"><a href="LuCI.ui.Checkbox.html#render">inherited</a></span>
+
+ render<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line536">line 536</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Render the widget, setup event listeners and return resulting markup.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node or DocumentFragment containing the rendered
+widget markup.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setChangeEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">inherited</a></span>
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setUpdateEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">inherited</a></span>
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setValue">
+
+ <span class="inherited"><a href="LuCI.ui.Checkbox.html#setValue">inherited</a></span>
+
+ setValue<span class="signature">(value)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line596">line 596</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Set the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+|
+
+<span class="param-type">null</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The value to set the input element to. For simple inputs like text
+fields or selects, the value should be a - possibly empty - string.
+Complex widgets such as <code>DynamicList</code> instances may accept string array
+or <code>null</code> values.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="triggerValidation">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#triggerValidation">inherited</a></span>
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".InitOptions">LuCI.ui.Checkbox.InitOptions<span class="type-signature type luci.ui.abstractelement.initoptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">LuCI.ui.AbstractElement.InitOptions</a></span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>In addition to the <a href="LuCI.ui.AbstractElement.html#.InitOptions"><code>AbstractElement.InitOptions</code></a>
+the following properties are recognized:</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Argument</th>
+
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value_enabled</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ 1
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the value corresponding to a checked checkbox.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>value_disabled</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ 0
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the value corresponding to an unchecked checkbox.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>hiddenname</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the HTML <code>name</code> attribute of the hidden input backing the
+checkbox. This is a legacy property existing for compatibility reasons,
+it is required for HTML based form submissions.</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.ComboButton.html b/docs/jsapi/LuCI.ui.ComboButton.html
new file mode 100644
index 0000000000..3b54b1765e
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.ComboButton.html
@@ -0,0 +1,3263 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: ComboButton</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.ComboButton.html">Class: ComboButton</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ ComboButton
+ </h2>
+
+ <div class="class-description"><p>The <code>ComboButton</code> class implements a button element which can be expanded
+into a dropdown to chose from a set of different action choices.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.ComboButton</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>ComboButton</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="ComboButton">
+
+ new LuCI.ui.ComboButton<span class="signature">(<span class="optional">value</span>, choices, <span class="optional">options</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1925">line 1925</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Instantiate a combo button widget offering multiple action choices.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ null
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The initial input value(s).</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>choices</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, *></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Object containing the selectable choices of the widget. The object keys
+serve as values for the different choices while the values are used as
+choice labels.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>options</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type"><a href="LuCI.ui.ComboButton.html#.InitOptions">LuCI.ui.ComboButton.InitOptions</a></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object describing the widget specific options to initialize the button.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+ <h3 class="subsection-title">Extends</h3>
+
+ <ul>
+ <li><a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a></li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="addChoices">
+
+ <span class="inherited"><a href="LuCI.ui.Dropdown.html#addChoices">inherited</a></span>
+
+ addChoices<span class="signature">(values, labels)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1602">line 1602</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Add new choices to the dropdown menu.</p>
+<p>This function adds further choices to an existing dropdown menu,
+ignoring choice values which are already present.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>values</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The choice values to add to the dropdown widget.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>labels</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, *></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The choice label values to use when adding dropdown choices. If no
+label is found for a particular choice value, the value itself is used
+as label text. Choice labels may be any valid value accepted by
+<a href="LuCI.dom.html#content"><code>LuCI.dom#content</code></a>.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="clearChoices">
+
+ <span class="inherited"><a href="LuCI.ui.Dropdown.html#clearChoices">inherited</a></span>
+
+ clearChoices<span class="signature">(<span class="optional">reset_value</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1567">line 1567</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Remove all existing choices from the dropdown menu.</p>
+<p>This function removes all preexisting dropdown choices from the widget,
+keeping only choices currently being selected unless <code>reset_values</code> is
+given, in which case all choices and deselected and removed.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>reset_value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>If set to <code>true</code>, deselect and remove selected choices as well instead
+of keeping them.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="closeAllDropdowns">
+
+ <span class="inherited"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">inherited</a></span>
+
+ closeAllDropdowns<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1635">line 1635</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Close all open dropdown widgets in the current document.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="isValid">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#isValid">inherited</a></span>
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="registerEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#registerEvents">inherited</a></span>
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setChangeEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">inherited</a></span>
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setUpdateEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">inherited</a></span>
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="triggerValidation">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#triggerValidation">inherited</a></span>
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".InitOptions">LuCI.ui.ComboButton.InitOptions<span class="type-signature type luci.ui.dropdown.initoptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">LuCI.ui.Dropdown.InitOptions</a></span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>ComboButtons support the same properties as
+<a href="LuCI.ui.Dropdown.html#.InitOptions"><code>Dropdown.InitOptions</code></a> but enforce
+specific values for some properties and add aditional button specific
+properties.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Argument</th>
+
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>multiple</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Since ComboButtons never allow selecting multiple actions, this property
+is forcibly set to <code>false</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>create</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Since ComboButtons never allow creating custom choices, this property
+is forcibly set to <code>false</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>optional</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Since ComboButtons must always select one action, this property is
+forcibly set to <code>false</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>classes</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, string></span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies a mapping of choice values to CSS class names. If an action
+choice is selected by the user and if a corresponding entry exists in
+the <code>classes</code> object, the class names corresponding to the selected
+value are set on the button element.</p>
+<p>This is useful to apply different button styles, such as colors, to the
+combined button depending on the selected action.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>click</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">function</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies a handler function to invoke when the user clicks the button.
+This function will be called with the button DOM node as <code>this</code> context
+and receive the DOM click event as first as well as the selected action
+choice value as second argument.</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.Combobox.html b/docs/jsapi/LuCI.ui.Combobox.html
new file mode 100644
index 0000000000..a281bd6446
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.Combobox.html
@@ -0,0 +1,3166 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: Combobox</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.Combobox.html">Class: Combobox</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ Combobox
+ </h2>
+
+ <div class="class-description"><p>The <code>Combobox</code> class implements a rich, stylable dropdown menu which allows
+to enter custom values. Historically, comboboxes used to be a dedicated
+widget type in LuCI but nowadays they are direct aliases of dropdown widgets
+with a set of enforced default properties for easier instantiation.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.Combobox</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>Combobox</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="Combobox">
+
+ new LuCI.ui.Combobox<span class="signature">(<span class="optional">value</span>, choices, <span class="optional">options</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1856">line 1856</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Instantiate a rich dropdown choice widget allowing custom values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ null
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The initial input value(s).</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>choices</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, *></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Object containing the selectable choices of the widget. The object keys
+serve as values for the different choices while the values are used as
+choice labels.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>options</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type"><a href="LuCI.ui.Combobox.html#.InitOptions">LuCI.ui.Combobox.InitOptions</a></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object describing the widget specific options to initialize the dropdown.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+ <h3 class="subsection-title">Extends</h3>
+
+ <ul>
+ <li><a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a></li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="addChoices">
+
+ <span class="inherited"><a href="LuCI.ui.Dropdown.html#addChoices">inherited</a></span>
+
+ addChoices<span class="signature">(values, labels)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1602">line 1602</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Add new choices to the dropdown menu.</p>
+<p>This function adds further choices to an existing dropdown menu,
+ignoring choice values which are already present.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>values</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The choice values to add to the dropdown widget.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>labels</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, *></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The choice label values to use when adding dropdown choices. If no
+label is found for a particular choice value, the value itself is used
+as label text. Choice labels may be any valid value accepted by
+<a href="LuCI.dom.html#content"><code>LuCI.dom#content</code></a>.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="clearChoices">
+
+ <span class="inherited"><a href="LuCI.ui.Dropdown.html#clearChoices">inherited</a></span>
+
+ clearChoices<span class="signature">(<span class="optional">reset_value</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1567">line 1567</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Remove all existing choices from the dropdown menu.</p>
+<p>This function removes all preexisting dropdown choices from the widget,
+keeping only choices currently being selected unless <code>reset_values</code> is
+given, in which case all choices and deselected and removed.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>reset_value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>If set to <code>true</code>, deselect and remove selected choices as well instead
+of keeping them.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="closeAllDropdowns">
+
+ <span class="inherited"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">inherited</a></span>
+
+ closeAllDropdowns<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1635">line 1635</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Close all open dropdown widgets in the current document.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="isValid">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#isValid">inherited</a></span>
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="registerEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#registerEvents">inherited</a></span>
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setChangeEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">inherited</a></span>
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setUpdateEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">inherited</a></span>
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="triggerValidation">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#triggerValidation">inherited</a></span>
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".InitOptions">LuCI.ui.Combobox.InitOptions<span class="type-signature type luci.ui.dropdown.initoptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">LuCI.ui.Dropdown.InitOptions</a></span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Comboboxes support the same properties as
+<a href="LuCI.ui.Dropdown.html#.InitOptions"><code>Dropdown.InitOptions</code></a> but enforce
+specific values for the following properties:</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>multiple</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Since Comboboxes never allow selecting multiple values, this property
+is forcibly set to <code>false</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>create</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+
+
+ <td class="default">
+
+ true
+
+ </td>
+
+
+ <td class="description last"><p>Since Comboboxes always allow custom choice values, this property is
+forcibly set to <code>true</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>optional</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+
+
+ <td class="default">
+
+ true
+
+ </td>
+
+
+ <td class="description last"><p>Since Comboboxes are always optional, this property is forcibly set to
+<code>true</code>.</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.Dropdown.html b/docs/jsapi/LuCI.ui.Dropdown.html
new file mode 100644
index 0000000000..319c10f697
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.Dropdown.html
@@ -0,0 +1,3964 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: Dropdown</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.Dropdown.html">Class: Dropdown</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ Dropdown
+ </h2>
+
+ <div class="class-description"><p>The <code>Dropdown</code> class implements a rich, stylable dropdown menu which
+supports non-text choice labels.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.Dropdown</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>Dropdown</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="Dropdown">
+
+ new LuCI.ui.Dropdown<span class="signature">(<span class="optional">value</span>, choices, <span class="optional">options</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line802">line 802</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Instantiate a rich dropdown choice widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ null
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The initial input value(s).</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>choices</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, *></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Object containing the selectable choices of the widget. The object keys
+serve as values for the different choices while the values are used as
+choice labels.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>options</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type"><a href="LuCI.ui.Dropdown.html#.InitOptions">LuCI.ui.Dropdown.InitOptions</a></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object describing the widget specific options to initialize the dropdown.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+ <h3 class="subsection-title">Extends</h3>
+
+ <ul>
+ <li><a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a></li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="addChoices">
+
+ addChoices<span class="signature">(values, labels)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1602">line 1602</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Add new choices to the dropdown menu.</p>
+<p>This function adds further choices to an existing dropdown menu,
+ignoring choice values which are already present.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>values</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The choice values to add to the dropdown widget.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>labels</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, *></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The choice label values to use when adding dropdown choices. If no
+label is found for a particular choice value, the value itself is used
+as label text. Choice labels may be any valid value accepted by
+<a href="LuCI.dom.html#content"><code>LuCI.dom#content</code></a>.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="clearChoices">
+
+ clearChoices<span class="signature">(<span class="optional">reset_value</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1567">line 1567</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Remove all existing choices from the dropdown menu.</p>
+<p>This function removes all preexisting dropdown choices from the widget,
+keeping only choices currently being selected unless <code>reset_values</code> is
+given, in which case all choices and deselected and removed.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>reset_value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>If set to <code>true</code>, deselect and remove selected choices as well instead
+of keeping them.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="closeAllDropdowns">
+
+ closeAllDropdowns<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1635">line 1635</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Close all open dropdown widgets in the current document.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="getValue">
+
+ <span class="inherited"><a href="LuCI.ui.Dropdown.html#getValue">inherited</a></span>
+
+ getValue<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|Array.&lt;string>|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1844">line 1844</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Read the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ string
+ |
+
+ Array.&lt;string>
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">The current value of the input element. For simple inputs like text
+fields or selects, the return value type will be a - possibly empty -
+string. Complex widgets such as <code>DynamicList</code> instances may result in
+an array of strings or <code>null</code> for unset values.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="isValid">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#isValid">inherited</a></span>
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="registerEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#registerEvents">inherited</a></span>
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="render">
+
+ <span class="inherited"><a href="LuCI.ui.Dropdown.html#render">inherited</a></span>
+
+ render<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line956">line 956</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Render the widget, setup event listeners and return resulting markup.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node or DocumentFragment containing the rendered
+widget markup.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setChangeEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">inherited</a></span>
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setUpdateEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">inherited</a></span>
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setValue">
+
+ <span class="inherited"><a href="LuCI.ui.Dropdown.html#setValue">inherited</a></span>
+
+ setValue<span class="signature">(value)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1817">line 1817</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Set the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+|
+
+<span class="param-type">null</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The value to set the input element to. For simple inputs like text
+fields or selects, the value should be a - possibly empty - string.
+Complex widgets such as <code>DynamicList</code> instances may accept string array
+or <code>null</code> values.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="triggerValidation">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#triggerValidation">inherited</a></span>
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".InitOptions">LuCI.ui.Dropdown.InitOptions<span class="type-signature type luci.ui.abstractelement.initoptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">LuCI.ui.AbstractElement.InitOptions</a></span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>In addition to the <a href="LuCI.ui.AbstractElement.html#.InitOptions"><code>AbstractElement.InitOptions</code></a>
+the following properties are recognized:</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Argument</th>
+
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>optional</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ true
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether the dropdown selection is optional. In contrast to
+other widgets, the <code>optional</code> constraint of dropdowns works differently;
+instead of marking the widget invalid on empty values when set to <code>false</code>,
+the user is not allowed to deselect all choices.</p>
+<p>For single value dropdowns that means that no empty &quot;please select&quot;
+choice is offered and for multi value dropdowns, the last selected choice
+may not be deselected without selecting another choice first.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>multiple</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether multiple choice values may be selected. It defaults
+to <code>true</code> when an array is passed as input value to the constructor.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>sort</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies if and how to sort choice values. If set to <code>true</code>, the choice
+values will be sorted alphabetically. If set to an array of strings, the
+choice sort order is derived from the array.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>select_placeholder</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ -- Please choose --
+
+ </td>
+
+
+ <td class="description last"><p>Specifies a placeholder text which is displayed when no choice is
+selected yet.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>custom_placeholder</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ -- custom --
+
+ </td>
+
+
+ <td class="description last"><p>Specifies a placeholder text which is displayed in the text input
+field allowing to enter custom choice values. Only applicable if the
+<code>create</code> option is set to <code>true</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>create</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether custom choices may be entered into the dropdown
+widget.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>create_query</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ .create-item-input
+
+ </td>
+
+
+ <td class="description last"><p>Specifies a CSS selector expression used to find the input element
+which is used to enter custom choice values. This should not normally
+be used except by widgets derived from the Dropdown class.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>create_template</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ script[type="item-template"]
+
+ </td>
+
+
+ <td class="description last"><p>Specifies a CSS selector expression used to find an HTML element
+serving as template for newly added custom choice values.</p>
+<p>Any <code>{{value}}</code> placeholder string within the template elements text
+content will be replaced by the user supplied choice value, the
+resulting string is parsed as HTML and appended to the end of the
+choice list. The template markup may specify one HTML element with a
+<code>data-label-placeholder</code> attribute which is replaced by a matching
+label value from the <code>choices</code> object or with the user supplied value
+itself in case <code>choices</code> contains no matching choice label.</p>
+<p>If the template element is not found or if no <code>create_template</code> selector
+expression is specified, the default markup for newly created elements is
+<code>&lt;li data-value=&quot;{{value}}&quot;&gt;&lt;span data-label-placeholder=&quot;true&quot; /&gt;&lt;/li&gt;</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>create_markup</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>This property allows specifying the markup for custom choices directly
+instead of referring to a template element through CSS selectors.</p>
+<p>Apart from that it works exactly like <code>create_template</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>display_items</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">number</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ 3
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the maximum amount of choice labels that should be shown in
+collapsed dropdown state before further selected choices are cut off.</p>
+<p>Only applicable when <code>multiple</code> is <code>true</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>dropdown_items</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">number</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ -1
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the maximum amount of choices that should be shown when the
+dropdown is open. If the amount of available choices exceeds this number,
+the dropdown area must be scrolled to reach further items.</p>
+<p>If set to <code>-1</code>, the dropdown menu will attempt to show all choice values
+and only resort to scrolling if the amount of choices exceeds the available
+screen space above and below the dropdown widget.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>placeholder</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>This property serves as a shortcut to set both <code>select_placeholder</code> and
+<code>custom_placeholder</code>. Either of these properties will fallback to
+<code>placeholder</code> if not specified.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>readonly</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether the custom choice input field should be rendered
+readonly. Only applicable when <code>create</code> is <code>true</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>maxlength</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">number</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the HTML <code>maxlength</code> attribute to set on the custom choice
+<code>&lt;input&gt;</code> element. Note that this a legacy property that exists for
+compatibility reasons. It is usually better to <code>maxlength(N)</code> validation
+expression. Only applicable when <code>create</code> is <code>true</code>.</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.DynamicList.html b/docs/jsapi/LuCI.ui.DynamicList.html
new file mode 100644
index 0000000000..cd991386cb
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.DynamicList.html
@@ -0,0 +1,3341 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: DynamicList</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.DynamicList.html">Class: DynamicList</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ DynamicList
+ </h2>
+
+ <div class="class-description"><p>The <code>DynamicList</code> class implements a widget which allows the user to specify
+an arbitrary amount of input values, either from free formed text input or
+from a set of predefined choices.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.DynamicList</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>DynamicList</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="DynamicList">
+
+ new LuCI.ui.DynamicList<span class="signature">(<span class="optional">value</span>, <span class="optional">choices</span>, <span class="optional">options</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2041">line 2041</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Instantiate a dynamic list widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ null
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The initial input value(s).</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>choices</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, *></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object containing the selectable choices of the widget. The object keys
+serve as values for the different choices while the values are used as
+choice labels. If omitted, no default choices are presented to the user,
+instead a plain text input field is rendered allowing the user to add
+arbitrary values to the dynamic list.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>options</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type"><a href="LuCI.ui.DynamicList.html#.InitOptions">LuCI.ui.DynamicList.InitOptions</a></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object describing the widget specific options to initialize the dynamic list.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+ <h3 class="subsection-title">Extends</h3>
+
+ <ul>
+ <li><a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a></li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="addChoices">
+
+ addChoices<span class="signature">(values, labels)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2373">line 2373</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Add new suggested choices to the dynamic list.</p>
+<p>This function adds further choices to an existing dynamic list,
+ignoring choice values which are already present.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>values</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The choice values to add to the dynamic lists suggestion dropdown.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>labels</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, *></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The choice label values to use when adding suggested choices. If no
+label is found for a particular choice value, the value itself is used
+as label text. Choice labels may be any valid value accepted by
+<a href="LuCI.dom.html#content"><code>LuCI.dom#content</code></a>.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="clearChoices">
+
+ clearChoices<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2386">line 2386</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Remove all existing choices from the dynamic list.</p>
+<p>This function removes all preexisting suggested choices from the widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="getValue">
+
+ <span class="inherited"><a href="LuCI.ui.DynamicList.html#getValue">inherited</a></span>
+
+ getValue<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|Array.&lt;string>|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2324">line 2324</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Read the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ string
+ |
+
+ Array.&lt;string>
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">The current value of the input element. For simple inputs like text
+fields or selects, the return value type will be a - possibly empty -
+string. Complex widgets such as <code>DynamicList</code> instances may result in
+an array of strings or <code>null</code> for unset values.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="isValid">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#isValid">inherited</a></span>
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="registerEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#registerEvents">inherited</a></span>
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="render">
+
+ <span class="inherited"><a href="LuCI.ui.DynamicList.html#render">inherited</a></span>
+
+ render<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2110">line 2110</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Render the widget, setup event listeners and return resulting markup.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node or DocumentFragment containing the rendered
+widget markup.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setChangeEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">inherited</a></span>
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setUpdateEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">inherited</a></span>
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setValue">
+
+ <span class="inherited"><a href="LuCI.ui.DynamicList.html#setValue">inherited</a></span>
+
+ setValue<span class="signature">(value)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2341">line 2341</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Set the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+|
+
+<span class="param-type">null</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The value to set the input element to. For simple inputs like text
+fields or selects, the value should be a - possibly empty - string.
+Complex widgets such as <code>DynamicList</code> instances may accept string array
+or <code>null</code> values.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="triggerValidation">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#triggerValidation">inherited</a></span>
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".InitOptions">LuCI.ui.DynamicList.InitOptions<span class="type-signature type luci.ui.dropdown.initoptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">LuCI.ui.Dropdown.InitOptions</a></span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>In case choices are passed to the dynamic list contructor, the widget
+supports the same properties as <a href="LuCI.ui.Dropdown.html#.InitOptions"><code>Dropdown.InitOptions</code></a>
+but enforces specific values for some dropdown properties.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>multiple</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Since dynamic lists never allow selecting multiple choices when adding
+another list item, this property is forcibly set to <code>false</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>optional</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+
+
+ <td class="default">
+
+ true
+
+ </td>
+
+
+ <td class="description last"><p>Since dynamic lists use an embedded dropdown to present a list of
+predefined choice values, the dropdown must be made optional to allow
+it to remain unselected.</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.FileUpload.html b/docs/jsapi/LuCI.ui.FileUpload.html
new file mode 100644
index 0000000000..9fbf9709ef
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.FileUpload.html
@@ -0,0 +1,3190 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: FileUpload</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.FileUpload.html">Class: FileUpload</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ FileUpload
+ </h2>
+
+ <div class="class-description"><p>The <code>FileUpload</code> class implements a widget which allows the user to upload,
+browse, select and delete files beneath a predefined remote directory.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.FileUpload</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>FileUpload</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="FileUpload">
+
+ new LuCI.ui.FileUpload<span class="signature">(<span class="optional">value</span>, <span class="optional">options</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2458">line 2458</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Instantiate a file upload widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ null
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The initial input value.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>options</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type"><a href="LuCI.ui.DynamicList.html#.InitOptions">LuCI.ui.DynamicList.InitOptions</a></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object describing the widget specific options to initialize the file
+upload control.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+ <h3 class="subsection-title">Extends</h3>
+
+ <ul>
+ <li><a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a></li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="getValue">
+
+ <span class="inherited"><a href="LuCI.ui.FileUpload.html#getValue">inherited</a></span>
+
+ getValue<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|Array.&lt;string>|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2915">line 2915</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Read the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ string
+ |
+
+ Array.&lt;string>
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">The current value of the input element. For simple inputs like text
+fields or selects, the return value type will be a - possibly empty -
+string. Complex widgets such as <code>DynamicList</code> instances may result in
+an array of strings or <code>null</code> for unset values.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="isValid">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#isValid">inherited</a></span>
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="registerEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#registerEvents">inherited</a></span>
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="render">
+
+ <span class="inherited"><a href="LuCI.ui.FileUpload.html#render">inherited</a></span>
+
+ render<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2544">line 2544</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Render the widget, setup event listeners and return resulting markup.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node or DocumentFragment containing the rendered
+widget markup.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setChangeEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">inherited</a></span>
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setUpdateEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">inherited</a></span>
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setValue">
+
+ <span class="inherited"><a href="LuCI.ui.FileUpload.html#setValue">inherited</a></span>
+
+ setValue<span class="signature">(value)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2920">line 2920</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Set the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+|
+
+<span class="param-type">null</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The value to set the input element to. For simple inputs like text
+fields or selects, the value should be a - possibly empty - string.
+Complex widgets such as <code>DynamicList</code> instances may accept string array
+or <code>null</code> values.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="triggerValidation">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#triggerValidation">inherited</a></span>
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".InitOptions">LuCI.ui.FileUpload.InitOptions<span class="type-signature type luci.ui.abstractelement.initoptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">LuCI.ui.AbstractElement.InitOptions</a></span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>In addition to the <a href="LuCI.ui.AbstractElement.html#.InitOptions"><code>AbstractElement.InitOptions</code></a>
+the following properties are recognized:</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Argument</th>
+
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>show_hidden</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether hidden files should be displayed when browsing remote
+files. Note that this is not a security feature, hidden files are always
+present in the remote file listings received, this option merely controls
+whether they're displayed or not.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>enable_upload</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ true
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether the widget allows the user to upload files. If set to
+<code>false</code>, only existing files may be selected. Note that this is not a
+security feature. Whether file upload requests are accepted remotely
+depends on the ACL setup for the current session. This option merely
+controls whether the upload controls are rendered or not.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>enable_remove</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ true
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether the widget allows the user to delete remove files.
+If set to <code>false</code>, existing files may not be removed. Note that this is
+not a security feature. Whether file delete requests are accepted
+remotely depends on the ACL setup for the current session. This option
+merely controls whether the file remove controls are rendered or not.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>root_directory</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ /etc/luci-uploads
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the remote directory the upload and file browsing actions take
+place in. Browsing to directories outside of the root directory is
+prevented by the widget. Note that this is not a security feature.
+Whether remote directories are browseable or not solely depends on the
+ACL setup for the current session.</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.Hiddenfield.html b/docs/jsapi/LuCI.ui.Hiddenfield.html
new file mode 100644
index 0000000000..40fe47f8c0
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.Hiddenfield.html
@@ -0,0 +1,2944 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: Hiddenfield</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.Hiddenfield.html">Class: Hiddenfield</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ Hiddenfield
+ </h2>
+
+ <div class="class-description"><p>The <code>Hiddenfield</code> class implements an HTML <code>&lt;input type=&quot;hidden&quot;&gt;</code> field
+which allows to store form data without exposing it to the user.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.Hiddenfield</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>Hiddenfield</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="Hiddenfield">
+
+ new LuCI.ui.Hiddenfield<span class="signature">(<span class="optional">value</span>, <span class="optional">options</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2392">line 2392</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Instantiate a hidden input field widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ null
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The initial input value.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>options</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type"><a href="LuCI.ui.AbstractElement.html#.InitOptions">LuCI.ui.AbstractElement.InitOptions</a></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object describing the widget specific options to initialize the hidden input.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+ <h3 class="subsection-title">Extends</h3>
+
+ <ul>
+ <li><a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a></li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="getValue">
+
+ <span class="inherited"><a href="LuCI.ui.Hiddenfield.html#getValue">inherited</a></span>
+
+ getValue<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|Array.&lt;string>|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2448">line 2448</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Read the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ string
+ |
+
+ Array.&lt;string>
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">The current value of the input element. For simple inputs like text
+fields or selects, the return value type will be a - possibly empty -
+string. Complex widgets such as <code>DynamicList</code> instances may result in
+an array of strings or <code>null</code> for unset values.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="isValid">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#isValid">inherited</a></span>
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="registerEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#registerEvents">inherited</a></span>
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="render">
+
+ <span class="inherited"><a href="LuCI.ui.Hiddenfield.html#render">inherited</a></span>
+
+ render<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2428">line 2428</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Render the widget, setup event listeners and return resulting markup.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node or DocumentFragment containing the rendered
+widget markup.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setChangeEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">inherited</a></span>
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setUpdateEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">inherited</a></span>
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setValue">
+
+ <span class="inherited"><a href="LuCI.ui.Hiddenfield.html#setValue">inherited</a></span>
+
+ setValue<span class="signature">(value)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2453">line 2453</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Set the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+|
+
+<span class="param-type">null</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The value to set the input element to. For simple inputs like text
+fields or selects, the value should be a - possibly empty - string.
+Complex widgets such as <code>DynamicList</code> instances may accept string array
+or <code>null</code> values.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="triggerValidation">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#triggerValidation">inherited</a></span>
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.Select.html b/docs/jsapi/LuCI.ui.Select.html
new file mode 100644
index 0000000000..79e72ceade
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.Select.html
@@ -0,0 +1,3293 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: Select</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.Select.html">Class: Select</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ Select
+ </h2>
+
+ <div class="class-description"><p>The <code>Select</code> class implements either a traditional HTML <code>&lt;select&gt;</code> element
+or a group of checkboxes or radio buttons, depending on whether multiple
+values are enabled or not.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.Select</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>Select</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="Select">
+
+ new LuCI.ui.Select<span class="signature">(<span class="optional">value</span>, choices, <span class="optional">options</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line601">line 601</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Instantiate a select dropdown or checkbox/radiobutton group.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ null
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The initial input value(s).</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>choices</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, string></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Object containing the selectable choices of the widget. The object keys
+serve as values for the different choices while the values are used as
+choice labels.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>options</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type"><a href="LuCI.ui.Select.html#.InitOptions">LuCI.ui.Select.InitOptions</a></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object describing the widget specific options to initialize the inputs.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+ <h3 class="subsection-title">Extends</h3>
+
+ <ul>
+ <li><a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a></li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="getValue">
+
+ <span class="inherited"><a href="LuCI.ui.Select.html#getValue">inherited</a></span>
+
+ getValue<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|Array.&lt;string>|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line772">line 772</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Read the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ string
+ |
+
+ Array.&lt;string>
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">The current value of the input element. For simple inputs like text
+fields or selects, the return value type will be a - possibly empty -
+string. Complex widgets such as <code>DynamicList</code> instances may result in
+an array of strings or <code>null</code> for unset values.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="isValid">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#isValid">inherited</a></span>
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="registerEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#registerEvents">inherited</a></span>
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="render">
+
+ <span class="inherited"><a href="LuCI.ui.Select.html#render">inherited</a></span>
+
+ render<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line692">line 692</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Render the widget, setup event listeners and return resulting markup.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node or DocumentFragment containing the rendered
+widget markup.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setChangeEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">inherited</a></span>
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setUpdateEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">inherited</a></span>
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setValue">
+
+ <span class="inherited"><a href="LuCI.ui.Select.html#setValue">inherited</a></span>
+
+ setValue<span class="signature">(value)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line785">line 785</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Set the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+|
+
+<span class="param-type">null</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The value to set the input element to. For simple inputs like text
+fields or selects, the value should be a - possibly empty - string.
+Complex widgets such as <code>DynamicList</code> instances may accept string array
+or <code>null</code> values.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="triggerValidation">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#triggerValidation">inherited</a></span>
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".InitOptions">LuCI.ui.Select.InitOptions<span class="type-signature type luci.ui.abstractelement.initoptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">LuCI.ui.AbstractElement.InitOptions</a></span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>In addition to the <a href="LuCI.ui.AbstractElement.html#.InitOptions"><code>AbstractElement.InitOptions</code></a>
+the following properties are recognized:</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Argument</th>
+
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>multiple</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether multiple choice values may be selected.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>widget</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ select
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the kind of widget to render. May be either <code>select</code> or
+<code>individual</code>. When set to <code>select</code> an HTML <code>&lt;select&gt;</code> element will be
+used, otherwise a group of checkbox or radio button elements is created,
+depending on the value of the <code>multiple</code> option.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>orientation</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ horizontal
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether checkbox / radio button groups should be rendered
+in a <code>horizontal</code> or <code>vertical</code> manner. Does not apply to the <code>select</code>
+widget type.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>sort</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies if and how to sort choice values. If set to <code>true</code>, the choice
+values will be sorted alphabetically. If set to an array of strings, the
+choice sort order is derived from the array.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>size</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">number</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the HTML <code>size</code> attribute to set on the <code>&lt;select&gt;</code> element.
+Only applicable to the <code>select</code> widget type.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>placeholder</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ -- Please choose --
+
+ </td>
+
+
+ <td class="description last"><p>Specifies a placeholder text which is displayed when no choice is
+selected yet. Only applicable to the <code>select</code> widget type.</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.Textarea.html b/docs/jsapi/LuCI.ui.Textarea.html
new file mode 100644
index 0000000000..2503a15683
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.Textarea.html
@@ -0,0 +1,3242 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: Textarea</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.Textarea.html">Class: Textarea</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ Textarea
+ </h2>
+
+ <div class="class-description"><p>The <code>Textarea</code> class implements a multiline text area input field.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.Textarea</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>Textarea</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="Textarea">
+
+ new LuCI.ui.Textarea<span class="signature">(<span class="optional">value</span>, <span class="optional">options</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line368">line 368</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Instantiate a textarea widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ null
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The initial input value.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>options</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type"><a href="LuCI.ui.Textarea.html#.InitOptions">LuCI.ui.Textarea.InitOptions</a></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object describing the widget specific options to initialize the input.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+ <h3 class="subsection-title">Extends</h3>
+
+ <ul>
+ <li><a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a></li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="getValue">
+
+ <span class="inherited"><a href="LuCI.ui.Textarea.html#getValue">inherited</a></span>
+
+ getValue<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|Array.&lt;string>|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line472">line 472</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Read the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ string
+ |
+
+ Array.&lt;string>
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">The current value of the input element. For simple inputs like text
+fields or selects, the return value type will be a - possibly empty -
+string. Complex widgets such as <code>DynamicList</code> instances may result in
+an array of strings or <code>null</code> for unset values.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="isValid">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#isValid">inherited</a></span>
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="registerEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#registerEvents">inherited</a></span>
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="render">
+
+ <span class="inherited"><a href="LuCI.ui.Textarea.html#render">inherited</a></span>
+
+ render<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line435">line 435</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Render the widget, setup event listeners and return resulting markup.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node or DocumentFragment containing the rendered
+widget markup.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setChangeEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">inherited</a></span>
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setUpdateEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">inherited</a></span>
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setValue">
+
+ <span class="inherited"><a href="LuCI.ui.Textarea.html#setValue">inherited</a></span>
+
+ setValue<span class="signature">(value)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line477">line 477</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Set the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+|
+
+<span class="param-type">null</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The value to set the input element to. For simple inputs like text
+fields or selects, the value should be a - possibly empty - string.
+Complex widgets such as <code>DynamicList</code> instances may accept string array
+or <code>null</code> values.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="triggerValidation">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#triggerValidation">inherited</a></span>
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".InitOptions">LuCI.ui.Textarea.InitOptions<span class="type-signature type luci.ui.abstractelement.initoptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">LuCI.ui.AbstractElement.InitOptions</a></span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>In addition to the <a href="LuCI.ui.AbstractElement.html#.InitOptions"><code>AbstractElement.InitOptions</code></a>
+the following properties are recognized:</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Argument</th>
+
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>readonly</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether the input widget should be rendered readonly.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>placeholder</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the HTML <code>placeholder</code> attribute which is displayed when the
+corresponding <code>&lt;textarea&gt;</code> element is empty.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>monospace</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether a monospace font should be forced for the textarea
+contents.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>cols</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">number</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the HTML <code>cols</code> attribute to set on the corresponding
+<code>&lt;textarea&gt;</code> element.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>rows</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">number</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the HTML <code>rows</code> attribute to set on the corresponding
+<code>&lt;textarea&gt;</code> element.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>wrap</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether the HTML <code>wrap</code> attribute should be set.</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.Textfield.html b/docs/jsapi/LuCI.ui.Textfield.html
new file mode 100644
index 0000000000..e5e2aeb8cc
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.Textfield.html
@@ -0,0 +1,3170 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: Textfield</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.Textfield.html">Class: Textfield</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ Textfield
+ </h2>
+
+ <div class="class-description"><p>The <code>Textfield</code> class implements a standard single line text input field.</p>
+<p>UI widget instances are usually not supposed to be created by view code
+directly, instead they're implicitely created by <code>LuCI.form</code> when
+instantiating CBI forms.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.Textfield</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>Textfield</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="Textfield">
+
+ new LuCI.ui.Textfield<span class="signature">(<span class="optional">value</span>, <span class="optional">options</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line242">line 242</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Instantiate a text input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ null
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The initial input value.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>options</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type"><a href="LuCI.ui.Textfield.html#.InitOptions">LuCI.ui.Textfield.InitOptions</a></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Object describing the widget specific options to initialize the input.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+ <h3 class="subsection-title">Extends</h3>
+
+ <ul>
+ <li><a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a></li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="getValue">
+
+ <span class="inherited"><a href="LuCI.ui.Textfield.html#getValue">inherited</a></span>
+
+ getValue<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|Array.&lt;string>|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line356">line 356</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Read the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ string
+ |
+
+ Array.&lt;string>
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">The current value of the input element. For simple inputs like text
+fields or selects, the return value type will be a - possibly empty -
+string. Complex widgets such as <code>DynamicList</code> instances may result in
+an array of strings or <code>null</code> for unset values.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="isValid">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#isValid">inherited</a></span>
+
+ isValid<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line103">line 103</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether the current input value is valid.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the current input value is valid or <code>false</code> if it does
+not meet the validation constraints.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="registerEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#registerEvents">inherited</a></span>
+
+ registerEvents<span class="signature">(targetNode, synevent, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line152">line 152</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Dispatch a custom (synthetic) event in response to received events.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names that dispatch a custom event of the given type to the widget root
+DOM node.</p>
+<p>The primary purpose of this function is to set up a series of custom
+uniform standard events such as <code>widget-update</code>, <code>validation-success</code>,
+<code>validation-failure</code> etc. which are triggered by various different
+widget specific native DOM events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>Specifies the DOM node on which the native event listeners should be
+registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>synevent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The name of the custom event to dispatch to the widget root DOM node.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;string></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The native DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="render">
+
+ <span class="inherited"><a href="LuCI.ui.Textfield.html#render">inherited</a></span>
+
+ render<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line301">line 301</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Render the widget, setup event listeners and return resulting markup.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node or DocumentFragment containing the rendered
+widget markup.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setChangeEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">inherited</a></span>
+
+ setChangeEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line220">line 220</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may change the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to change completely, such as
+<code>change</code> events in a select menu. In contrast to update events, such
+change events will not trigger input value validation but they may cause
+field dependencies to get re-evaluated and will mark the input widget
+as dirty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setUpdateEvents">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">inherited</a></span>
+
+ setUpdateEvents<span class="signature">(targetNode, events)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line177">line 177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Setup listeners for native DOM events that may update the widget value.</p>
+<p>Sets up event handlers on the given target DOM node for the given event
+names which may cause the input value to update, such as <code>keyup</code> or
+<code>onclick</code> events. In contrast to change events, such update events will
+trigger input value validation.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>targetNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the DOM node on which the event listeners should be registered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The DOM events for which event handlers should be registered.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="setValue">
+
+ <span class="inherited"><a href="LuCI.ui.Textfield.html#setValue">inherited</a></span>
+
+ setValue<span class="signature">(value)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line362">line 362</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Set the current value of the input widget.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>value</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+|
+
+<span class="param-type">Array.&lt;string></span>
+|
+
+<span class="param-type">null</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The value to set the input element to. For simple inputs like text
+fields or selects, the value should be a - possibly empty - string.
+Complex widgets such as <code>DynamicList</code> instances may accept string array
+or <code>null</code> values.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer inherited">
+ <h4 class="name" id="triggerValidation">
+
+ <span class="inherited"><a href="LuCI.ui.AbstractElement.html#triggerValidation">inherited</a></span>
+
+ triggerValidation<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line117">line 117</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Force validation of the current input value.</p>
+<p>Usually input validation is automatically triggered by various DOM events
+bound to the input widget. In some cases it is required though to manually
+trigger validation runs, e.g. when programmatically altering values.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".InitOptions">LuCI.ui.Textfield.InitOptions<span class="type-signature type luci.ui.abstractelement.initoptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">LuCI.ui.AbstractElement.InitOptions</a></span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>In addition to the <a href="LuCI.ui.AbstractElement.html#.InitOptions"><code>AbstractElement.InitOptions</code></a>
+the following properties are recognized:</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Argument</th>
+
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>password</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether the input should be rendered as concealed password field.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>readonly</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last"><p>Specifies whether the input widget should be rendered readonly.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>maxlength</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">number</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the HTML <code>maxlength</code> attribute to set on the corresponding
+<code>&lt;input&gt;</code> element. Note that this a legacy property that exists for
+compatibility reasons. It is usually better to <code>maxlength(N)</code> validation
+expression.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>placeholder</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="attributes">
+
+ &lt;optional><br>
+
+
+
+ </td>
+
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last"><p>Specifies the HTML <code>placeholder</code> attribute which is displayed when the
+corresponding <code>&lt;input&gt;</code> element is empty.</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.changes.html b/docs/jsapi/LuCI.ui.changes.html
new file mode 100644
index 0000000000..d7b75c6a83
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.changes.html
@@ -0,0 +1,2354 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: changes</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.changes.html">Class: changes</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ changes
+ </h2>
+
+ <div class="class-description"><p>The <code>changes</code> class encapsulates logic for visualizing, applying,
+confirming and reverting staged UCI changesets.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.changes</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>changes</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="changes">
+
+ new LuCI.ui.changes<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3761">line 3761</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="apply">
+
+ apply<span class="signature">(<span class="optional">checked</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4076">line 4076</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Apply the staged configuration changes.</p>
+<p>Start applying staged configuration changes and open a modal dialog
+with a progress indication to prevent interaction with the view
+during the apply process. The modal dialog will be automatically
+closed and the current view reloaded once the apply process is
+complete.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>checked</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Whether to perform a checked (<code>true</code>) configuration apply or an
+unchecked (<code>false</code>) one.
+In case of a checked apply, the configuration changes must be
+confirmed within a specific time interval, otherwise the device
+will begin to roll back the changes in order to restore the previous
+settings.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="displayChanges">
+
+ displayChanges<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3851">line 3851</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Display the current changelog.</p>
+<p>Open a modal dialog visualizing the currently staged UCI changes
+and offer options to revert or apply the shown changes.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="renderChangeIndicator">
+
+ renderChangeIndicator<span class="signature">(changes)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3817">line 3817</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Update the change count indicator.</p>
+<p>This function updates the UCI change count indicator from the given
+UCI changeset structure.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>changes</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Object.&lt;string, Array.&lt;<a href="LuCI.uci.html#.ChangeRecord">LuCI.uci.ChangeRecord</a>>></span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The UCI changeset to count.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="revert">
+
+ revert<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4123">line 4123</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Revert the staged configuration changes.</p>
+<p>Start reverting staged configuration changes and open a modal dialog
+with a progress indication to prevent interaction with the view
+during the revert process. The modal dialog will be automatically
+closed and the current view reloaded once the revert process is
+complete.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="setIndicator">
+
+ setIndicator<span class="signature">(numChanges)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3782">line 3782</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Set the change count indicator.</p>
+<p>This function updates or hides the UCI change count indicator,
+depending on the passed change count. When the count is greater
+than 0, the change indicator is displayed or updated, otherwise it
+is removed.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>numChanges</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">number</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The number of changes to indicate.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.html b/docs/jsapi/LuCI.ui.html
new file mode 100644
index 0000000000..73feafbe96
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.html
@@ -0,0 +1,4292 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: ui</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.html">Class: ui</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
+
+ ui
+ </h2>
+
+ <div class="class-description"><p>Provides high level UI helper functionality.
+To import the class in views, use <code>'require ui'</code>, to import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code>.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="ui">
+
+ new LuCI.ui<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2925">line 2925</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Classes</h3>
+
+ <dl>
+ <dt><a href="LuCI.ui.AbstractElement.html">AbstractElement</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.changes.html">changes</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.Checkbox.html">Checkbox</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.Combobox.html">Combobox</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.ComboButton.html">ComboButton</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.Dropdown.html">Dropdown</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.DynamicList.html">DynamicList</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.FileUpload.html">FileUpload</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.Hiddenfield.html">Hiddenfield</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.Select.html">Select</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.tabs.html">tabs</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.Textarea.html">Textarea</a></dt>
+ <dd></dd>
+
+ <dt><a href="LuCI.ui.Textfield.html">Textfield</a></dt>
+ <dd></dd>
+ </dl>
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="addNotification">
+
+ addNotification<span class="signature">(<span class="optional">title</span>, contents, <span class="optional">classes</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3105">line 3105</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Add a notification banner at the top of the current view.</p>
+<p>A notification banner is an alert message usually displayed at the
+top of the current view, spanning the entire availibe width.
+Notification banners will stay in place until dismissed by the user.
+Multiple banners may be shown at the same time.</p>
+<p>Additional CSS class names may be passed to influence the appearence of
+the banner. Valid values for the classes depend on the underlying theme.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>title</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The title of the notification banner. If <code>null</code>, no title element
+will be rendered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>contents</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">*</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>The contents to add to the notification banner. This should be a DOM
+node or a document fragment in most cases. The value is passed as-is
+to the <code>L.dom.content()</code> function - refer to its documentation for
+applicable values.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>classes</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>A number of extra CSS class names which are set on the notification
+banner element.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-see">See:</dt>
+ <dd class="tag-see">
+ <ul>
+ <li>LuCI.dom.content</li>
+ </ul>
+ </dd>
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node representing the notification banner element.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="addValidator">
+
+ addValidator<span class="signature">(field, type, <span class="optional">optional</span>, <span class="optional">vfunc</span>, <span class="optional">events</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{function}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4191">line 4191</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Add validation constraints to an input element.</p>
+<p>Compile the given type expression and optional validator function into
+a validation function and bind it to the specified input element events.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>field</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>The DOM input element node to bind the validation constraints to.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>type</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>The datatype specification to describe validation constraints.
+Refer to the <code>LuCI.validation</code> class documentation for details.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>optional</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">boolean</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ false
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Specifies whether empty values are allowed (<code>true</code>) or not (<code>false</code>).
+If an input element is not marked optional it must not be empty,
+otherwise it will be marked as invalid.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>vfunc</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">function</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Specifies a custom validation function which is invoked after the
+other validation constraints are applied. The validation must return
+<code>true</code> to accept the passed value. Any other return type is converted
+to a string and treated as validation error message.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>events</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ blur, keyup
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The list of events to bind. Each received event will trigger a field
+validation. If omitted, the <code>keyup</code> and <code>blur</code> events are bound by
+default.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-see">See:</dt>
+ <dd class="tag-see">
+ <ul>
+ <li>LuCI.validation</li>
+ </ul>
+ </dd>
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ function
+
+
+ </td>
+ <td class="description last">Returns the compiled validator function which can be used to manually
+trigger field validation or to bind it to further events.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="awaitReconnect">
+
+ awaitReconnect<span class="signature">(<span class="optional">hosts</span>)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3725">line 3725</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Wait for device to come back online and reconnect to it.</p>
+<p>Poll each given hostname or IP address and navigate to it as soon as
+one of the addresses becomes reachable.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>hosts</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ [window.location.host]
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>The list of IP addresses and host names to check for reachability.
+If omitted, the current value of <code>window.location.host</code> is used by
+default.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="createHandlerFn">
+
+ createHandlerFn<span class="signature">(ctx, fn, extra_args)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{function|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4242">line 4242</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Create a pre-bound event handler function.</p>
+<p>Generate and bind a function suitable for use in event handlers. The
+generated function automatically disables the event source element
+and adds an active indication to it by adding appropriate CSS classes.</p>
+<p>It will also await any promises returned by the wrapped function and
+re-enable the source element after the promises ran to completion.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>ctx</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">*</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>The <code>this</code> context to use for the wrapped function.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>fn</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">function</span>
+|
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>Specifies the function to wrap. In case of a function value, the
+function is used as-is. If a string is specified instead, it is looked
+up in <code>ctx</code> to obtain the function to wrap. In both cases the bound
+function will be invoked with <code>ctx</code> as <code>this</code> context</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>extra_args</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">*</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>Any further parameter as passed as-is to the bound event handler
+function in the same order as passed to <code>createHandlerFn()</code>.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ function
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">Returns the pre-bound handler function which is suitable to be passed
+to <code>addEventListener()</code>. Returns <code>null</code> if the given <code>fn</code> argument is
+a string which could not be found in <code>ctx</code> or if <code>ctx[fn]</code> is not a
+valid function value.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="hideIndicator">
+
+ hideIndicator<span class="signature">(id)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3214">line 3214</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Remove an header area indicator.</p>
+<p>This function removes the given indicator label from the header indicator
+area. When the given indicator is not found, this function does nothing.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>id</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The ID of the indicator to remove.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> when the indicator has been removed or <code>false</code> when the
+requested indicator was not found.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="hideModal">
+
+ hideModal<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3016">line 3016</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Close the open modal overlay dialog.</p>
+<p>This function will close an open modal dialog and restore the normal view
+behaviour. It has no effect if no modal dialog is currently open.</p>
+<p>Note that this function is stand-alone, it does not rely on <code>this</code> and
+will not invoke other class functions so it suitable to be used as event
+handler as-is without the need to bind it first.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="itemlist">
+
+ itemlist<span class="signature">(node, items, <span class="optional">separators</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3257">line 3257</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Formats a series of label/value pairs into list-like markup.</p>
+<p>This function transforms a flat array of alternating label and value
+elements into a list-like markup, using the values in <code>separators</code> as
+separators and appends the resulting nodes to the given parent DOM node.</p>
+<p>Each label is suffixed with <code>:</code> and wrapped into a <code>&lt;strong&gt;</code> tag, the
+<code>&lt;strong&gt;</code> element and the value corresponding to the label are
+subsequently wrapped into a <code>&lt;span class=&quot;nowrap&quot;&gt;</code> element.</p>
+<p>The resulting <code>&lt;span&gt;</code> element tuples are joined by the given separators
+to form the final markup which is appened to the given parent DOM node.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>node</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>The parent DOM node to append the markup to. Any previous child elements
+will be removed.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>items</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;*></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>An alternating array of labels and values. The label values will be
+converted to plain strings, the values are used as-is and may be of
+any type accepted by <code>LuCI.dom.content()</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>separators</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">*</span>
+|
+
+<span class="param-type">Array.&lt;*></span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ [E('br')]
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>A single value or an array of separator values to separate each
+label/value pair with. The function will cycle through the separators
+when joining the pairs. If omitted, the default separator is a sole HTML
+<code>&lt;br&gt;</code> element. Separator values are used as-is and may be of any type
+accepted by <code>LuCI.dom.content()</code>.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns the parent DOM node the formatted markup has been added to.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="pingDevice">
+
+ pingDevice<span class="signature">(<span class="optional">proto</span>, <span class="optional">host</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Event>}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3699">line 3699</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Perform a device connectivity test.</p>
+<p>Attempt to fetch a well known ressource from the remote device via HTTP
+in order to test connectivity. This function is mainly useful to wait
+for the router to come back online after a reboot or reconfiguration.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>proto</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ http
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The protocol to use for fetching the resource. May be either <code>http</code>
+(the default) or <code>https</code>.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>host</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ window.location.host
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>Override the host address to probe. By default the current host as seen
+in the address bar is probed.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Promise.&lt;Event>
+
+
+ </td>
+ <td class="description last">Returns a promise resolving to a <code>load</code> event in case the device is
+reachable or rejecting with an <code>error</code> event in case it is not reachable
+or rejecting with <code>null</code> when the connectivity check timed out.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="showIndicator">
+
+ showIndicator<span class="signature">(id, label, <span class="optional">handler</span>, <span class="optional">style</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3177">line 3177</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Display or update an header area indicator.</p>
+<p>An indicator is a small label displayed in the header area of the screen
+providing few amounts of status information such as item counts or state
+toggle indicators.</p>
+<p>Multiple indicators may be shown at the same time and indicator labels
+may be made clickable to display extended information or to initiate
+further actions.</p>
+<p>Indicators can either use a default <code>active</code> or a less accented <code>inactive</code>
+style which is useful for indicators representing state toggles.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+ <th>Default</th>
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>id</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>The ID of the indicator. If an indicator with the given ID already exists,
+it is updated with the given label and style.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>label</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>The text to display in the indicator label.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>handler</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">function</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>A handler function to invoke when the indicator label is clicked/touched
+by the user. If omitted, the indicator is not clickable/touchable.</p>
+<p>Note that this parameter only applies to new indicators, when updating
+existing labels it is ignored.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>style</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+ <td class="default">
+
+ active
+
+ </td>
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The indicator style to use. May be either <code>active</code> or <code>inactive</code>.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> when the indicator has been updated or <code>false</code> when no
+changes were made.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="showModal">
+
+ showModal<span class="signature">(<span class="optional">title</span>, contents, <span class="optional">classes</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2990">line 2990</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Display a modal overlay dialog with the specified contents.</p>
+<p>The modal overlay dialog covers the current view preventing interaction
+with the underlying view contents. Only one modal dialog instance can
+be opened. Invoking showModal() while a modal dialog is already open will
+replace the open dialog with a new one having the specified contents.</p>
+<p>Additional CSS class names may be passed to influence the appearence of
+the dialog. Valid values for the classes depend on the underlying theme.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>title</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>The title of the dialog. If <code>null</code>, no title element will be rendered.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>contents</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">*</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>The contents to add to the modal dialog. This should be a DOM node or
+a document fragment in most cases. The value is passed as-is to the
+<code>L.dom.content()</code> function - refer to its documentation for applicable
+values.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>classes</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+ <span class="repeatable">repeatable</span>
+
+
+ <p>A number of extra CSS class names which are set on the modal dialog
+element.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-see">See:</dt>
+ <dd class="tag-see">
+ <ul>
+ <li>LuCI.dom.content</li>
+ </ul>
+ </dd>
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Node
+
+
+ </td>
+ <td class="description last">Returns a DOM Node representing the modal dialog element.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="uploadFile">
+
+ uploadFile<span class="signature">(path, <span class="optional">progessStatusNode</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;<a href="LuCI.ui.html#.FileUploadReply">LuCI.ui.FileUploadReply</a>>}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3577">line 3577</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Display a modal file upload prompt.</p>
+<p>This function opens a modal dialog prompting the user to select and
+upload a file to a predefined remote destination path.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>path</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+
+
+
+
+ <p>The remote file path to upload the local file to.</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>progessStatusNode</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+
+ <span class="optional">optional</span>
+
+
+
+
+
+ <p>An optional DOM text node whose content text is set to the progress
+percentage value during file upload.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ Promise.&lt;<a href="LuCI.ui.html#.FileUploadReply">LuCI.ui.FileUploadReply</a>>
+
+
+ </td>
+ <td class="description last">Returns a promise resolving to a file upload status object on success
+or rejecting with an error in case the upload failed or has been
+cancelled by the user.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id=".FileUploadReply">LuCI.ui.FileUploadReply<span class="type-signature type object">Object</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+
+
+<dl class="details">
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+ <dl>
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>name</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+
+
+ <td class="description last"><p>Name of the uploaded file without directory components</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>size</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">number</span>
+
+
+
+ </td>
+
+
+
+
+
+ <td class="description last"><p>Size of the uploaded file in bytes</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>checksum</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+
+
+ <td class="description last"><p>The MD5 checksum of the received file data</p></td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>sha256sum</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">string</span>
+
+
+
+ </td>
+
+
+
+
+
+ <td class="description last"><p>The SHA256 checksum of the received file data</p></td>
+ </tr>
+
+
+ </tbody>
+</table></dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.ui.tabs.html b/docs/jsapi/LuCI.ui.tabs.html
new file mode 100644
index 0000000000..ec5f92ffb8
--- /dev/null
+++ b/docs/jsapi/LuCI.ui.tabs.html
@@ -0,0 +1,2101 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Class: tabs</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="LuCI.ui.tabs.html">Class: tabs</h1>
+
+
+
+
+<section>
+
+<header>
+ <h2>
+ <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.ui.html">.ui</a>.</span>
+
+ tabs
+ </h2>
+
+ <div class="class-description"><p>The <code>tabs</code> class handles tab menu groups used throughout the view area.
+It takes care of setting up tab groups, tracking their state and handling
+related events.</p>
+<p>This class is automatically instantiated as part of <code>LuCI.ui</code>. To use it
+in views, use <code>'require ui'</code> and refer to <code>ui.tabs</code>. To import it in
+external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and access the
+<code>tabs</code> property of the class instance value.</p></div>
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="tabs">
+
+ new LuCI.ui.tabs<span class="signature">()</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3298">line 3298</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+ </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Methods</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="initTabGroup">
+
+ initTabGroup<span class="signature">(panes)</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3353">line 3353</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Initializes a new tab group from the given tab pane collection.</p>
+<p>This function cycles through the given tab pane DOM nodes, extracts
+their tab IDs, titles and active states, renders a corresponding
+tab menu and prepends it to the tab panes common parent DOM node.</p>
+<p>The tab menu labels will be set to the value of the <code>data-tab-title</code>
+attribute of each corresponding pane. The last pane with the
+<code>data-tab-active</code> attribute set to <code>true</code> will be selected by default.</p>
+<p>If no pane is marked as active, the first one will be preselected.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>panes</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Array.&lt;Node></span>
+|
+
+<span class="param-type">NodeList</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>A collection of tab panes to build a tab group menu for. May be a
+plain array of DOM nodes or a NodeList collection, such as the result
+of a <code>querySelectorAll()</code> call or the <code>.childNodes</code> property of a
+DOM node.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="isEmptyPane">
+
+ isEmptyPane<span class="signature">(pane)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3423">line 3423</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Checks whether the given tab pane node is empty.</p>
+ </div>
+
+
+
+
+
+
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>pane</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Node</span>
+
+
+
+ </td>
+
+
+
+ <td class="description last">
+
+ <p>The tab pane to check.</p></td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+ <h5>Returns:</h5>
+
+
+
+<table class="params">
+ <thead>
+ <tr>
+
+ <th>Type</th>
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+
+ <td class="type">
+
+ boolean
+
+
+ </td>
+ <td class="description last">Returns <code>true</code> if the pane is empty, else <code>false</code>.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+ </dl>
+
+
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/jsapi/LuCI.view.html b/docs/jsapi/LuCI.view.html
index 3e300f262a..200f00ea51 100644
--- a/docs/jsapi/LuCI.view.html
+++ b/docs/jsapi/LuCI.view.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1111,7 +1719,7 @@ set of methods to inherit from.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2758">line 2758</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2761">line 2761</a>
</div>
</div>
@@ -1196,7 +1804,7 @@ set of methods to inherit from.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2976">line 2976</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2979">line 2979</a>
</div>
</div>
@@ -1309,7 +1917,7 @@ methods are overwritten with <code>null</code>.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2942">line 2942</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2945">line 2945</a>
</div>
</div>
@@ -1473,7 +2081,7 @@ is reenabled.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2861">line 2861</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2864">line 2864</a>
</div>
</div>
@@ -1637,7 +2245,7 @@ is reenabled.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2905">line 2905</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2908">line 2908</a>
</div>
</div>
@@ -1803,7 +2411,7 @@ is reenabled.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2796">line 2796</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2799">line 2799</a>
</div>
</div>
@@ -1913,7 +2521,7 @@ the default implementation does nothing.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2828">line 2828</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2831">line 2831</a>
</div>
</div>
@@ -2087,7 +2695,7 @@ to a <code>Node</code> value.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/fs.js.html b/docs/jsapi/fs.js.html
index 769e3edd87..292a521ba4 100644
--- a/docs/jsapi/fs.js.html
+++ b/docs/jsapi/fs.js.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1523,7 +2131,7 @@ return FileSystem;
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/index.html b/docs/jsapi/index.html
index c5203a4d20..6760e4bb8d 100644
--- a/docs/jsapi/index.html
+++ b/docs/jsapi/index.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1112,7 +1720,7 @@
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/luci.js.html b/docs/jsapi/luci.js.html
index c8bf702118..f5e0c81d0f 100644
--- a/docs/jsapi/luci.js.html
+++ b/docs/jsapi/luci.js.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -3640,6 +4248,9 @@
* be found.
*/
data: function(node, key, val) {
+ if (!node || !node.getAttribute)
+ return null;
+
var id = node.getAttribute('data-idref');
/* clear all data */
@@ -4067,14 +4678,14 @@
1: [ _('Apply unchecked') ]
}, {
classes: {
- 0: 'cbi-button cbi-button-apply important',
- 1: 'cbi-button cbi-button-negative important'
+ 0: 'btn cbi-button cbi-button-apply important',
+ 1: 'btn cbi-button cbi-button-negative important'
},
click: L.ui.createHandlerFn(this, 'handleSaveApply')
}).render() : E([]);
if (this.handleSaveApply || this.handleSave || this.handleReset) {
- footer.appendChild(E('div', { 'class': 'cbi-page-actions' }, [
+ footer.appendChild(E('div', { 'class': 'cbi-page-actions control-group' }, [
saveApplyBtn, ' ',
this.handleSave ? E('button', {
'class': 'cbi-button cbi-button-save',
@@ -4249,7 +4860,7 @@
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/network.js.html b/docs/jsapi/network.js.html
index 4a306a23ad..07aca9adde 100644
--- a/docs/jsapi/network.js.html
+++ b/docs/jsapi/network.js.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -2064,47 +2672,52 @@ Network = L.Class.extend(/** @lends LuCI.Network.prototype */ {
* `false` if the given network could not be found.
*/
deleteNetwork: function(name) {
- var requireFirewall = Promise.resolve(L.require('firewall')).catch(function() {});
+ var requireFirewall = Promise.resolve(L.require('firewall')).catch(function() {}),
+ network = this.instantiateNetwork(name);
return Promise.all([ requireFirewall, initNetworkState() ]).then(function() {
var uciInterface = uci.get('network', name);
if (uciInterface != null &amp;&amp; uciInterface['.type'] == 'interface') {
- uci.remove('network', name);
+ return Promise.resolve(network ? network.deleteConfiguration() : null).then(function() {
+ uci.remove('network', name);
- uci.sections('luci', 'ifstate', function(s) {
- if (s.interface == name)
- uci.remove('luci', s['.name']);
- });
+ uci.sections('luci', 'ifstate', function(s) {
+ if (s.interface == name)
+ uci.remove('luci', s['.name']);
+ });
- uci.sections('network', 'alias', function(s) {
- if (s.interface == name)
- uci.remove('network', s['.name']);
- });
+ uci.sections('network', 'alias', function(s) {
+ if (s.interface == name)
+ uci.remove('network', s['.name']);
+ });
- uci.sections('network', 'route', function(s) {
- if (s.interface == name)
- uci.remove('network', s['.name']);
- });
+ uci.sections('network', 'route', function(s) {
+ if (s.interface == name)
+ uci.remove('network', s['.name']);
+ });
- uci.sections('network', 'route6', function(s) {
- if (s.interface == name)
- uci.remove('network', s['.name']);
- });
+ uci.sections('network', 'route6', function(s) {
+ if (s.interface == name)
+ uci.remove('network', s['.name']);
+ });
- uci.sections('wireless', 'wifi-iface', function(s) {
- var networks = L.toArray(s.network).filter(function(network) { return network != name });
+ uci.sections('wireless', 'wifi-iface', function(s) {
+ var networks = L.toArray(s.network).filter(function(network) { return network != name });
- if (networks.length > 0)
- uci.set('wireless', s['.name'], 'network', networks.join(' '));
- else
- uci.unset('wireless', s['.name'], 'network');
- });
+ if (networks.length > 0)
+ uci.set('wireless', s['.name'], 'network', networks.join(' '));
+ else
+ uci.unset('wireless', s['.name'], 'network');
+ });
- if (L.firewall)
- return L.firewall.deleteNetwork(name).then(function() { return true });
+ if (L.firewall)
+ return L.firewall.deleteNetwork(name).then(function() { return true });
- return true;
+ return true;
+ }).catch(function() {
+ return false;
+ });
}
return false;
@@ -3384,6 +3997,23 @@ Protocol = L.Class.extend(/** @lends LuCI.Network.Protocol.prototype */ {
},
/**
+ * Check function for the protocol handler if a new interface is createable.
+ *
+ * This function should be overwritten by protocol specific subclasses.
+ *
+ * @abstract
+ *
+ * @param {string} ifname
+ * The name of the interface to be created.
+ *
+ * @returns {Promise&lt;null|string>}
+ * Returns `null` if new interface is createable, else returns (error) message.
+ */
+ isCreateable: function(ifname) {
+ return Promise.resolve(null);
+ },
+
+ /**
* Checks whether the protocol functionality is installed.
*
* This function exists for compatibility with old code, it always
@@ -3724,7 +4354,26 @@ Protocol = L.Class.extend(/** @lends LuCI.Network.Protocol.prototype */ {
}
return false;
- }
+ },
+
+ /**
+ * Cleanup related configuration entries.
+ *
+ * This function will be invoked if an interface is about to be removed
+ * from the configuration and is responsible for performing any required
+ * cleanup tasks, such as unsetting uci entries in related configurations.
+ *
+ * It should be overwritten by protocol specific subclasses.
+ *
+ * @abstract
+ *
+ * @returns {*|Promise&lt;*>}
+ * This function may return a promise which is awaited before the rest of
+ * the configuration is removed. Any non-promise return value and any
+ * resolved promise value is ignored. If the returned promise is rejected,
+ * the interface removal will be aborted.
+ */
+ deleteConfiguration: function() {}
});
/**
@@ -5195,7 +5844,7 @@ return Network;
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/rpc.js.html b/docs/jsapi/rpc.js.html
index c9d239b0ef..983f091fba 100644
--- a/docs/jsapi/rpc.js.html
+++ b/docs/jsapi/rpc.js.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -1573,7 +2181,7 @@ return L.Class.extend(/** @lends LuCI.rpc.prototype */ {
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/uci.js.html b/docs/jsapi/uci.js.html
index 8a619eed19..1f320f98a0 100644
--- a/docs/jsapi/uci.js.html
+++ b/docs/jsapi/uci.js.html
@@ -498,6 +498,8 @@
<li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
<li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
<li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
@@ -556,6 +558,8 @@
<li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
<li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
<li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
@@ -1002,6 +1006,610 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
<li class="item" data-name="LuCI.view">
<span class="title">
<a href="LuCI.view.html">LuCI.view</a>
@@ -2039,7 +2647,7 @@ return L.Class.extend(/** @lends LuCI.uci.prototype */ {
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Feb 12 2020 11:56:59 GMT+0100 (Central European Standard Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/ui.js.html b/docs/jsapi/ui.js.html
new file mode 100644
index 0000000000..96b3006f09
--- /dev/null
+++ b/docs/jsapi/ui.js.html
@@ -0,0 +1,5994 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Source: ui.js</title>
+
+
+ <script src="scripts/prettify/prettify.js"></script>
+ <script src="scripts/prettify/lang-css.js"></script>
+ <script src="scripts/jquery.min.js"></script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
+ <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
+
+
+ <script>
+ var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
+ </script>
+
+
+
+</head>
+<body>
+<div id="wrap" class="clearfix">
+
+<div class="navigation">
+ <h3 class="applicationName"><a href="index.html"></a></h3>
+
+ <div class="search">
+ <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
+ </div>
+ <ul class="list">
+
+ <li class="item" data-name="LuCI">
+ <span class="title">
+ <a href="LuCI.html">LuCI</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
+
+ <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+
+ <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
+
+ <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
+
+ <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
+
+ <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
+
+ <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
+
+ <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
+
+ <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
+
+ <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
+
+ <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
+
+ <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
+
+ <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
+
+ <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
+
+ <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
+
+ <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
+
+ <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
+
+ <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
+
+ <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
+
+ <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Class">
+ <span class="title">
+ <a href="LuCI.Class.html">LuCI.Class</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
+
+ <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
+
+ <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
+
+ <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
+
+ <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
+
+ <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.dom">
+ <span class="title">
+ <a href="LuCI.dom.html">LuCI.dom</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
+
+ <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
+
+ <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
+
+ <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
+
+ <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
+
+ <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
+
+ <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
+
+ <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
+
+ <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
+
+ <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
+
+ <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
+
+ <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.fs">
+ <span class="title">
+ <a href="LuCI.fs.html">LuCI.fs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
+
+ <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
+
+ <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
+
+ <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
+
+ <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
+
+ <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
+
+ <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
+
+ <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
+
+ <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
+
+ <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
+
+ <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Headers">
+ <span class="title">
+ <a href="LuCI.Headers.html">LuCI.Headers</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
+
+ <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network">
+ <span class="title">
+ <a href="LuCI.Network.html">LuCI.Network</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
+
+ <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
+
+ <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
+
+ <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
+
+ <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
+
+ <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
+
+ <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
+
+ <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
+
+ <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
+
+ <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
+
+ <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
+
+ <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
+
+ <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network#getWifiNetworks"><a href="LuCI.Network.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
+
+ <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
+
+ <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
+
+ <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
+
+ <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
+
+ <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
+
+ <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Device">
+ <span class="title">
+ <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
+
+ <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
+
+ <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
+
+ <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
+
+ <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
+
+ <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
+
+ <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
+
+ <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
+
+ <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Hosts">
+ <span class="title">
+ <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.Protocol">
+ <span class="title">
+ <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteConfiguration"><a href="LuCI.Network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
+
+ <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
+
+ <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isCreateable"><a href="LuCI.Network.Protocol.html#isCreateable">isCreateable</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
+
+ <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiDevice">
+ <span class="title">
+ <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Network.WifiNetwork">
+ <span class="title">
+ <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Network.WifiNetwork#disconnectClient"><a href="LuCI.Network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.Network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
+
+ <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Poll">
+ <span class="title">
+ <a href="LuCI.Poll.html">LuCI.Poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request">
+ <span class="title">
+ <a href="LuCI.Request.html">LuCI.Request</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
+
+ <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
+
+ <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
+
+ <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Request.poll">
+ <span class="title">
+ <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
+
+ <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
+
+ <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
+
+ <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
+
+ <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.Response">
+ <span class="title">
+ <a href="LuCI.Response.html">LuCI.Response</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
+
+ <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
+
+ <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
+
+ <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
+
+ <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
+
+ <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.Response#blob"><a href="LuCI.Response.html#blob">blob</a></li>
+
+ <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
+
+ <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
+
+ <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.rpc">
+ <span class="title">
+ <a href="LuCI.rpc.html">LuCI.rpc</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
+
+ <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
+
+ <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
+
+ <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
+
+ <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
+
+ <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
+
+ <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
+
+ <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
+
+ <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
+
+ <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.uci">
+ <span class="title">
+ <a href="LuCI.uci.html">LuCI.uci</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
+
+ <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
+
+ <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
+
+ <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
+
+ <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
+
+ <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
+
+ <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
+
+ <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
+
+ <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
+
+ <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
+
+ <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
+
+ <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
+
+ <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
+
+ <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
+
+ <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
+
+ <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
+
+ <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
+
+ <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
+
+ <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui">
+ <span class="title">
+ <a href="LuCI.ui.html">LuCI.ui</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
+
+ <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
+
+ <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
+
+ <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
+
+ <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
+
+ <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
+
+ <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
+
+ <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
+
+ <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
+
+ <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
+
+ <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.AbstractElement">
+ <span class="title">
+ <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.changes">
+ <span class="title">
+ <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
+
+ <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
+
+ <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
+
+ <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
+
+ <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Checkbox">
+ <span class="title">
+ <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Combobox">
+ <span class="title">
+ <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.ComboButton">
+ <span class="title">
+ <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Dropdown">
+ <span class="title">
+ <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.DynamicList">
+ <span class="title">
+ <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.FileUpload">
+ <span class="title">
+ <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Hiddenfield">
+ <span class="title">
+ <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Select">
+ <span class="title">
+ <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.tabs">
+ <span class="title">
+ <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
+
+ <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textarea">
+ <span class="title">
+ <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.ui.Textfield">
+ <span class="title">
+ <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
+
+ <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
+
+ <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
+
+ <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.view">
+ <span class="title">
+ <a href="LuCI.view.html">LuCI.view</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
+
+ <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
+
+ <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
+
+ <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
+
+ <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
+
+ <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ <li class="item" data-name="LuCI.XHR">
+ <span class="title">
+ <a href="LuCI.XHR.html">LuCI.XHR</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
+
+ <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
+
+ <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
+
+ <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
+
+ <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
+
+ <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
+
+ </ul>
+ <ul class="events itemMembers">
+
+ </ul>
+ </li>
+
+ </ul>
+</div>
+ <div class="main">
+ <h1 class="page-title" data-filename="ui.js.html">Source: ui.js</h1>
+
+
+
+
+ <section>
+ <article>
+ <pre id="source-code" class="prettyprint source "><code>'use strict';
+'require rpc';
+'require uci';
+'require validation';
+'require fs';
+
+var modalDiv = null,
+ tooltipDiv = null,
+ indicatorDiv = null,
+ tooltipTimeout = null;
+
+/**
+ * @class AbstractElement
+ * @memberof LuCI.ui
+ * @hideconstructor
+ * @classdesc
+ *
+ * The `AbstractElement` class serves as abstract base for the different widgets
+ * implemented by `LuCI.ui`. It provides the common logic for getting and
+ * setting values, for checking the validity state and for wiring up required
+ * events.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.AbstractElement`. To import
+ * it in external JavaScript, use `L.require("ui").then(...)` and access the
+ * `AbstractElement` property of the class instance value.
+ */
+var UIElement = L.Class.extend(/** @lends LuCI.ui.AbstractElement.prototype */ {
+ /**
+ * @typedef {Object} InitOptions
+ * @memberof LuCI.ui.AbstractElement
+ *
+ * @property {string} [id]
+ * Specifies the widget ID to use. It will be used as HTML `id` attribute
+ * on the toplevel widget DOM node.
+ *
+ * @property {string} [name]
+ * Specifies the widget name which is set as HTML `name` attribute on the
+ * corresponding `&lt;input>` element.
+ *
+ * @property {boolean} [optional=true]
+ * Specifies whether the input field allows empty values.
+ *
+ * @property {string} [datatype=string]
+ * An expression describing the input data validation constraints.
+ * It defaults to `string` which will allow any value.
+ * See{@link LuCI.validation} for details on the expression format.
+ *
+ * @property {function} [validator]
+ * Specifies a custom validator function which is invoked after the
+ * standard validation constraints are checked. The function should return
+ * `true` to accept the given input value. Any other return value type is
+ * converted to a string and treated as validation error message.
+ */
+
+ /**
+ * Read the current value of the input widget.
+ *
+ * @instance
+ * @memberof LuCI.ui.AbstractElement
+ * @returns {string|string[]|null}
+ * The current value of the input element. For simple inputs like text
+ * fields or selects, the return value type will be a - possibly empty -
+ * string. Complex widgets such as `DynamicList` instances may result in
+ * an array of strings or `null` for unset values.
+ */
+ getValue: function() {
+ if (L.dom.matches(this.node, 'select') || L.dom.matches(this.node, 'input'))
+ return this.node.value;
+
+ return null;
+ },
+
+ /**
+ * Set the current value of the input widget.
+ *
+ * @instance
+ * @memberof LuCI.ui.AbstractElement
+ * @param {string|string[]|null} value
+ * The value to set the input element to. For simple inputs like text
+ * fields or selects, the value should be a - possibly empty - string.
+ * Complex widgets such as `DynamicList` instances may accept string array
+ * or `null` values.
+ */
+ setValue: function(value) {
+ if (L.dom.matches(this.node, 'select') || L.dom.matches(this.node, 'input'))
+ this.node.value = value;
+ },
+
+ /**
+ * Check whether the current input value is valid.
+ *
+ * @instance
+ * @memberof LuCI.ui.AbstractElement
+ * @returns {boolean}
+ * Returns `true` if the current input value is valid or `false` if it does
+ * not meet the validation constraints.
+ */
+ isValid: function() {
+ return (this.validState !== false);
+ },
+
+ /**
+ * Force validation of the current input value.
+ *
+ * Usually input validation is automatically triggered by various DOM events
+ * bound to the input widget. In some cases it is required though to manually
+ * trigger validation runs, e.g. when programmatically altering values.
+ *
+ * @instance
+ * @memberof LuCI.ui.AbstractElement
+ */
+ triggerValidation: function() {
+ if (typeof(this.vfunc) != 'function')
+ return false;
+
+ var wasValid = this.isValid();
+
+ this.vfunc();
+
+ return (wasValid != this.isValid());
+ },
+
+ /**
+ * Dispatch a custom (synthetic) event in response to received events.
+ *
+ * Sets up event handlers on the given target DOM node for the given event
+ * names that dispatch a custom event of the given type to the widget root
+ * DOM node.
+ *
+ * The primary purpose of this function is to set up a series of custom
+ * uniform standard events such as `widget-update`, `validation-success`,
+ * `validation-failure` etc. which are triggered by various different
+ * widget specific native DOM events.
+ *
+ * @instance
+ * @memberof LuCI.ui.AbstractElement
+ * @param {Node} targetNode
+ * Specifies the DOM node on which the native event listeners should be
+ * registered.
+ *
+ * @param {string} synevent
+ * The name of the custom event to dispatch to the widget root DOM node.
+ *
+ * @param {string[]} events
+ * The native DOM events for which event handlers should be registered.
+ */
+ registerEvents: function(targetNode, synevent, events) {
+ var dispatchFn = L.bind(function(ev) {
+ this.node.dispatchEvent(new CustomEvent(synevent, { bubbles: true }));
+ }, this);
+
+ for (var i = 0; i &lt; events.length; i++)
+ targetNode.addEventListener(events[i], dispatchFn);
+ },
+
+ /**
+ * Setup listeners for native DOM events that may update the widget value.
+ *
+ * Sets up event handlers on the given target DOM node for the given event
+ * names which may cause the input value to update, such as `keyup` or
+ * `onclick` events. In contrast to change events, such update events will
+ * trigger input value validation.
+ *
+ * @instance
+ * @memberof LuCI.ui.AbstractElement
+ * @param {Node} targetNode
+ * Specifies the DOM node on which the event listeners should be registered.
+ *
+ * @param {...string} events
+ * The DOM events for which event handlers should be registered.
+ */
+ setUpdateEvents: function(targetNode /*, ... */) {
+ var datatype = this.options.datatype,
+ optional = this.options.hasOwnProperty('optional') ? this.options.optional : true,
+ validate = this.options.validate,
+ events = this.varargs(arguments, 1);
+
+ this.registerEvents(targetNode, 'widget-update', events);
+
+ if (!datatype &amp;&amp; !validate)
+ return;
+
+ this.vfunc = L.ui.addValidator.apply(L.ui, [
+ targetNode, datatype || 'string',
+ optional, validate
+ ].concat(events));
+
+ this.node.addEventListener('validation-success', L.bind(function(ev) {
+ this.validState = true;
+ }, this));
+
+ this.node.addEventListener('validation-failure', L.bind(function(ev) {
+ this.validState = false;
+ }, this));
+ },
+
+ /**
+ * Setup listeners for native DOM events that may change the widget value.
+ *
+ * Sets up event handlers on the given target DOM node for the given event
+ * names which may cause the input value to change completely, such as
+ * `change` events in a select menu. In contrast to update events, such
+ * change events will not trigger input value validation but they may cause
+ * field dependencies to get re-evaluated and will mark the input widget
+ * as dirty.
+ *
+ * @instance
+ * @memberof LuCI.ui.AbstractElement
+ * @param {Node} targetNode
+ * Specifies the DOM node on which the event listeners should be registered.
+ *
+ * @param {...string} events
+ * The DOM events for which event handlers should be registered.
+ */
+ setChangeEvents: function(targetNode /*, ... */) {
+ var tag_changed = L.bind(function(ev) { this.setAttribute('data-changed', true) }, this.node);
+
+ for (var i = 1; i &lt; arguments.length; i++)
+ targetNode.addEventListener(arguments[i], tag_changed);
+
+ this.registerEvents(targetNode, 'widget-change', this.varargs(arguments, 1));
+ },
+
+ /**
+ * Render the widget, setup event listeners and return resulting markup.
+ *
+ * @instance
+ * @memberof LuCI.ui.AbstractElement
+ *
+ * @returns {Node}
+ * Returns a DOM Node or DocumentFragment containing the rendered
+ * widget markup.
+ */
+ render: function() {}
+});
+
+/**
+ * Instantiate a text input widget.
+ *
+ * @constructor Textfield
+ * @memberof LuCI.ui
+ * @augments LuCI.ui.AbstractElement
+ *
+ * @classdesc
+ *
+ * The `Textfield` class implements a standard single line text input field.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.Textfield`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `Textfield` property of the class instance value.
+ *
+ * @param {string} [value=null]
+ * The initial input value.
+ *
+ * @param {LuCI.ui.Textfield.InitOptions} [options]
+ * Object describing the widget specific options to initialize the input.
+ */
+var UITextfield = UIElement.extend(/** @lends LuCI.ui.Textfield.prototype */ {
+ /**
+ * In addition to the [AbstractElement.InitOptions]{@link LuCI.ui.AbstractElement.InitOptions}
+ * the following properties are recognized:
+ *
+ * @typedef {LuCI.ui.AbstractElement.InitOptions} InitOptions
+ * @memberof LuCI.ui.Textfield
+ *
+ * @property {boolean} [password=false]
+ * Specifies whether the input should be rendered as concealed password field.
+ *
+ * @property {boolean} [readonly=false]
+ * Specifies whether the input widget should be rendered readonly.
+ *
+ * @property {number} [maxlength]
+ * Specifies the HTML `maxlength` attribute to set on the corresponding
+ * `&lt;input>` element. Note that this a legacy property that exists for
+ * compatibility reasons. It is usually better to `maxlength(N)` validation
+ * expression.
+ *
+ * @property {string} [placeholder]
+ * Specifies the HTML `placeholder` attribute which is displayed when the
+ * corresponding `&lt;input>` element is empty.
+ */
+ __init__: function(value, options) {
+ this.value = value;
+ this.options = Object.assign({
+ optional: true,
+ password: false
+ }, options);
+ },
+
+ /** @override */
+ render: function() {
+ var frameEl = E('div', { 'id': this.options.id });
+
+ if (this.options.password) {
+ frameEl.classList.add('nowrap');
+ frameEl.appendChild(E('input', {
+ 'type': 'password',
+ 'style': 'position:absolute; left:-100000px',
+ 'aria-hidden': true,
+ 'tabindex': -1,
+ 'name': this.options.name ? 'password.%s'.format(this.options.name) : null
+ }));
+ }
+
+ frameEl.appendChild(E('input', {
+ 'id': this.options.id ? 'widget.' + this.options.id : null,
+ 'name': this.options.name,
+ 'type': this.options.password ? 'password' : 'text',
+ 'class': this.options.password ? 'cbi-input-password' : 'cbi-input-text',
+ 'readonly': this.options.readonly ? '' : null,
+ 'maxlength': this.options.maxlength,
+ 'placeholder': this.options.placeholder,
+ 'value': this.value,
+ }));
+
+ if (this.options.password)
+ frameEl.appendChild(E('button', {
+ 'class': 'cbi-button cbi-button-neutral',
+ 'title': _('Reveal/hide password'),
+ 'aria-label': _('Reveal/hide password'),
+ 'click': function(ev) {
+ var e = this.previousElementSibling;
+ e.type = (e.type === 'password') ? 'text' : 'password';
+ ev.preventDefault();
+ }
+ }, '∗'));
+
+ return this.bind(frameEl);
+ },
+
+ /** @private */
+ bind: function(frameEl) {
+ var inputEl = frameEl.childNodes[+!!this.options.password];
+
+ this.node = frameEl;
+
+ this.setUpdateEvents(inputEl, 'keyup', 'blur');
+ this.setChangeEvents(inputEl, 'change');
+
+ L.dom.bindClassInstance(frameEl, this);
+
+ return frameEl;
+ },
+
+ /** @override */
+ getValue: function() {
+ var inputEl = this.node.childNodes[+!!this.options.password];
+ return inputEl.value;
+ },
+
+ /** @override */
+ setValue: function(value) {
+ var inputEl = this.node.childNodes[+!!this.options.password];
+ inputEl.value = value;
+ }
+});
+
+/**
+ * Instantiate a textarea widget.
+ *
+ * @constructor Textarea
+ * @memberof LuCI.ui
+ * @augments LuCI.ui.AbstractElement
+ *
+ * @classdesc
+ *
+ * The `Textarea` class implements a multiline text area input field.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.Textarea`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `Textarea` property of the class instance value.
+ *
+ * @param {string} [value=null]
+ * The initial input value.
+ *
+ * @param {LuCI.ui.Textarea.InitOptions} [options]
+ * Object describing the widget specific options to initialize the input.
+ */
+var UITextarea = UIElement.extend(/** @lends LuCI.ui.Textarea.prototype */ {
+ /**
+ * In addition to the [AbstractElement.InitOptions]{@link LuCI.ui.AbstractElement.InitOptions}
+ * the following properties are recognized:
+ *
+ * @typedef {LuCI.ui.AbstractElement.InitOptions} InitOptions
+ * @memberof LuCI.ui.Textarea
+ *
+ * @property {boolean} [readonly=false]
+ * Specifies whether the input widget should be rendered readonly.
+ *
+ * @property {string} [placeholder]
+ * Specifies the HTML `placeholder` attribute which is displayed when the
+ * corresponding `&lt;textarea>` element is empty.
+ *
+ * @property {boolean} [monospace=false]
+ * Specifies whether a monospace font should be forced for the textarea
+ * contents.
+ *
+ * @property {number} [cols]
+ * Specifies the HTML `cols` attribute to set on the corresponding
+ * `&lt;textarea>` element.
+ *
+ * @property {number} [rows]
+ * Specifies the HTML `rows` attribute to set on the corresponding
+ * `&lt;textarea>` element.
+ *
+ * @property {boolean} [wrap=false]
+ * Specifies whether the HTML `wrap` attribute should be set.
+ */
+ __init__: function(value, options) {
+ this.value = value;
+ this.options = Object.assign({
+ optional: true,
+ wrap: false,
+ cols: null,
+ rows: null
+ }, options);
+ },
+
+ /** @override */
+ render: function() {
+ var frameEl = E('div', { 'id': this.options.id }),
+ value = (this.value != null) ? String(this.value) : '';
+
+ frameEl.appendChild(E('textarea', {
+ 'id': this.options.id ? 'widget.' + this.options.id : null,
+ 'name': this.options.name,
+ 'class': 'cbi-input-textarea',
+ 'readonly': this.options.readonly ? '' : null,
+ 'placeholder': this.options.placeholder,
+ 'style': !this.options.cols ? 'width:100%' : null,
+ 'cols': this.options.cols,
+ 'rows': this.options.rows,
+ 'wrap': this.options.wrap ? '' : null
+ }, [ value ]));
+
+ if (this.options.monospace)
+ frameEl.firstElementChild.style.fontFamily = 'monospace';
+
+ return this.bind(frameEl);
+ },
+
+ /** @private */
+ bind: function(frameEl) {
+ var inputEl = frameEl.firstElementChild;
+
+ this.node = frameEl;
+
+ this.setUpdateEvents(inputEl, 'keyup', 'blur');
+ this.setChangeEvents(inputEl, 'change');
+
+ L.dom.bindClassInstance(frameEl, this);
+
+ return frameEl;
+ },
+
+ /** @override */
+ getValue: function() {
+ return this.node.firstElementChild.value;
+ },
+
+ /** @override */
+ setValue: function(value) {
+ this.node.firstElementChild.value = value;
+ }
+});
+
+/**
+ * Instantiate a checkbox widget.
+ *
+ * @constructor Checkbox
+ * @memberof LuCI.ui
+ * @augments LuCI.ui.AbstractElement
+ *
+ * @classdesc
+ *
+ * The `Checkbox` class implements a simple checkbox input field.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.Checkbox`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `Checkbox` property of the class instance value.
+ *
+ * @param {string} [value=null]
+ * The initial input value.
+ *
+ * @param {LuCI.ui.Checkbox.InitOptions} [options]
+ * Object describing the widget specific options to initialize the input.
+ */
+var UICheckbox = UIElement.extend(/** @lends LuCI.ui.Checkbox.prototype */ {
+ /**
+ * In addition to the [AbstractElement.InitOptions]{@link LuCI.ui.AbstractElement.InitOptions}
+ * the following properties are recognized:
+ *
+ * @typedef {LuCI.ui.AbstractElement.InitOptions} InitOptions
+ * @memberof LuCI.ui.Checkbox
+ *
+ * @property {string} [value_enabled=1]
+ * Specifies the value corresponding to a checked checkbox.
+ *
+ * @property {string} [value_disabled=0]
+ * Specifies the value corresponding to an unchecked checkbox.
+ *
+ * @property {string} [hiddenname]
+ * Specifies the HTML `name` attribute of the hidden input backing the
+ * checkbox. This is a legacy property existing for compatibility reasons,
+ * it is required for HTML based form submissions.
+ */
+ __init__: function(value, options) {
+ this.value = value;
+ this.options = Object.assign({
+ value_enabled: '1',
+ value_disabled: '0'
+ }, options);
+ },
+
+ /** @override */
+ render: function() {
+ var id = 'cb%08x'.format(Math.random() * 0xffffffff);
+ var frameEl = E('div', {
+ 'id': this.options.id,
+ 'class': 'cbi-checkbox'
+ });
+
+ if (this.options.hiddenname)
+ frameEl.appendChild(E('input', {
+ 'type': 'hidden',
+ 'name': this.options.hiddenname,
+ 'value': 1
+ }));
+
+ frameEl.appendChild(E('input', {
+ 'id': id,
+ 'name': this.options.name,
+ 'type': 'checkbox',
+ 'value': this.options.value_enabled,
+ 'checked': (this.value == this.options.value_enabled) ? '' : null,
+ 'data-widget-id': this.options.id ? 'widget.' + this.options.id : null
+ }));
+
+ frameEl.appendChild(E('label', { 'for': id }));
+
+ return this.bind(frameEl);
+ },
+
+ /** @private */
+ bind: function(frameEl) {
+ this.node = frameEl;
+
+ this.setUpdateEvents(frameEl.lastElementChild.previousElementSibling, 'click', 'blur');
+ this.setChangeEvents(frameEl.lastElementChild.previousElementSibling, 'change');
+
+ L.dom.bindClassInstance(frameEl, this);
+
+ return frameEl;
+ },
+
+ /**
+ * Test whether the checkbox is currently checked.
+ *
+ * @instance
+ * @memberof LuCI.ui.Checkbox
+ * @returns {boolean}
+ * Returns `true` when the checkbox is currently checked, otherwise `false`.
+ */
+ isChecked: function() {
+ return this.node.lastElementChild.previousElementSibling.checked;
+ },
+
+ /** @override */
+ getValue: function() {
+ return this.isChecked()
+ ? this.options.value_enabled
+ : this.options.value_disabled;
+ },
+
+ /** @override */
+ setValue: function(value) {
+ this.node.lastElementChild.previousElementSibling.checked = (value == this.options.value_enabled);
+ }
+});
+
+/**
+ * Instantiate a select dropdown or checkbox/radiobutton group.
+ *
+ * @constructor Select
+ * @memberof LuCI.ui
+ * @augments LuCI.ui.AbstractElement
+ *
+ * @classdesc
+ *
+ * The `Select` class implements either a traditional HTML `&lt;select>` element
+ * or a group of checkboxes or radio buttons, depending on whether multiple
+ * values are enabled or not.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.Select`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `Select` property of the class instance value.
+ *
+ * @param {string|string[]} [value=null]
+ * The initial input value(s).
+ *
+ * @param {Object&lt;string, string>} choices
+ * Object containing the selectable choices of the widget. The object keys
+ * serve as values for the different choices while the values are used as
+ * choice labels.
+ *
+ * @param {LuCI.ui.Select.InitOptions} [options]
+ * Object describing the widget specific options to initialize the inputs.
+ */
+var UISelect = UIElement.extend(/** @lends LuCI.ui.Select.prototype */ {
+ /**
+ * In addition to the [AbstractElement.InitOptions]{@link LuCI.ui.AbstractElement.InitOptions}
+ * the following properties are recognized:
+ *
+ * @typedef {LuCI.ui.AbstractElement.InitOptions} InitOptions
+ * @memberof LuCI.ui.Select
+ *
+ * @property {boolean} [multiple=false]
+ * Specifies whether multiple choice values may be selected.
+ *
+ * @property {string} [widget=select]
+ * Specifies the kind of widget to render. May be either `select` or
+ * `individual`. When set to `select` an HTML `&lt;select>` element will be
+ * used, otherwise a group of checkbox or radio button elements is created,
+ * depending on the value of the `multiple` option.
+ *
+ * @property {string} [orientation=horizontal]
+ * Specifies whether checkbox / radio button groups should be rendered
+ * in a `horizontal` or `vertical` manner. Does not apply to the `select`
+ * widget type.
+ *
+ * @property {boolean|string[]} [sort=false]
+ * Specifies if and how to sort choice values. If set to `true`, the choice
+ * values will be sorted alphabetically. If set to an array of strings, the
+ * choice sort order is derived from the array.
+ *
+ * @property {number} [size]
+ * Specifies the HTML `size` attribute to set on the `&lt;select>` element.
+ * Only applicable to the `select` widget type.
+ *
+ * @property {string} [placeholder=-- Please choose --]
+ * Specifies a placeholder text which is displayed when no choice is
+ * selected yet. Only applicable to the `select` widget type.
+ */
+ __init__: function(value, choices, options) {
+ if (!L.isObject(choices))
+ choices = {};
+
+ if (!Array.isArray(value))
+ value = (value != null &amp;&amp; value != '') ? [ value ] : [];
+
+ if (!options.multiple &amp;&amp; value.length > 1)
+ value.length = 1;
+
+ this.values = value;
+ this.choices = choices;
+ this.options = Object.assign({
+ multiple: false,
+ widget: 'select',
+ orientation: 'horizontal'
+ }, options);
+
+ if (this.choices.hasOwnProperty(''))
+ this.options.optional = true;
+ },
+
+ /** @override */
+ render: function() {
+ var frameEl = E('div', { 'id': this.options.id }),
+ keys = Object.keys(this.choices);
+
+ if (this.options.sort === true)
+ keys.sort();
+ else if (Array.isArray(this.options.sort))
+ keys = this.options.sort;
+
+ if (this.options.widget == 'select') {
+ frameEl.appendChild(E('select', {
+ 'id': this.options.id ? 'widget.' + this.options.id : null,
+ 'name': this.options.name,
+ 'size': this.options.size,
+ 'class': 'cbi-input-select',
+ 'multiple': this.options.multiple ? '' : null
+ }));
+
+ if (this.options.optional)
+ frameEl.lastChild.appendChild(E('option', {
+ 'value': '',
+ 'selected': (this.values.length == 0 || this.values[0] == '') ? '' : null
+ }, [ this.choices[''] || this.options.placeholder || _('-- Please choose --') ]));
+
+ for (var i = 0; i &lt; keys.length; i++) {
+ if (keys[i] == null || keys[i] == '')
+ continue;
+
+ frameEl.lastChild.appendChild(E('option', {
+ 'value': keys[i],
+ 'selected': (this.values.indexOf(keys[i]) > -1) ? '' : null
+ }, [ this.choices[keys[i]] || keys[i] ]));
+ }
+ }
+ else {
+ var brEl = (this.options.orientation === 'horizontal') ? document.createTextNode(' ') : E('br');
+
+ for (var i = 0; i &lt; keys.length; i++) {
+ frameEl.appendChild(E('label', {}, [
+ E('input', {
+ 'id': this.options.id ? 'widget.' + this.options.id : null,
+ 'name': this.options.id || this.options.name,
+ 'type': this.options.multiple ? 'checkbox' : 'radio',
+ 'class': this.options.multiple ? 'cbi-input-checkbox' : 'cbi-input-radio',
+ 'value': keys[i],
+ 'checked': (this.values.indexOf(keys[i]) > -1) ? '' : null
+ }),
+ this.choices[keys[i]] || keys[i]
+ ]));
+
+ if (i + 1 == this.options.size)
+ frameEl.appendChild(brEl);
+ }
+ }
+
+ return this.bind(frameEl);
+ },
+
+ /** @private */
+ bind: function(frameEl) {
+ this.node = frameEl;
+
+ if (this.options.widget == 'select') {
+ this.setUpdateEvents(frameEl.firstChild, 'change', 'click', 'blur');
+ this.setChangeEvents(frameEl.firstChild, 'change');
+ }
+ else {
+ var radioEls = frameEl.querySelectorAll('input[type="radio"]');
+ for (var i = 0; i &lt; radioEls.length; i++) {
+ this.setUpdateEvents(radioEls[i], 'change', 'click', 'blur');
+ this.setChangeEvents(radioEls[i], 'change', 'click', 'blur');
+ }
+ }
+
+ L.dom.bindClassInstance(frameEl, this);
+
+ return frameEl;
+ },
+
+ /** @override */
+ getValue: function() {
+ if (this.options.widget == 'select')
+ return this.node.firstChild.value;
+
+ var radioEls = frameEl.querySelectorAll('input[type="radio"]');
+ for (var i = 0; i &lt; radioEls.length; i++)
+ if (radioEls[i].checked)
+ return radioEls[i].value;
+
+ return null;
+ },
+
+ /** @override */
+ setValue: function(value) {
+ if (this.options.widget == 'select') {
+ if (value == null)
+ value = '';
+
+ for (var i = 0; i &lt; this.node.firstChild.options.length; i++)
+ this.node.firstChild.options[i].selected = (this.node.firstChild.options[i].value == value);
+
+ return;
+ }
+
+ var radioEls = frameEl.querySelectorAll('input[type="radio"]');
+ for (var i = 0; i &lt; radioEls.length; i++)
+ radioEls[i].checked = (radioEls[i].value == value);
+ }
+});
+
+/**
+ * Instantiate a rich dropdown choice widget.
+ *
+ * @constructor Dropdown
+ * @memberof LuCI.ui
+ * @augments LuCI.ui.AbstractElement
+ *
+ * @classdesc
+ *
+ * The `Dropdown` class implements a rich, stylable dropdown menu which
+ * supports non-text choice labels.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.Dropdown`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `Dropdown` property of the class instance value.
+ *
+ * @param {string|string[]} [value=null]
+ * The initial input value(s).
+ *
+ * @param {Object&lt;string, *>} choices
+ * Object containing the selectable choices of the widget. The object keys
+ * serve as values for the different choices while the values are used as
+ * choice labels.
+ *
+ * @param {LuCI.ui.Dropdown.InitOptions} [options]
+ * Object describing the widget specific options to initialize the dropdown.
+ */
+var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ {
+ /**
+ * In addition to the [AbstractElement.InitOptions]{@link LuCI.ui.AbstractElement.InitOptions}
+ * the following properties are recognized:
+ *
+ * @typedef {LuCI.ui.AbstractElement.InitOptions} InitOptions
+ * @memberof LuCI.ui.Dropdown
+ *
+ * @property {boolean} [optional=true]
+ * Specifies whether the dropdown selection is optional. In contrast to
+ * other widgets, the `optional` constraint of dropdowns works differently;
+ * instead of marking the widget invalid on empty values when set to `false`,
+ * the user is not allowed to deselect all choices.
+ *
+ * For single value dropdowns that means that no empty "please select"
+ * choice is offered and for multi value dropdowns, the last selected choice
+ * may not be deselected without selecting another choice first.
+ *
+ * @property {boolean} [multiple]
+ * Specifies whether multiple choice values may be selected. It defaults
+ * to `true` when an array is passed as input value to the constructor.
+ *
+ * @property {boolean|string[]} [sort=false]
+ * Specifies if and how to sort choice values. If set to `true`, the choice
+ * values will be sorted alphabetically. If set to an array of strings, the
+ * choice sort order is derived from the array.
+ *
+ * @property {string} [select_placeholder=-- Please choose --]
+ * Specifies a placeholder text which is displayed when no choice is
+ * selected yet.
+ *
+ * @property {string} [custom_placeholder=-- custom --]
+ * Specifies a placeholder text which is displayed in the text input
+ * field allowing to enter custom choice values. Only applicable if the
+ * `create` option is set to `true`.
+ *
+ * @property {boolean} [create=false]
+ * Specifies whether custom choices may be entered into the dropdown
+ * widget.
+ *
+ * @property {string} [create_query=.create-item-input]
+ * Specifies a CSS selector expression used to find the input element
+ * which is used to enter custom choice values. This should not normally
+ * be used except by widgets derived from the Dropdown class.
+ *
+ * @property {string} [create_template=script[type="item-template"]]
+ * Specifies a CSS selector expression used to find an HTML element
+ * serving as template for newly added custom choice values.
+ *
+ * Any `{{value}}` placeholder string within the template elements text
+ * content will be replaced by the user supplied choice value, the
+ * resulting string is parsed as HTML and appended to the end of the
+ * choice list. The template markup may specify one HTML element with a
+ * `data-label-placeholder` attribute which is replaced by a matching
+ * label value from the `choices` object or with the user supplied value
+ * itself in case `choices` contains no matching choice label.
+ *
+ * If the template element is not found or if no `create_template` selector
+ * expression is specified, the default markup for newly created elements is
+ * `&lt;li data-value="{{value}}">&lt;span data-label-placeholder="true" />&lt;/li>`.
+ *
+ * @property {string} [create_markup]
+ * This property allows specifying the markup for custom choices directly
+ * instead of referring to a template element through CSS selectors.
+ *
+ * Apart from that it works exactly like `create_template`.
+ *
+ * @property {number} [display_items=3]
+ * Specifies the maximum amount of choice labels that should be shown in
+ * collapsed dropdown state before further selected choices are cut off.
+ *
+ * Only applicable when `multiple` is `true`.
+ *
+ * @property {number} [dropdown_items=-1]
+ * Specifies the maximum amount of choices that should be shown when the
+ * dropdown is open. If the amount of available choices exceeds this number,
+ * the dropdown area must be scrolled to reach further items.
+ *
+ * If set to `-1`, the dropdown menu will attempt to show all choice values
+ * and only resort to scrolling if the amount of choices exceeds the available
+ * screen space above and below the dropdown widget.
+ *
+ * @property {string} [placeholder]
+ * This property serves as a shortcut to set both `select_placeholder` and
+ * `custom_placeholder`. Either of these properties will fallback to
+ * `placeholder` if not specified.
+ *
+ * @property {boolean} [readonly=false]
+ * Specifies whether the custom choice input field should be rendered
+ * readonly. Only applicable when `create` is `true`.
+ *
+ * @property {number} [maxlength]
+ * Specifies the HTML `maxlength` attribute to set on the custom choice
+ * `&lt;input>` element. Note that this a legacy property that exists for
+ * compatibility reasons. It is usually better to `maxlength(N)` validation
+ * expression. Only applicable when `create` is `true`.
+ */
+ __init__: function(value, choices, options) {
+ if (typeof(choices) != 'object')
+ choices = {};
+
+ if (!Array.isArray(value))
+ this.values = (value != null &amp;&amp; value != '') ? [ value ] : [];
+ else
+ this.values = value;
+
+ this.choices = choices;
+ this.options = Object.assign({
+ sort: true,
+ multiple: Array.isArray(value),
+ optional: true,
+ select_placeholder: _('-- Please choose --'),
+ custom_placeholder: _('-- custom --'),
+ display_items: 3,
+ dropdown_items: -1,
+ create: false,
+ create_query: '.create-item-input',
+ create_template: 'script[type="item-template"]'
+ }, options);
+ },
+
+ /** @override */
+ render: function() {
+ var sb = E('div', {
+ 'id': this.options.id,
+ 'class': 'cbi-dropdown',
+ 'multiple': this.options.multiple ? '' : null,
+ 'optional': this.options.optional ? '' : null,
+ }, E('ul'));
+
+ var keys = Object.keys(this.choices);
+
+ if (this.options.sort === true)
+ keys.sort();
+ else if (Array.isArray(this.options.sort))
+ keys = this.options.sort;
+
+ if (this.options.create)
+ for (var i = 0; i &lt; this.values.length; i++)
+ if (!this.choices.hasOwnProperty(this.values[i]))
+ keys.push(this.values[i]);
+
+ for (var i = 0; i &lt; keys.length; i++) {
+ var label = this.choices[keys[i]];
+
+ if (L.dom.elem(label))
+ label = label.cloneNode(true);
+
+ sb.lastElementChild.appendChild(E('li', {
+ 'data-value': keys[i],
+ 'selected': (this.values.indexOf(keys[i]) > -1) ? '' : null
+ }, [ label || keys[i] ]));
+ }
+
+ if (this.options.create) {
+ var createEl = E('input', {
+ 'type': 'text',
+ 'class': 'create-item-input',
+ 'readonly': this.options.readonly ? '' : null,
+ 'maxlength': this.options.maxlength,
+ 'placeholder': this.options.custom_placeholder || this.options.placeholder
+ });
+
+ if (this.options.datatype || this.options.validate)
+ L.ui.addValidator(createEl, this.options.datatype || 'string',
+ true, this.options.validate, 'blur', 'keyup');
+
+ sb.lastElementChild.appendChild(E('li', { 'data-value': '-' }, createEl));
+ }
+
+ if (this.options.create_markup)
+ sb.appendChild(E('script', { type: 'item-template' },
+ this.options.create_markup));
+
+ return this.bind(sb);
+ },
+
+ /** @private */
+ bind: function(sb) {
+ var o = this.options;
+
+ o.multiple = sb.hasAttribute('multiple');
+ o.optional = sb.hasAttribute('optional');
+ o.placeholder = sb.getAttribute('placeholder') || o.placeholder;
+ o.display_items = parseInt(sb.getAttribute('display-items') || o.display_items);
+ o.dropdown_items = parseInt(sb.getAttribute('dropdown-items') || o.dropdown_items);
+ o.create_query = sb.getAttribute('item-create') || o.create_query;
+ o.create_template = sb.getAttribute('item-template') || o.create_template;
+
+ var ul = sb.querySelector('ul'),
+ more = sb.appendChild(E('span', { class: 'more', tabindex: -1 }, '···')),
+ open = sb.appendChild(E('span', { class: 'open', tabindex: -1 }, '▾')),
+ canary = sb.appendChild(E('div')),
+ create = sb.querySelector(this.options.create_query),
+ ndisplay = this.options.display_items,
+ n = 0;
+
+ if (this.options.multiple) {
+ var items = ul.querySelectorAll('li');
+
+ for (var i = 0; i &lt; items.length; i++) {
+ this.transformItem(sb, items[i]);
+
+ if (items[i].hasAttribute('selected') &amp;&amp; ndisplay-- > 0)
+ items[i].setAttribute('display', n++);
+ }
+ }
+ else {
+ if (this.options.optional &amp;&amp; !ul.querySelector('li[data-value=""]')) {
+ var placeholder = E('li', { placeholder: '' },
+ this.options.select_placeholder || this.options.placeholder);
+
+ ul.firstChild
+ ? ul.insertBefore(placeholder, ul.firstChild)
+ : ul.appendChild(placeholder);
+ }
+
+ var items = ul.querySelectorAll('li'),
+ sel = sb.querySelectorAll('[selected]');
+
+ sel.forEach(function(s) {
+ s.removeAttribute('selected');
+ });
+
+ var s = sel[0] || items[0];
+ if (s) {
+ s.setAttribute('selected', '');
+ s.setAttribute('display', n++);
+ }
+
+ ndisplay--;
+ }
+
+ this.saveValues(sb, ul);
+
+ ul.setAttribute('tabindex', -1);
+ sb.setAttribute('tabindex', 0);
+
+ if (ndisplay &lt; 0)
+ sb.setAttribute('more', '')
+ else
+ sb.removeAttribute('more');
+
+ if (ndisplay == this.options.display_items)
+ sb.setAttribute('empty', '')
+ else
+ sb.removeAttribute('empty');
+
+ L.dom.content(more, (ndisplay == this.options.display_items)
+ ? (this.options.select_placeholder || this.options.placeholder) : '···');
+
+
+ sb.addEventListener('click', this.handleClick.bind(this));
+ sb.addEventListener('keydown', this.handleKeydown.bind(this));
+ sb.addEventListener('cbi-dropdown-close', this.handleDropdownClose.bind(this));
+ sb.addEventListener('cbi-dropdown-select', this.handleDropdownSelect.bind(this));
+
+ if ('ontouchstart' in window) {
+ sb.addEventListener('touchstart', function(ev) { ev.stopPropagation(); });
+ window.addEventListener('touchstart', this.closeAllDropdowns);
+ }
+ else {
+ sb.addEventListener('mouseover', this.handleMouseover.bind(this));
+ sb.addEventListener('focus', this.handleFocus.bind(this));
+
+ canary.addEventListener('focus', this.handleCanaryFocus.bind(this));
+
+ window.addEventListener('mouseover', this.setFocus);
+ window.addEventListener('click', this.closeAllDropdowns);
+ }
+
+ if (create) {
+ create.addEventListener('keydown', this.handleCreateKeydown.bind(this));
+ create.addEventListener('focus', this.handleCreateFocus.bind(this));
+ create.addEventListener('blur', this.handleCreateBlur.bind(this));
+
+ var li = findParent(create, 'li');
+
+ li.setAttribute('unselectable', '');
+ li.addEventListener('click', this.handleCreateClick.bind(this));
+ }
+
+ this.node = sb;
+
+ this.setUpdateEvents(sb, 'cbi-dropdown-open', 'cbi-dropdown-close');
+ this.setChangeEvents(sb, 'cbi-dropdown-change', 'cbi-dropdown-close');
+
+ L.dom.bindClassInstance(sb, this);
+
+ return sb;
+ },
+
+ /** @private */
+ openDropdown: function(sb) {
+ var st = window.getComputedStyle(sb, null),
+ ul = sb.querySelector('ul'),
+ li = ul.querySelectorAll('li'),
+ fl = findParent(sb, '.cbi-value-field'),
+ sel = ul.querySelector('[selected]'),
+ rect = sb.getBoundingClientRect(),
+ items = Math.min(this.options.dropdown_items, li.length);
+
+ document.querySelectorAll('.cbi-dropdown[open]').forEach(function(s) {
+ s.dispatchEvent(new CustomEvent('cbi-dropdown-close', {}));
+ });
+
+ sb.setAttribute('open', '');
+
+ var pv = ul.cloneNode(true);
+ pv.classList.add('preview');
+
+ if (fl)
+ fl.classList.add('cbi-dropdown-open');
+
+ if ('ontouchstart' in window) {
+ var vpWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0),
+ vpHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0),
+ start = null;
+
+ ul.style.top = sb.offsetHeight + 'px';
+ ul.style.left = -rect.left + 'px';
+ ul.style.right = (rect.right - vpWidth) + 'px';
+ ul.style.maxHeight = (vpHeight * 0.5) + 'px';
+ ul.style.WebkitOverflowScrolling = 'touch';
+
+ function getScrollParent(element) {
+ var parent = element,
+ style = getComputedStyle(element),
+ excludeStaticParent = (style.position === 'absolute');
+
+ if (style.position === 'fixed')
+ return document.body;
+
+ while ((parent = parent.parentElement) != null) {
+ style = getComputedStyle(parent);
+
+ if (excludeStaticParent &amp;&amp; style.position === 'static')
+ continue;
+
+ if (/(auto|scroll)/.test(style.overflow + style.overflowY + style.overflowX))
+ return parent;
+ }
+
+ return document.body;
+ }
+
+ var scrollParent = getScrollParent(sb),
+ scrollFrom = scrollParent.scrollTop,
+ scrollTo = scrollFrom + rect.top - vpHeight * 0.5;
+
+ var scrollStep = function(timestamp) {
+ if (!start) {
+ start = timestamp;
+ ul.scrollTop = sel ? Math.max(sel.offsetTop - sel.offsetHeight, 0) : 0;
+ }
+
+ var duration = Math.max(timestamp - start, 1);
+ if (duration &lt; 100) {
+ scrollParent.scrollTop = scrollFrom + (scrollTo - scrollFrom) * (duration / 100);
+ window.requestAnimationFrame(scrollStep);
+ }
+ else {
+ scrollParent.scrollTop = scrollTo;
+ }
+ };
+
+ window.requestAnimationFrame(scrollStep);
+ }
+ else {
+ ul.style.maxHeight = '1px';
+ ul.style.top = ul.style.bottom = '';
+
+ window.requestAnimationFrame(function() {
+ var itemHeight = li[Math.max(0, li.length - 2)].getBoundingClientRect().height,
+ fullHeight = 0,
+ spaceAbove = rect.top,
+ spaceBelow = window.innerHeight - rect.height - rect.top;
+
+ for (var i = 0; i &lt; (items == -1 ? li.length : items); i++)
+ fullHeight += li[i].getBoundingClientRect().height;
+
+ if (fullHeight &lt;= spaceBelow) {
+ ul.style.top = rect.height + 'px';
+ ul.style.maxHeight = spaceBelow + 'px';
+ }
+ else if (fullHeight &lt;= spaceAbove) {
+ ul.style.bottom = rect.height + 'px';
+ ul.style.maxHeight = spaceAbove + 'px';
+ }
+ else if (spaceBelow >= spaceAbove) {
+ ul.style.top = rect.height + 'px';
+ ul.style.maxHeight = (spaceBelow - (spaceBelow % itemHeight)) + 'px';
+ }
+ else {
+ ul.style.bottom = rect.height + 'px';
+ ul.style.maxHeight = (spaceAbove - (spaceAbove % itemHeight)) + 'px';
+ }
+
+ ul.scrollTop = sel ? Math.max(sel.offsetTop - sel.offsetHeight, 0) : 0;
+ });
+ }
+
+ var cboxes = ul.querySelectorAll('[selected] input[type="checkbox"]');
+ for (var i = 0; i &lt; cboxes.length; i++) {
+ cboxes[i].checked = true;
+ cboxes[i].disabled = (cboxes.length == 1 &amp;&amp; !this.options.optional);
+ };
+
+ ul.classList.add('dropdown');
+
+ sb.insertBefore(pv, ul.nextElementSibling);
+
+ li.forEach(function(l) {
+ l.setAttribute('tabindex', 0);
+ });
+
+ sb.lastElementChild.setAttribute('tabindex', 0);
+
+ this.setFocus(sb, sel || li[0], true);
+ },
+
+ /** @private */
+ closeDropdown: function(sb, no_focus) {
+ if (!sb.hasAttribute('open'))
+ return;
+
+ var pv = sb.querySelector('ul.preview'),
+ ul = sb.querySelector('ul.dropdown'),
+ li = ul.querySelectorAll('li'),
+ fl = findParent(sb, '.cbi-value-field');
+
+ li.forEach(function(l) { l.removeAttribute('tabindex'); });
+ sb.lastElementChild.removeAttribute('tabindex');
+
+ sb.removeChild(pv);
+ sb.removeAttribute('open');
+ sb.style.width = sb.style.height = '';
+
+ ul.classList.remove('dropdown');
+ ul.style.top = ul.style.bottom = ul.style.maxHeight = '';
+
+ if (fl)
+ fl.classList.remove('cbi-dropdown-open');
+
+ if (!no_focus)
+ this.setFocus(sb, sb);
+
+ this.saveValues(sb, ul);
+ },
+
+ /** @private */
+ toggleItem: function(sb, li, force_state) {
+ if (li.hasAttribute('unselectable'))
+ return;
+
+ if (this.options.multiple) {
+ var cbox = li.querySelector('input[type="checkbox"]'),
+ items = li.parentNode.querySelectorAll('li'),
+ label = sb.querySelector('ul.preview'),
+ sel = li.parentNode.querySelectorAll('[selected]').length,
+ more = sb.querySelector('.more'),
+ ndisplay = this.options.display_items,
+ n = 0;
+
+ if (li.hasAttribute('selected')) {
+ if (force_state !== true) {
+ if (sel > 1 || this.options.optional) {
+ li.removeAttribute('selected');
+ cbox.checked = cbox.disabled = false;
+ sel--;
+ }
+ else {
+ cbox.disabled = true;
+ }
+ }
+ }
+ else {
+ if (force_state !== false) {
+ li.setAttribute('selected', '');
+ cbox.checked = true;
+ cbox.disabled = false;
+ sel++;
+ }
+ }
+
+ while (label &amp;&amp; label.firstElementChild)
+ label.removeChild(label.firstElementChild);
+
+ for (var i = 0; i &lt; items.length; i++) {
+ items[i].removeAttribute('display');
+ if (items[i].hasAttribute('selected')) {
+ if (ndisplay-- > 0) {
+ items[i].setAttribute('display', n++);
+ if (label)
+ label.appendChild(items[i].cloneNode(true));
+ }
+ var c = items[i].querySelector('input[type="checkbox"]');
+ if (c)
+ c.disabled = (sel == 1 &amp;&amp; !this.options.optional);
+ }
+ }
+
+ if (ndisplay &lt; 0)
+ sb.setAttribute('more', '');
+ else
+ sb.removeAttribute('more');
+
+ if (ndisplay === this.options.display_items)
+ sb.setAttribute('empty', '');
+ else
+ sb.removeAttribute('empty');
+
+ L.dom.content(more, (ndisplay === this.options.display_items)
+ ? (this.options.select_placeholder || this.options.placeholder) : '···');
+ }
+ else {
+ var sel = li.parentNode.querySelector('[selected]');
+ if (sel) {
+ sel.removeAttribute('display');
+ sel.removeAttribute('selected');
+ }
+
+ li.setAttribute('display', 0);
+ li.setAttribute('selected', '');
+
+ this.closeDropdown(sb, true);
+ }
+
+ this.saveValues(sb, li.parentNode);
+ },
+
+ /** @private */
+ transformItem: function(sb, li) {
+ var cbox = E('form', {}, E('input', { type: 'checkbox', tabindex: -1, onclick: 'event.preventDefault()' })),
+ label = E('label');
+
+ while (li.firstChild)
+ label.appendChild(li.firstChild);
+
+ li.appendChild(cbox);
+ li.appendChild(label);
+ },
+
+ /** @private */
+ saveValues: function(sb, ul) {
+ var sel = ul.querySelectorAll('li[selected]'),
+ div = sb.lastElementChild,
+ name = this.options.name,
+ strval = '',
+ values = [];
+
+ while (div.lastElementChild)
+ div.removeChild(div.lastElementChild);
+
+ sel.forEach(function (s) {
+ if (s.hasAttribute('placeholder'))
+ return;
+
+ var v = {
+ text: s.innerText,
+ value: s.hasAttribute('data-value') ? s.getAttribute('data-value') : s.innerText,
+ element: s
+ };
+
+ div.appendChild(E('input', {
+ type: 'hidden',
+ name: name,
+ value: v.value
+ }));
+
+ values.push(v);
+
+ strval += strval.length ? ' ' + v.value : v.value;
+ });
+
+ var detail = {
+ instance: this,
+ element: sb
+ };
+
+ if (this.options.multiple)
+ detail.values = values;
+ else
+ detail.value = values.length ? values[0] : null;
+
+ sb.value = strval;
+
+ sb.dispatchEvent(new CustomEvent('cbi-dropdown-change', {
+ bubbles: true,
+ detail: detail
+ }));
+ },
+
+ /** @private */
+ setValues: function(sb, values) {
+ var ul = sb.querySelector('ul');
+
+ if (this.options.create) {
+ for (var value in values) {
+ this.createItems(sb, value);
+
+ if (!this.options.multiple)
+ break;
+ }
+ }
+
+ if (this.options.multiple) {
+ var lis = ul.querySelectorAll('li[data-value]');
+ for (var i = 0; i &lt; lis.length; i++) {
+ var value = lis[i].getAttribute('data-value');
+ if (values === null || !(value in values))
+ this.toggleItem(sb, lis[i], false);
+ else
+ this.toggleItem(sb, lis[i], true);
+ }
+ }
+ else {
+ var ph = ul.querySelector('li[placeholder]');
+ if (ph)
+ this.toggleItem(sb, ph);
+
+ var lis = ul.querySelectorAll('li[data-value]');
+ for (var i = 0; i &lt; lis.length; i++) {
+ var value = lis[i].getAttribute('data-value');
+ if (values !== null &amp;&amp; (value in values))
+ this.toggleItem(sb, lis[i]);
+ }
+ }
+ },
+
+ /** @private */
+ setFocus: function(sb, elem, scroll) {
+ if (sb &amp;&amp; sb.hasAttribute &amp;&amp; sb.hasAttribute('locked-in'))
+ return;
+
+ if (sb.target &amp;&amp; findParent(sb.target, 'ul.dropdown'))
+ return;
+
+ document.querySelectorAll('.focus').forEach(function(e) {
+ if (!matchesElem(e, 'input')) {
+ e.classList.remove('focus');
+ e.blur();
+ }
+ });
+
+ if (elem) {
+ elem.focus();
+ elem.classList.add('focus');
+
+ if (scroll)
+ elem.parentNode.scrollTop = elem.offsetTop - elem.parentNode.offsetTop;
+ }
+ },
+
+ /** @private */
+ createChoiceElement: function(sb, value, label) {
+ var tpl = sb.querySelector(this.options.create_template),
+ markup = null;
+
+ if (tpl)
+ markup = (tpl.textContent || tpl.innerHTML || tpl.firstChild.data).replace(/^&lt;!--|-->$/, '').trim();
+ else
+ markup = '&lt;li data-value="{{value}}">&lt;span data-label-placeholder="true" />&lt;/li>';
+
+ var new_item = E(markup.replace(/{{value}}/g, '%h'.format(value))),
+ placeholder = new_item.querySelector('[data-label-placeholder]');
+
+ if (placeholder) {
+ var content = E('span', {}, label || this.choices[value] || [ value ]);
+
+ while (content.firstChild)
+ placeholder.parentNode.insertBefore(content.firstChild, placeholder);
+
+ placeholder.parentNode.removeChild(placeholder);
+ }
+
+ if (this.options.multiple)
+ this.transformItem(sb, new_item);
+
+ return new_item;
+ },
+
+ /** @private */
+ createItems: function(sb, value) {
+ var sbox = this,
+ val = (value || '').trim(),
+ ul = sb.querySelector('ul');
+
+ if (!sbox.options.multiple)
+ val = val.length ? [ val ] : [];
+ else
+ val = val.length ? val.split(/\s+/) : [];
+
+ val.forEach(function(item) {
+ var new_item = null;
+
+ ul.childNodes.forEach(function(li) {
+ if (li.getAttribute &amp;&amp; li.getAttribute('data-value') === item)
+ new_item = li;
+ });
+
+ if (!new_item) {
+ new_item = sbox.createChoiceElement(sb, item);
+
+ if (!sbox.options.multiple) {
+ var old = ul.querySelector('li[created]');
+ if (old)
+ ul.removeChild(old);
+
+ new_item.setAttribute('created', '');
+ }
+
+ new_item = ul.insertBefore(new_item, ul.lastElementChild);
+ }
+
+ sbox.toggleItem(sb, new_item, true);
+ sbox.setFocus(sb, new_item, true);
+ });
+ },
+
+ /**
+ * Remove all existing choices from the dropdown menu.
+ *
+ * This function removes all preexisting dropdown choices from the widget,
+ * keeping only choices currently being selected unless `reset_values` is
+ * given, in which case all choices and deselected and removed.
+ *
+ * @instance
+ * @memberof LuCI.ui.Dropdown
+ * @param {boolean} [reset_value=false]
+ * If set to `true`, deselect and remove selected choices as well instead
+ * of keeping them.
+ */
+ clearChoices: function(reset_value) {
+ var ul = this.node.querySelector('ul'),
+ lis = ul ? ul.querySelectorAll('li[data-value]') : [],
+ len = lis.length - (this.options.create ? 1 : 0),
+ val = reset_value ? null : this.getValue();
+
+ for (var i = 0; i &lt; len; i++) {
+ var lival = lis[i].getAttribute('data-value');
+ if (val == null ||
+ (!this.options.multiple &amp;&amp; val != lival) ||
+ (this.options.multiple &amp;&amp; val.indexOf(lival) == -1))
+ ul.removeChild(lis[i]);
+ }
+
+ if (reset_value)
+ this.setValues(this.node, {});
+ },
+
+ /**
+ * Add new choices to the dropdown menu.
+ *
+ * This function adds further choices to an existing dropdown menu,
+ * ignoring choice values which are already present.
+ *
+ * @instance
+ * @memberof LuCI.ui.Dropdown
+ * @param {string[]} values
+ * The choice values to add to the dropdown widget.
+ *
+ * @param {Object&lt;string, *>} labels
+ * The choice label values to use when adding dropdown choices. If no
+ * label is found for a particular choice value, the value itself is used
+ * as label text. Choice labels may be any valid value accepted by
+ * {@link LuCI.dom#content}.
+ */
+ addChoices: function(values, labels) {
+ var sb = this.node,
+ ul = sb.querySelector('ul'),
+ lis = ul ? ul.querySelectorAll('li[data-value]') : [];
+
+ if (!Array.isArray(values))
+ values = L.toArray(values);
+
+ if (!L.isObject(labels))
+ labels = {};
+
+ for (var i = 0; i &lt; values.length; i++) {
+ var found = false;
+
+ for (var j = 0; j &lt; lis.length; j++) {
+ if (lis[j].getAttribute('data-value') === values[i]) {
+ found = true;
+ break;
+ }
+ }
+
+ if (found)
+ continue;
+
+ ul.insertBefore(
+ this.createChoiceElement(sb, values[i], labels[values[i]]),
+ ul.lastElementChild);
+ }
+ },
+
+ /**
+ * Close all open dropdown widgets in the current document.
+ */
+ closeAllDropdowns: function() {
+ document.querySelectorAll('.cbi-dropdown[open]').forEach(function(s) {
+ s.dispatchEvent(new CustomEvent('cbi-dropdown-close', {}));
+ });
+ },
+
+ /** @private */
+ handleClick: function(ev) {
+ var sb = ev.currentTarget;
+
+ if (!sb.hasAttribute('open')) {
+ if (!matchesElem(ev.target, 'input'))
+ this.openDropdown(sb);
+ }
+ else {
+ var li = findParent(ev.target, 'li');
+ if (li &amp;&amp; li.parentNode.classList.contains('dropdown'))
+ this.toggleItem(sb, li);
+ else if (li &amp;&amp; li.parentNode.classList.contains('preview'))
+ this.closeDropdown(sb);
+ else if (matchesElem(ev.target, 'span.open, span.more'))
+ this.closeDropdown(sb);
+ }
+
+ ev.preventDefault();
+ ev.stopPropagation();
+ },
+
+ /** @private */
+ handleKeydown: function(ev) {
+ var sb = ev.currentTarget;
+
+ if (matchesElem(ev.target, 'input'))
+ return;
+
+ if (!sb.hasAttribute('open')) {
+ switch (ev.keyCode) {
+ case 37:
+ case 38:
+ case 39:
+ case 40:
+ this.openDropdown(sb);
+ ev.preventDefault();
+ }
+ }
+ else {
+ var active = findParent(document.activeElement, 'li');
+
+ switch (ev.keyCode) {
+ case 27:
+ this.closeDropdown(sb);
+ break;
+
+ case 13:
+ if (active) {
+ if (!active.hasAttribute('selected'))
+ this.toggleItem(sb, active);
+ this.closeDropdown(sb);
+ ev.preventDefault();
+ }
+ break;
+
+ case 32:
+ if (active) {
+ this.toggleItem(sb, active);
+ ev.preventDefault();
+ }
+ break;
+
+ case 38:
+ if (active &amp;&amp; active.previousElementSibling) {
+ this.setFocus(sb, active.previousElementSibling);
+ ev.preventDefault();
+ }
+ break;
+
+ case 40:
+ if (active &amp;&amp; active.nextElementSibling) {
+ this.setFocus(sb, active.nextElementSibling);
+ ev.preventDefault();
+ }
+ break;
+ }
+ }
+ },
+
+ /** @private */
+ handleDropdownClose: function(ev) {
+ var sb = ev.currentTarget;
+
+ this.closeDropdown(sb, true);
+ },
+
+ /** @private */
+ handleDropdownSelect: function(ev) {
+ var sb = ev.currentTarget,
+ li = findParent(ev.target, 'li');
+
+ if (!li)
+ return;
+
+ this.toggleItem(sb, li);
+ this.closeDropdown(sb, true);
+ },
+
+ /** @private */
+ handleMouseover: function(ev) {
+ var sb = ev.currentTarget;
+
+ if (!sb.hasAttribute('open'))
+ return;
+
+ var li = findParent(ev.target, 'li');
+
+ if (li &amp;&amp; li.parentNode.classList.contains('dropdown'))
+ this.setFocus(sb, li);
+ },
+
+ /** @private */
+ handleFocus: function(ev) {
+ var sb = ev.currentTarget;
+
+ document.querySelectorAll('.cbi-dropdown[open]').forEach(function(s) {
+ if (s !== sb || sb.hasAttribute('open'))
+ s.dispatchEvent(new CustomEvent('cbi-dropdown-close', {}));
+ });
+ },
+
+ /** @private */
+ handleCanaryFocus: function(ev) {
+ this.closeDropdown(ev.currentTarget.parentNode);
+ },
+
+ /** @private */
+ handleCreateKeydown: function(ev) {
+ var input = ev.currentTarget,
+ sb = findParent(input, '.cbi-dropdown');
+
+ switch (ev.keyCode) {
+ case 13:
+ ev.preventDefault();
+
+ if (input.classList.contains('cbi-input-invalid'))
+ return;
+
+ this.createItems(sb, input.value);
+ input.value = '';
+ input.blur();
+ break;
+ }
+ },
+
+ /** @private */
+ handleCreateFocus: function(ev) {
+ var input = ev.currentTarget,
+ cbox = findParent(input, 'li').querySelector('input[type="checkbox"]'),
+ sb = findParent(input, '.cbi-dropdown');
+
+ if (cbox)
+ cbox.checked = true;
+
+ sb.setAttribute('locked-in', '');
+ },
+
+ /** @private */
+ handleCreateBlur: function(ev) {
+ var input = ev.currentTarget,
+ cbox = findParent(input, 'li').querySelector('input[type="checkbox"]'),
+ sb = findParent(input, '.cbi-dropdown');
+
+ if (cbox)
+ cbox.checked = false;
+
+ sb.removeAttribute('locked-in');
+ },
+
+ /** @private */
+ handleCreateClick: function(ev) {
+ ev.currentTarget.querySelector(this.options.create_query).focus();
+ },
+
+ /** @override */
+ setValue: function(values) {
+ if (this.options.multiple) {
+ if (!Array.isArray(values))
+ values = (values != null &amp;&amp; values != '') ? [ values ] : [];
+
+ var v = {};
+
+ for (var i = 0; i &lt; values.length; i++)
+ v[values[i]] = true;
+
+ this.setValues(this.node, v);
+ }
+ else {
+ var v = {};
+
+ if (values != null) {
+ if (Array.isArray(values))
+ v[values[0]] = true;
+ else
+ v[values] = true;
+ }
+
+ this.setValues(this.node, v);
+ }
+ },
+
+ /** @override */
+ getValue: function() {
+ var div = this.node.lastElementChild,
+ h = div.querySelectorAll('input[type="hidden"]'),
+ v = [];
+
+ for (var i = 0; i &lt; h.length; i++)
+ v.push(h[i].value);
+
+ return this.options.multiple ? v : v[0];
+ }
+});
+
+/**
+ * Instantiate a rich dropdown choice widget allowing custom values.
+ *
+ * @constructor Combobox
+ * @memberof LuCI.ui
+ * @augments LuCI.ui.Dropdown
+ *
+ * @classdesc
+ *
+ * The `Combobox` class implements a rich, stylable dropdown menu which allows
+ * to enter custom values. Historically, comboboxes used to be a dedicated
+ * widget type in LuCI but nowadays they are direct aliases of dropdown widgets
+ * with a set of enforced default properties for easier instantiation.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.Combobox`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `Combobox` property of the class instance value.
+ *
+ * @param {string|string[]} [value=null]
+ * The initial input value(s).
+ *
+ * @param {Object&lt;string, *>} choices
+ * Object containing the selectable choices of the widget. The object keys
+ * serve as values for the different choices while the values are used as
+ * choice labels.
+ *
+ * @param {LuCI.ui.Combobox.InitOptions} [options]
+ * Object describing the widget specific options to initialize the dropdown.
+ */
+var UICombobox = UIDropdown.extend(/** @lends LuCI.ui.Combobox.prototype */ {
+ /**
+ * Comboboxes support the same properties as
+ * [Dropdown.InitOptions]{@link LuCI.ui.Dropdown.InitOptions} but enforce
+ * specific values for the following properties:
+ *
+ * @typedef {LuCI.ui.Dropdown.InitOptions} InitOptions
+ * @memberof LuCI.ui.Combobox
+ *
+ * @property {boolean} multiple=false
+ * Since Comboboxes never allow selecting multiple values, this property
+ * is forcibly set to `false`.
+ *
+ * @property {boolean} create=true
+ * Since Comboboxes always allow custom choice values, this property is
+ * forcibly set to `true`.
+ *
+ * @property {boolean} optional=true
+ * Since Comboboxes are always optional, this property is forcibly set to
+ * `true`.
+ */
+ __init__: function(value, choices, options) {
+ this.super('__init__', [ value, choices, Object.assign({
+ select_placeholder: _('-- Please choose --'),
+ custom_placeholder: _('-- custom --'),
+ dropdown_items: -1,
+ sort: true
+ }, options, {
+ multiple: false,
+ create: true,
+ optional: true
+ }) ]);
+ }
+});
+
+/**
+ * Instantiate a combo button widget offering multiple action choices.
+ *
+ * @constructor ComboButton
+ * @memberof LuCI.ui
+ * @augments LuCI.ui.Dropdown
+ *
+ * @classdesc
+ *
+ * The `ComboButton` class implements a button element which can be expanded
+ * into a dropdown to chose from a set of different action choices.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.ComboButton`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `ComboButton` property of the class instance value.
+ *
+ * @param {string|string[]} [value=null]
+ * The initial input value(s).
+ *
+ * @param {Object&lt;string, *>} choices
+ * Object containing the selectable choices of the widget. The object keys
+ * serve as values for the different choices while the values are used as
+ * choice labels.
+ *
+ * @param {LuCI.ui.ComboButton.InitOptions} [options]
+ * Object describing the widget specific options to initialize the button.
+ */
+var UIComboButton = UIDropdown.extend(/** @lends LuCI.ui.ComboButton.prototype */ {
+ /**
+ * ComboButtons support the same properties as
+ * [Dropdown.InitOptions]{@link LuCI.ui.Dropdown.InitOptions} but enforce
+ * specific values for some properties and add aditional button specific
+ * properties.
+ *
+ * @typedef {LuCI.ui.Dropdown.InitOptions} InitOptions
+ * @memberof LuCI.ui.ComboButton
+ *
+ * @property {boolean} multiple=false
+ * Since ComboButtons never allow selecting multiple actions, this property
+ * is forcibly set to `false`.
+ *
+ * @property {boolean} create=false
+ * Since ComboButtons never allow creating custom choices, this property
+ * is forcibly set to `false`.
+ *
+ * @property {boolean} optional=false
+ * Since ComboButtons must always select one action, this property is
+ * forcibly set to `false`.
+ *
+ * @property {Object&lt;string, string>} [classes]
+ * Specifies a mapping of choice values to CSS class names. If an action
+ * choice is selected by the user and if a corresponding entry exists in
+ * the `classes` object, the class names corresponding to the selected
+ * value are set on the button element.
+ *
+ * This is useful to apply different button styles, such as colors, to the
+ * combined button depending on the selected action.
+ *
+ * @property {function} [click]
+ * Specifies a handler function to invoke when the user clicks the button.
+ * This function will be called with the button DOM node as `this` context
+ * and receive the DOM click event as first as well as the selected action
+ * choice value as second argument.
+ */
+ __init__: function(value, choices, options) {
+ this.super('__init__', [ value, choices, Object.assign({
+ sort: true
+ }, options, {
+ multiple: false,
+ create: false,
+ optional: false
+ }) ]);
+ },
+
+ /** @override */
+ render: function(/* ... */) {
+ var node = UIDropdown.prototype.render.apply(this, arguments),
+ val = this.getValue();
+
+ if (L.isObject(this.options.classes) &amp;&amp; this.options.classes.hasOwnProperty(val))
+ node.setAttribute('class', 'cbi-dropdown ' + this.options.classes[val]);
+
+ return node;
+ },
+
+ /** @private */
+ handleClick: function(ev) {
+ var sb = ev.currentTarget,
+ t = ev.target;
+
+ if (sb.hasAttribute('open') || L.dom.matches(t, '.cbi-dropdown > span.open'))
+ return UIDropdown.prototype.handleClick.apply(this, arguments);
+
+ if (this.options.click)
+ return this.options.click.call(sb, ev, this.getValue());
+ },
+
+ /** @private */
+ toggleItem: function(sb /*, ... */) {
+ var rv = UIDropdown.prototype.toggleItem.apply(this, arguments),
+ val = this.getValue();
+
+ if (L.isObject(this.options.classes) &amp;&amp; this.options.classes.hasOwnProperty(val))
+ sb.setAttribute('class', 'cbi-dropdown ' + this.options.classes[val]);
+ else
+ sb.setAttribute('class', 'cbi-dropdown');
+
+ return rv;
+ }
+});
+
+/**
+ * Instantiate a dynamic list widget.
+ *
+ * @constructor DynamicList
+ * @memberof LuCI.ui
+ * @augments LuCI.ui.AbstractElement
+ *
+ * @classdesc
+ *
+ * The `DynamicList` class implements a widget which allows the user to specify
+ * an arbitrary amount of input values, either from free formed text input or
+ * from a set of predefined choices.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.DynamicList`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `DynamicList` property of the class instance value.
+ *
+ * @param {string|string[]} [value=null]
+ * The initial input value(s).
+ *
+ * @param {Object&lt;string, *>} [choices]
+ * Object containing the selectable choices of the widget. The object keys
+ * serve as values for the different choices while the values are used as
+ * choice labels. If omitted, no default choices are presented to the user,
+ * instead a plain text input field is rendered allowing the user to add
+ * arbitrary values to the dynamic list.
+ *
+ * @param {LuCI.ui.DynamicList.InitOptions} [options]
+ * Object describing the widget specific options to initialize the dynamic list.
+ */
+var UIDynamicList = UIElement.extend(/** @lends LuCI.ui.DynamicList.prototype */ {
+ /**
+ * In case choices are passed to the dynamic list contructor, the widget
+ * supports the same properties as [Dropdown.InitOptions]{@link LuCI.ui.Dropdown.InitOptions}
+ * but enforces specific values for some dropdown properties.
+ *
+ * @typedef {LuCI.ui.Dropdown.InitOptions} InitOptions
+ * @memberof LuCI.ui.DynamicList
+ *
+ * @property {boolean} multiple=false
+ * Since dynamic lists never allow selecting multiple choices when adding
+ * another list item, this property is forcibly set to `false`.
+ *
+ * @property {boolean} optional=true
+ * Since dynamic lists use an embedded dropdown to present a list of
+ * predefined choice values, the dropdown must be made optional to allow
+ * it to remain unselected.
+ */
+ __init__: function(values, choices, options) {
+ if (!Array.isArray(values))
+ values = (values != null &amp;&amp; values != '') ? [ values ] : [];
+
+ if (typeof(choices) != 'object')
+ choices = null;
+
+ this.values = values;
+ this.choices = choices;
+ this.options = Object.assign({}, options, {
+ multiple: false,
+ optional: true
+ });
+ },
+
+ /** @override */
+ render: function() {
+ var dl = E('div', {
+ 'id': this.options.id,
+ 'class': 'cbi-dynlist'
+ }, E('div', { 'class': 'add-item' }));
+
+ if (this.choices) {
+ if (this.options.placeholder != null)
+ this.options.select_placeholder = this.options.placeholder;
+
+ var cbox = new UICombobox(null, this.choices, this.options);
+
+ dl.lastElementChild.appendChild(cbox.render());
+ }
+ else {
+ var inputEl = E('input', {
+ 'id': this.options.id ? 'widget.' + this.options.id : null,
+ 'type': 'text',
+ 'class': 'cbi-input-text',
+ 'placeholder': this.options.placeholder
+ });
+
+ dl.lastElementChild.appendChild(inputEl);
+ dl.lastElementChild.appendChild(E('div', { 'class': 'btn cbi-button cbi-button-add' }, '+'));
+
+ if (this.options.datatype || this.options.validate)
+ L.ui.addValidator(inputEl, this.options.datatype || 'string',
+ true, this.options.validate, 'blur', 'keyup');
+ }
+
+ for (var i = 0; i &lt; this.values.length; i++) {
+ var label = this.choices ? this.choices[this.values[i]] : null;
+
+ if (L.dom.elem(label))
+ label = label.cloneNode(true);
+
+ this.addItem(dl, this.values[i], label);
+ }
+
+ return this.bind(dl);
+ },
+
+ /** @private */
+ bind: function(dl) {
+ dl.addEventListener('click', L.bind(this.handleClick, this));
+ dl.addEventListener('keydown', L.bind(this.handleKeydown, this));
+ dl.addEventListener('cbi-dropdown-change', L.bind(this.handleDropdownChange, this));
+
+ this.node = dl;
+
+ this.setUpdateEvents(dl, 'cbi-dynlist-change');
+ this.setChangeEvents(dl, 'cbi-dynlist-change');
+
+ L.dom.bindClassInstance(dl, this);
+
+ return dl;
+ },
+
+ /** @private */
+ addItem: function(dl, value, text, flash) {
+ var exists = false,
+ new_item = E('div', { 'class': flash ? 'item flash' : 'item', 'tabindex': 0 }, [
+ E('span', {}, [ text || value ]),
+ E('input', {
+ 'type': 'hidden',
+ 'name': this.options.name,
+ 'value': value })]);
+
+ dl.querySelectorAll('.item').forEach(function(item) {
+ if (exists)
+ return;
+
+ var hidden = item.querySelector('input[type="hidden"]');
+
+ if (hidden &amp;&amp; hidden.parentNode !== item)
+ hidden = null;
+
+ if (hidden &amp;&amp; hidden.value === value)
+ exists = true;
+ });
+
+ if (!exists) {
+ var ai = dl.querySelector('.add-item');
+ ai.parentNode.insertBefore(new_item, ai);
+ }
+
+ dl.dispatchEvent(new CustomEvent('cbi-dynlist-change', {
+ bubbles: true,
+ detail: {
+ instance: this,
+ element: dl,
+ value: value,
+ add: true
+ }
+ }));
+ },
+
+ /** @private */
+ removeItem: function(dl, item) {
+ var value = item.querySelector('input[type="hidden"]').value;
+ var sb = dl.querySelector('.cbi-dropdown');
+ if (sb)
+ sb.querySelectorAll('ul > li').forEach(function(li) {
+ if (li.getAttribute('data-value') === value) {
+ if (li.hasAttribute('dynlistcustom'))
+ li.parentNode.removeChild(li);
+ else
+ li.removeAttribute('unselectable');
+ }
+ });
+
+ item.parentNode.removeChild(item);
+
+ dl.dispatchEvent(new CustomEvent('cbi-dynlist-change', {
+ bubbles: true,
+ detail: {
+ instance: this,
+ element: dl,
+ value: value,
+ remove: true
+ }
+ }));
+ },
+
+ /** @private */
+ handleClick: function(ev) {
+ var dl = ev.currentTarget,
+ item = findParent(ev.target, '.item');
+
+ if (item) {
+ this.removeItem(dl, item);
+ }
+ else if (matchesElem(ev.target, '.cbi-button-add')) {
+ var input = ev.target.previousElementSibling;
+ if (input.value.length &amp;&amp; !input.classList.contains('cbi-input-invalid')) {
+ this.addItem(dl, input.value, null, true);
+ input.value = '';
+ }
+ }
+ },
+
+ /** @private */
+ handleDropdownChange: function(ev) {
+ var dl = ev.currentTarget,
+ sbIn = ev.detail.instance,
+ sbEl = ev.detail.element,
+ sbVal = ev.detail.value;
+
+ if (sbVal === null)
+ return;
+
+ sbIn.setValues(sbEl, null);
+ sbVal.element.setAttribute('unselectable', '');
+
+ if (sbVal.element.hasAttribute('created')) {
+ sbVal.element.removeAttribute('created');
+ sbVal.element.setAttribute('dynlistcustom', '');
+ }
+
+ var label = sbVal.text;
+
+ if (sbVal.element) {
+ label = E([]);
+
+ for (var i = 0; i &lt; sbVal.element.childNodes.length; i++)
+ label.appendChild(sbVal.element.childNodes[i].cloneNode(true));
+ }
+
+ this.addItem(dl, sbVal.value, label, true);
+ },
+
+ /** @private */
+ handleKeydown: function(ev) {
+ var dl = ev.currentTarget,
+ item = findParent(ev.target, '.item');
+
+ if (item) {
+ switch (ev.keyCode) {
+ case 8: /* backspace */
+ if (item.previousElementSibling)
+ item.previousElementSibling.focus();
+
+ this.removeItem(dl, item);
+ break;
+
+ case 46: /* delete */
+ if (item.nextElementSibling) {
+ if (item.nextElementSibling.classList.contains('item'))
+ item.nextElementSibling.focus();
+ else
+ item.nextElementSibling.firstElementChild.focus();
+ }
+
+ this.removeItem(dl, item);
+ break;
+ }
+ }
+ else if (matchesElem(ev.target, '.cbi-input-text')) {
+ switch (ev.keyCode) {
+ case 13: /* enter */
+ if (ev.target.value.length &amp;&amp; !ev.target.classList.contains('cbi-input-invalid')) {
+ this.addItem(dl, ev.target.value, null, true);
+ ev.target.value = '';
+ ev.target.blur();
+ ev.target.focus();
+ }
+
+ ev.preventDefault();
+ break;
+ }
+ }
+ },
+
+ /** @override */
+ getValue: function() {
+ var items = this.node.querySelectorAll('.item > input[type="hidden"]'),
+ input = this.node.querySelector('.add-item > input[type="text"]'),
+ v = [];
+
+ for (var i = 0; i &lt; items.length; i++)
+ v.push(items[i].value);
+
+ if (input &amp;&amp; input.value != null &amp;&amp; input.value.match(/\S/) &amp;&amp;
+ input.classList.contains('cbi-input-invalid') == false &amp;&amp;
+ v.filter(function(s) { return s == input.value }).length == 0)
+ v.push(input.value);
+
+ return v;
+ },
+
+ /** @override */
+ setValue: function(values) {
+ if (!Array.isArray(values))
+ values = (values != null &amp;&amp; values != '') ? [ values ] : [];
+
+ var items = this.node.querySelectorAll('.item');
+
+ for (var i = 0; i &lt; items.length; i++)
+ if (items[i].parentNode === this.node)
+ this.removeItem(this.node, items[i]);
+
+ for (var i = 0; i &lt; values.length; i++)
+ this.addItem(this.node, values[i],
+ this.choices ? this.choices[values[i]] : null);
+ },
+
+ /**
+ * Add new suggested choices to the dynamic list.
+ *
+ * This function adds further choices to an existing dynamic list,
+ * ignoring choice values which are already present.
+ *
+ * @instance
+ * @memberof LuCI.ui.DynamicList
+ * @param {string[]} values
+ * The choice values to add to the dynamic lists suggestion dropdown.
+ *
+ * @param {Object&lt;string, *>} labels
+ * The choice label values to use when adding suggested choices. If no
+ * label is found for a particular choice value, the value itself is used
+ * as label text. Choice labels may be any valid value accepted by
+ * {@link LuCI.dom#content}.
+ */
+ addChoices: function(values, labels) {
+ var dl = this.node.lastElementChild.firstElementChild;
+ L.dom.callClassMethod(dl, 'addChoices', values, labels);
+ },
+
+ /**
+ * Remove all existing choices from the dynamic list.
+ *
+ * This function removes all preexisting suggested choices from the widget.
+ *
+ * @instance
+ * @memberof LuCI.ui.DynamicList
+ */
+ clearChoices: function() {
+ var dl = this.node.lastElementChild.firstElementChild;
+ L.dom.callClassMethod(dl, 'clearChoices');
+ }
+});
+
+/**
+ * Instantiate a hidden input field widget.
+ *
+ * @constructor Hiddenfield
+ * @memberof LuCI.ui
+ * @augments LuCI.ui.AbstractElement
+ *
+ * @classdesc
+ *
+ * The `Hiddenfield` class implements an HTML `&lt;input type="hidden">` field
+ * which allows to store form data without exposing it to the user.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.Hiddenfield`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `Hiddenfield` property of the class instance value.
+ *
+ * @param {string|string[]} [value=null]
+ * The initial input value.
+ *
+ * @param {LuCI.ui.AbstractElement.InitOptions} [options]
+ * Object describing the widget specific options to initialize the hidden input.
+ */
+var UIHiddenfield = UIElement.extend(/** @lends LuCI.ui.Hiddenfield.prototype */ {
+ __init__: function(value, options) {
+ this.value = value;
+ this.options = Object.assign({
+
+ }, options);
+ },
+
+ /** @override */
+ render: function() {
+ var hiddenEl = E('input', {
+ 'id': this.options.id,
+ 'type': 'hidden',
+ 'value': this.value
+ });
+
+ return this.bind(hiddenEl);
+ },
+
+ /** @private */
+ bind: function(hiddenEl) {
+ this.node = hiddenEl;
+
+ L.dom.bindClassInstance(hiddenEl, this);
+
+ return hiddenEl;
+ },
+
+ /** @override */
+ getValue: function() {
+ return this.node.value;
+ },
+
+ /** @override */
+ setValue: function(value) {
+ this.node.value = value;
+ }
+});
+
+/**
+ * Instantiate a file upload widget.
+ *
+ * @constructor FileUpload
+ * @memberof LuCI.ui
+ * @augments LuCI.ui.AbstractElement
+ *
+ * @classdesc
+ *
+ * The `FileUpload` class implements a widget which allows the user to upload,
+ * browse, select and delete files beneath a predefined remote directory.
+ *
+ * UI widget instances are usually not supposed to be created by view code
+ * directly, instead they're implicitely created by `LuCI.form` when
+ * instantiating CBI forms.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.FileUpload`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `FileUpload` property of the class instance value.
+ *
+ * @param {string|string[]} [value=null]
+ * The initial input value.
+ *
+ * @param {LuCI.ui.DynamicList.InitOptions} [options]
+ * Object describing the widget specific options to initialize the file
+ * upload control.
+ */
+var UIFileUpload = UIElement.extend(/** @lends LuCI.ui.FileUpload.prototype */ {
+ /**
+ * In addition to the [AbstractElement.InitOptions]{@link LuCI.ui.AbstractElement.InitOptions}
+ * the following properties are recognized:
+ *
+ * @typedef {LuCI.ui.AbstractElement.InitOptions} InitOptions
+ * @memberof LuCI.ui.FileUpload
+ *
+ * @property {boolean} [show_hidden=false]
+ * Specifies whether hidden files should be displayed when browsing remote
+ * files. Note that this is not a security feature, hidden files are always
+ * present in the remote file listings received, this option merely controls
+ * whether they're displayed or not.
+ *
+ * @property {boolean} [enable_upload=true]
+ * Specifies whether the widget allows the user to upload files. If set to
+ * `false`, only existing files may be selected. Note that this is not a
+ * security feature. Whether file upload requests are accepted remotely
+ * depends on the ACL setup for the current session. This option merely
+ * controls whether the upload controls are rendered or not.
+ *
+ * @property {boolean} [enable_remove=true]
+ * Specifies whether the widget allows the user to delete remove files.
+ * If set to `false`, existing files may not be removed. Note that this is
+ * not a security feature. Whether file delete requests are accepted
+ * remotely depends on the ACL setup for the current session. This option
+ * merely controls whether the file remove controls are rendered or not.
+ *
+ * @property {string} [root_directory=/etc/luci-uploads]
+ * Specifies the remote directory the upload and file browsing actions take
+ * place in. Browsing to directories outside of the root directory is
+ * prevented by the widget. Note that this is not a security feature.
+ * Whether remote directories are browseable or not solely depends on the
+ * ACL setup for the current session.
+ */
+ __init__: function(value, options) {
+ this.value = value;
+ this.options = Object.assign({
+ show_hidden: false,
+ enable_upload: true,
+ enable_remove: true,
+ root_directory: '/etc/luci-uploads'
+ }, options);
+ },
+
+ /** @private */
+ bind: function(browserEl) {
+ this.node = browserEl;
+
+ this.setUpdateEvents(browserEl, 'cbi-fileupload-select', 'cbi-fileupload-cancel');
+ this.setChangeEvents(browserEl, 'cbi-fileupload-select', 'cbi-fileupload-cancel');
+
+ L.dom.bindClassInstance(browserEl, this);
+
+ return browserEl;
+ },
+
+ /** @override */
+ render: function() {
+ return L.resolveDefault(this.value != null ? fs.stat(this.value) : null).then(L.bind(function(stat) {
+ var label;
+
+ if (L.isObject(stat) &amp;&amp; stat.type != 'directory')
+ this.stat = stat;
+
+ if (this.stat != null)
+ label = [ this.iconForType(this.stat.type), ' %s (%1000mB)'.format(this.truncatePath(this.stat.path), this.stat.size) ];
+ else if (this.value != null)
+ label = [ this.iconForType('file'), ' %s (%s)'.format(this.truncatePath(this.value), _('File not accessible')) ];
+ else
+ label = [ _('Select file…') ];
+
+ return this.bind(E('div', { 'id': this.options.id }, [
+ E('button', {
+ 'class': 'btn',
+ 'click': L.ui.createHandlerFn(this, 'handleFileBrowser')
+ }, label),
+ E('div', {
+ 'class': 'cbi-filebrowser'
+ }),
+ E('input', {
+ 'type': 'hidden',
+ 'name': this.options.name,
+ 'value': this.value
+ })
+ ]));
+ }, this));
+ },
+
+ /** @private */
+ truncatePath: function(path) {
+ if (path.length > 50)
+ path = path.substring(0, 25) + '…' + path.substring(path.length - 25);
+
+ return path;
+ },
+
+ /** @private */
+ iconForType: function(type) {
+ switch (type) {
+ case 'symlink':
+ return E('img', {
+ 'src': L.resource('cbi/link.gif'),
+ 'title': _('Symbolic link'),
+ 'class': 'middle'
+ });
+
+ case 'directory':
+ return E('img', {
+ 'src': L.resource('cbi/folder.gif'),
+ 'title': _('Directory'),
+ 'class': 'middle'
+ });
+
+ default:
+ return E('img', {
+ 'src': L.resource('cbi/file.gif'),
+ 'title': _('File'),
+ 'class': 'middle'
+ });
+ }
+ },
+
+ /** @private */
+ canonicalizePath: function(path) {
+ return path.replace(/\/{2,}/, '/')
+ .replace(/\/\.(\/|$)/g, '/')
+ .replace(/[^\/]+\/\.\.(\/|$)/g, '/')
+ .replace(/\/$/, '');
+ },
+
+ /** @private */
+ splitPath: function(path) {
+ var croot = this.canonicalizePath(this.options.root_directory || '/'),
+ cpath = this.canonicalizePath(path || '/');
+
+ if (cpath.length &lt;= croot.length)
+ return [ croot ];
+
+ if (cpath.charAt(croot.length) != '/')
+ return [ croot ];
+
+ var parts = cpath.substring(croot.length + 1).split(/\//);
+
+ parts.unshift(croot);
+
+ return parts;
+ },
+
+ /** @private */
+ handleUpload: function(path, list, ev) {
+ var form = ev.target.parentNode,
+ fileinput = form.querySelector('input[type="file"]'),
+ nameinput = form.querySelector('input[type="text"]'),
+ filename = (nameinput.value != null ? nameinput.value : '').trim();
+
+ ev.preventDefault();
+
+ if (filename == '' || filename.match(/\//) || fileinput.files[0] == null)
+ return;
+
+ var existing = list.filter(function(e) { return e.name == filename })[0];
+
+ if (existing != null &amp;&amp; existing.type == 'directory')
+ return alert(_('A directory with the same name already exists.'));
+ else if (existing != null &amp;&amp; !confirm(_('Overwrite existing file "%s" ?').format(filename)))
+ return;
+
+ var data = new FormData();
+
+ data.append('sessionid', L.env.sessionid);
+ data.append('filename', path + '/' + filename);
+ data.append('filedata', fileinput.files[0]);
+
+ return L.Request.post(L.env.cgi_base + '/cgi-upload', data, {
+ progress: L.bind(function(btn, ev) {
+ btn.firstChild.data = '%.2f%%'.format((ev.loaded / ev.total) * 100);
+ }, this, ev.target)
+ }).then(L.bind(function(path, ev, res) {
+ var reply = res.json();
+
+ if (L.isObject(reply) &amp;&amp; reply.failure)
+ alert(_('Upload request failed: %s').format(reply.message));
+
+ return this.handleSelect(path, null, ev);
+ }, this, path, ev));
+ },
+
+ /** @private */
+ handleDelete: function(path, fileStat, ev) {
+ var parent = path.replace(/\/[^\/]+$/, '') || '/',
+ name = path.replace(/^.+\//, ''),
+ msg;
+
+ ev.preventDefault();
+
+ if (fileStat.type == 'directory')
+ msg = _('Do you really want to recursively delete the directory "%s" ?').format(name);
+ else
+ msg = _('Do you really want to delete "%s" ?').format(name);
+
+ if (confirm(msg)) {
+ var button = this.node.firstElementChild,
+ hidden = this.node.lastElementChild;
+
+ if (path == hidden.value) {
+ L.dom.content(button, _('Select file…'));
+ hidden.value = '';
+ }
+
+ return fs.remove(path).then(L.bind(function(parent, ev) {
+ return this.handleSelect(parent, null, ev);
+ }, this, parent, ev)).catch(function(err) {
+ alert(_('Delete request failed: %s').format(err.message));
+ });
+ }
+ },
+
+ /** @private */
+ renderUpload: function(path, list) {
+ if (!this.options.enable_upload)
+ return E([]);
+
+ return E([
+ E('a', {
+ 'href': '#',
+ 'class': 'btn cbi-button-positive',
+ 'click': function(ev) {
+ var uploadForm = ev.target.nextElementSibling,
+ fileInput = uploadForm.querySelector('input[type="file"]');
+
+ ev.target.style.display = 'none';
+ uploadForm.style.display = '';
+ fileInput.click();
+ }
+ }, _('Upload file…')),
+ E('div', { 'class': 'upload', 'style': 'display:none' }, [
+ E('input', {
+ 'type': 'file',
+ 'style': 'display:none',
+ 'change': function(ev) {
+ var nameinput = ev.target.parentNode.querySelector('input[type="text"]'),
+ uploadbtn = ev.target.parentNode.querySelector('button.cbi-button-save');
+
+ nameinput.value = ev.target.value.replace(/^.+[\/\\]/, '');
+ uploadbtn.disabled = false;
+ }
+ }),
+ E('button', {
+ 'class': 'btn',
+ 'click': function(ev) {
+ ev.preventDefault();
+ ev.target.previousElementSibling.click();
+ }
+ }, [ _('Browse…') ]),
+ E('div', {}, E('input', { 'type': 'text', 'placeholder': _('Filename') })),
+ E('button', {
+ 'class': 'btn cbi-button-save',
+ 'click': L.ui.createHandlerFn(this, 'handleUpload', path, list),
+ 'disabled': true
+ }, [ _('Upload file') ])
+ ])
+ ]);
+ },
+
+ /** @private */
+ renderListing: function(container, path, list) {
+ var breadcrumb = E('p'),
+ rows = E('ul');
+
+ list.sort(function(a, b) {
+ var isDirA = (a.type == 'directory'),
+ isDirB = (b.type == 'directory');
+
+ if (isDirA != isDirB)
+ return isDirA &lt; isDirB;
+
+ return a.name > b.name;
+ });
+
+ for (var i = 0; i &lt; list.length; i++) {
+ if (!this.options.show_hidden &amp;&amp; list[i].name.charAt(0) == '.')
+ continue;
+
+ var entrypath = this.canonicalizePath(path + '/' + list[i].name),
+ selected = (entrypath == this.node.lastElementChild.value),
+ mtime = new Date(list[i].mtime * 1000);
+
+ rows.appendChild(E('li', [
+ E('div', { 'class': 'name' }, [
+ this.iconForType(list[i].type),
+ ' ',
+ E('a', {
+ 'href': '#',
+ 'style': selected ? 'font-weight:bold' : null,
+ 'click': L.ui.createHandlerFn(this, 'handleSelect',
+ entrypath, list[i].type != 'directory' ? list[i] : null)
+ }, '%h'.format(list[i].name))
+ ]),
+ E('div', { 'class': 'mtime hide-xs' }, [
+ ' %04d-%02d-%02d %02d:%02d:%02d '.format(
+ mtime.getFullYear(),
+ mtime.getMonth() + 1,
+ mtime.getDate(),
+ mtime.getHours(),
+ mtime.getMinutes(),
+ mtime.getSeconds())
+ ]),
+ E('div', [
+ selected ? E('button', {
+ 'class': 'btn',
+ 'click': L.ui.createHandlerFn(this, 'handleReset')
+ }, [ _('Deselect') ]) : '',
+ this.options.enable_remove ? E('button', {
+ 'class': 'btn cbi-button-negative',
+ 'click': L.ui.createHandlerFn(this, 'handleDelete', entrypath, list[i])
+ }, [ _('Delete') ]) : ''
+ ])
+ ]));
+ }
+
+ if (!rows.firstElementChild)
+ rows.appendChild(E('em', _('No entries in this directory')));
+
+ var dirs = this.splitPath(path),
+ cur = '';
+
+ for (var i = 0; i &lt; dirs.length; i++) {
+ cur = cur ? cur + '/' + dirs[i] : dirs[i];
+ L.dom.append(breadcrumb, [
+ i ? ' » ' : '',
+ E('a', {
+ 'href': '#',
+ 'click': L.ui.createHandlerFn(this, 'handleSelect', cur || '/', null)
+ }, dirs[i] != '' ? '%h'.format(dirs[i]) : E('em', '(root)')),
+ ]);
+ }
+
+ L.dom.content(container, [
+ breadcrumb,
+ rows,
+ E('div', { 'class': 'right' }, [
+ this.renderUpload(path, list),
+ E('a', {
+ 'href': '#',
+ 'class': 'btn',
+ 'click': L.ui.createHandlerFn(this, 'handleCancel')
+ }, _('Cancel'))
+ ]),
+ ]);
+ },
+
+ /** @private */
+ handleCancel: function(ev) {
+ var button = this.node.firstElementChild,
+ browser = button.nextElementSibling;
+
+ browser.classList.remove('open');
+ button.style.display = '';
+
+ this.node.dispatchEvent(new CustomEvent('cbi-fileupload-cancel', {}));
+
+ ev.preventDefault();
+ },
+
+ /** @private */
+ handleReset: function(ev) {
+ var button = this.node.firstElementChild,
+ hidden = this.node.lastElementChild;
+
+ hidden.value = '';
+ L.dom.content(button, _('Select file…'));
+
+ this.handleCancel(ev);
+ },
+
+ /** @private */
+ handleSelect: function(path, fileStat, ev) {
+ var browser = L.dom.parent(ev.target, '.cbi-filebrowser'),
+ ul = browser.querySelector('ul');
+
+ if (fileStat == null) {
+ L.dom.content(ul, E('em', { 'class': 'spinning' }, _('Loading directory contents…')));
+ L.resolveDefault(fs.list(path), []).then(L.bind(this.renderListing, this, browser, path));
+ }
+ else {
+ var button = this.node.firstElementChild,
+ hidden = this.node.lastElementChild;
+
+ path = this.canonicalizePath(path);
+
+ L.dom.content(button, [
+ this.iconForType(fileStat.type),
+ ' %s (%1000mB)'.format(this.truncatePath(path), fileStat.size)
+ ]);
+
+ browser.classList.remove('open');
+ button.style.display = '';
+ hidden.value = path;
+
+ this.stat = Object.assign({ path: path }, fileStat);
+ this.node.dispatchEvent(new CustomEvent('cbi-fileupload-select', { detail: this.stat }));
+ }
+ },
+
+ /** @private */
+ handleFileBrowser: function(ev) {
+ var button = ev.target,
+ browser = button.nextElementSibling,
+ path = this.stat ? this.stat.path.replace(/\/[^\/]+$/, '') : (this.options.initial_directory || this.options.root_directory);
+
+ if (path.indexOf(this.options.root_directory) != 0)
+ path = this.options.root_directory;
+
+ ev.preventDefault();
+
+ return L.resolveDefault(fs.list(path), []).then(L.bind(function(button, browser, path, list) {
+ document.querySelectorAll('.cbi-filebrowser.open').forEach(function(browserEl) {
+ L.dom.findClassInstance(browserEl).handleCancel(ev);
+ });
+
+ button.style.display = 'none';
+ browser.classList.add('open');
+
+ return this.renderListing(browser, path, list);
+ }, this, button, browser, path));
+ },
+
+ /** @override */
+ getValue: function() {
+ return this.node.lastElementChild.value;
+ },
+
+ /** @override */
+ setValue: function(value) {
+ this.node.lastElementChild.value = value;
+ }
+});
+
+/**
+ * @class ui
+ * @memberof LuCI
+ * @hideconstructor
+ * @classdesc
+ *
+ * Provides high level UI helper functionality.
+ * To import the class in views, use `'require ui'`, to import it in
+ * external JavaScript, use `L.require("ui").then(...)`.
+ */
+return L.Class.extend(/** @lends LuCI.ui.prototype */ {
+ __init__: function() {
+ modalDiv = document.body.appendChild(
+ L.dom.create('div', { id: 'modal_overlay' },
+ L.dom.create('div', { class: 'modal', role: 'dialog', 'aria-modal': true })));
+
+ tooltipDiv = document.body.appendChild(
+ L.dom.create('div', { class: 'cbi-tooltip' }));
+
+ /* setup old aliases */
+ L.showModal = this.showModal;
+ L.hideModal = this.hideModal;
+ L.showTooltip = this.showTooltip;
+ L.hideTooltip = this.hideTooltip;
+ L.itemlist = this.itemlist;
+
+ document.addEventListener('mouseover', this.showTooltip.bind(this), true);
+ document.addEventListener('mouseout', this.hideTooltip.bind(this), true);
+ document.addEventListener('focus', this.showTooltip.bind(this), true);
+ document.addEventListener('blur', this.hideTooltip.bind(this), true);
+
+ document.addEventListener('luci-loaded', this.tabs.init.bind(this.tabs));
+ document.addEventListener('luci-loaded', this.changes.init.bind(this.changes));
+ document.addEventListener('uci-loaded', this.changes.init.bind(this.changes));
+ },
+
+ /**
+ * Display a modal overlay dialog with the specified contents.
+ *
+ * The modal overlay dialog covers the current view preventing interaction
+ * with the underlying view contents. Only one modal dialog instance can
+ * be opened. Invoking showModal() while a modal dialog is already open will
+ * replace the open dialog with a new one having the specified contents.
+ *
+ * Additional CSS class names may be passed to influence the appearence of
+ * the dialog. Valid values for the classes depend on the underlying theme.
+ *
+ * @see LuCI.dom.content
+ *
+ * @param {string} [title]
+ * The title of the dialog. If `null`, no title element will be rendered.
+ *
+ * @param {*} contents
+ * The contents to add to the modal dialog. This should be a DOM node or
+ * a document fragment in most cases. The value is passed as-is to the
+ * `L.dom.content()` function - refer to its documentation for applicable
+ * values.
+ *
+ * @param {...string} [classes]
+ * A number of extra CSS class names which are set on the modal dialog
+ * element.
+ *
+ * @returns {Node}
+ * Returns a DOM Node representing the modal dialog element.
+ */
+ showModal: function(title, children /* , ... */) {
+ var dlg = modalDiv.firstElementChild;
+
+ dlg.setAttribute('class', 'modal');
+
+ for (var i = 2; i &lt; arguments.length; i++)
+ dlg.classList.add(arguments[i]);
+
+ L.dom.content(dlg, L.dom.create('h4', {}, title));
+ L.dom.append(dlg, children);
+
+ document.body.classList.add('modal-overlay-active');
+
+ return dlg;
+ },
+
+ /**
+ * Close the open modal overlay dialog.
+ *
+ * This function will close an open modal dialog and restore the normal view
+ * behaviour. It has no effect if no modal dialog is currently open.
+ *
+ * Note that this function is stand-alone, it does not rely on `this` and
+ * will not invoke other class functions so it suitable to be used as event
+ * handler as-is without the need to bind it first.
+ */
+ hideModal: function() {
+ document.body.classList.remove('modal-overlay-active');
+ },
+
+ /** @private */
+ showTooltip: function(ev) {
+ var target = findParent(ev.target, '[data-tooltip]');
+
+ if (!target)
+ return;
+
+ if (tooltipTimeout !== null) {
+ window.clearTimeout(tooltipTimeout);
+ tooltipTimeout = null;
+ }
+
+ var rect = target.getBoundingClientRect(),
+ x = rect.left + window.pageXOffset,
+ y = rect.top + rect.height + window.pageYOffset;
+
+ tooltipDiv.className = 'cbi-tooltip';
+ tooltipDiv.innerHTML = '▲ ';
+ tooltipDiv.firstChild.data += target.getAttribute('data-tooltip');
+
+ if (target.hasAttribute('data-tooltip-style'))
+ tooltipDiv.classList.add(target.getAttribute('data-tooltip-style'));
+
+ if ((y + tooltipDiv.offsetHeight) > (window.innerHeight + window.pageYOffset)) {
+ y -= (tooltipDiv.offsetHeight + target.offsetHeight);
+ tooltipDiv.firstChild.data = '▼ ' + tooltipDiv.firstChild.data.substr(2);
+ }
+
+ tooltipDiv.style.top = y + 'px';
+ tooltipDiv.style.left = x + 'px';
+ tooltipDiv.style.opacity = 1;
+
+ tooltipDiv.dispatchEvent(new CustomEvent('tooltip-open', {
+ bubbles: true,
+ detail: { target: target }
+ }));
+ },
+
+ /** @private */
+ hideTooltip: function(ev) {
+ if (ev.target === tooltipDiv || ev.relatedTarget === tooltipDiv ||
+ tooltipDiv.contains(ev.target) || tooltipDiv.contains(ev.relatedTarget))
+ return;
+
+ if (tooltipTimeout !== null) {
+ window.clearTimeout(tooltipTimeout);
+ tooltipTimeout = null;
+ }
+
+ tooltipDiv.style.opacity = 0;
+ tooltipTimeout = window.setTimeout(function() { tooltipDiv.removeAttribute('style'); }, 250);
+
+ tooltipDiv.dispatchEvent(new CustomEvent('tooltip-close', { bubbles: true }));
+ },
+
+ /**
+ * Add a notification banner at the top of the current view.
+ *
+ * A notification banner is an alert message usually displayed at the
+ * top of the current view, spanning the entire availibe width.
+ * Notification banners will stay in place until dismissed by the user.
+ * Multiple banners may be shown at the same time.
+ *
+ * Additional CSS class names may be passed to influence the appearence of
+ * the banner. Valid values for the classes depend on the underlying theme.
+ *
+ * @see LuCI.dom.content
+ *
+ * @param {string} [title]
+ * The title of the notification banner. If `null`, no title element
+ * will be rendered.
+ *
+ * @param {*} contents
+ * The contents to add to the notification banner. This should be a DOM
+ * node or a document fragment in most cases. The value is passed as-is
+ * to the `L.dom.content()` function - refer to its documentation for
+ * applicable values.
+ *
+ * @param {...string} [classes]
+ * A number of extra CSS class names which are set on the notification
+ * banner element.
+ *
+ * @returns {Node}
+ * Returns a DOM Node representing the notification banner element.
+ */
+ addNotification: function(title, children /*, ... */) {
+ var mc = document.querySelector('#maincontent') || document.body;
+ var msg = E('div', {
+ 'class': 'alert-message fade-in',
+ 'style': 'display:flex',
+ 'transitionend': function(ev) {
+ var node = ev.currentTarget;
+ if (node.parentNode &amp;&amp; node.classList.contains('fade-out'))
+ node.parentNode.removeChild(node);
+ }
+ }, [
+ E('div', { 'style': 'flex:10' }),
+ E('div', { 'style': 'flex:1 1 auto; display:flex' }, [
+ E('button', {
+ 'class': 'btn',
+ 'style': 'margin-left:auto; margin-top:auto',
+ 'click': function(ev) {
+ L.dom.parent(ev.target, '.alert-message').classList.add('fade-out');
+ },
+
+ }, [ _('Dismiss') ])
+ ])
+ ]);
+
+ if (title != null)
+ L.dom.append(msg.firstElementChild, E('h4', {}, title));
+
+ L.dom.append(msg.firstElementChild, children);
+
+ for (var i = 2; i &lt; arguments.length; i++)
+ msg.classList.add(arguments[i]);
+
+ mc.insertBefore(msg, mc.firstElementChild);
+
+ return msg;
+ },
+
+ /**
+ * Display or update an header area indicator.
+ *
+ * An indicator is a small label displayed in the header area of the screen
+ * providing few amounts of status information such as item counts or state
+ * toggle indicators.
+ *
+ * Multiple indicators may be shown at the same time and indicator labels
+ * may be made clickable to display extended information or to initiate
+ * further actions.
+ *
+ * Indicators can either use a default `active` or a less accented `inactive`
+ * style which is useful for indicators representing state toggles.
+ *
+ * @param {string} id
+ * The ID of the indicator. If an indicator with the given ID already exists,
+ * it is updated with the given label and style.
+ *
+ * @param {string} label
+ * The text to display in the indicator label.
+ *
+ * @param {function} [handler]
+ * A handler function to invoke when the indicator label is clicked/touched
+ * by the user. If omitted, the indicator is not clickable/touchable.
+ *
+ * Note that this parameter only applies to new indicators, when updating
+ * existing labels it is ignored.
+ *
+ * @param {string} [style=active]
+ * The indicator style to use. May be either `active` or `inactive`.
+ *
+ * @returns {boolean}
+ * Returns `true` when the indicator has been updated or `false` when no
+ * changes were made.
+ */
+ showIndicator: function(id, label, handler, style) {
+ if (indicatorDiv == null) {
+ indicatorDiv = document.body.querySelector('#indicators');
+
+ if (indicatorDiv == null)
+ return false;
+ }
+
+ var handlerFn = (typeof(handler) == 'function') ? handler : null,
+ indicatorElem = indicatorDiv.querySelector('span[data-indicator="%s"]'.format(id)) ||
+ indicatorDiv.appendChild(E('span', {
+ 'data-indicator': id,
+ 'data-clickable': handlerFn ? true : null,
+ 'click': handlerFn
+ }, ['']));
+
+ if (label == indicatorElem.firstChild.data &amp;&amp; style == indicatorElem.getAttribute('data-style'))
+ return false;
+
+ indicatorElem.firstChild.data = label;
+ indicatorElem.setAttribute('data-style', (style == 'inactive') ? 'inactive' : 'active');
+ return true;
+ },
+
+ /**
+ * Remove an header area indicator.
+ *
+ * This function removes the given indicator label from the header indicator
+ * area. When the given indicator is not found, this function does nothing.
+ *
+ * @param {string} id
+ * The ID of the indicator to remove.
+ *
+ * @returns {boolean}
+ * Returns `true` when the indicator has been removed or `false` when the
+ * requested indicator was not found.
+ */
+ hideIndicator: function(id) {
+ var indicatorElem = indicatorDiv ? indicatorDiv.querySelector('span[data-indicator="%s"]'.format(id)) : null;
+
+ if (indicatorElem == null)
+ return false;
+
+ indicatorDiv.removeChild(indicatorElem);
+ return true;
+ },
+
+ /**
+ * Formats a series of label/value pairs into list-like markup.
+ *
+ * This function transforms a flat array of alternating label and value
+ * elements into a list-like markup, using the values in `separators` as
+ * separators and appends the resulting nodes to the given parent DOM node.
+ *
+ * Each label is suffixed with `: ` and wrapped into a `&lt;strong>` tag, the
+ * `&lt;strong>` element and the value corresponding to the label are
+ * subsequently wrapped into a `&lt;span class="nowrap">` element.
+ *
+ * The resulting `&lt;span>` element tuples are joined by the given separators
+ * to form the final markup which is appened to the given parent DOM node.
+ *
+ * @param {Node} node
+ * The parent DOM node to append the markup to. Any previous child elements
+ * will be removed.
+ *
+ * @param {Array&lt;*>} items
+ * An alternating array of labels and values. The label values will be
+ * converted to plain strings, the values are used as-is and may be of
+ * any type accepted by `LuCI.dom.content()`.
+ *
+ * @param {*|Array&lt;*>} [separators=[E('br')]]
+ * A single value or an array of separator values to separate each
+ * label/value pair with. The function will cycle through the separators
+ * when joining the pairs. If omitted, the default separator is a sole HTML
+ * `&lt;br>` element. Separator values are used as-is and may be of any type
+ * accepted by `LuCI.dom.content()`.
+ *
+ * @returns {Node}
+ * Returns the parent DOM node the formatted markup has been added to.
+ */
+ itemlist: function(node, items, separators) {
+ var children = [];
+
+ if (!Array.isArray(separators))
+ separators = [ separators || E('br') ];
+
+ for (var i = 0; i &lt; items.length; i += 2) {
+ if (items[i+1] !== null &amp;&amp; items[i+1] !== undefined) {
+ var sep = separators[(i/2) % separators.length],
+ cld = [];
+
+ children.push(E('span', { class: 'nowrap' }, [
+ items[i] ? E('strong', items[i] + ': ') : '',
+ items[i+1]
+ ]));
+
+ if ((i+2) &lt; items.length)
+ children.push(L.dom.elem(sep) ? sep.cloneNode(true) : sep);
+ }
+ }
+
+ L.dom.content(node, children);
+
+ return node;
+ },
+
+ /**
+ * @class
+ * @memberof LuCI.ui
+ * @hideconstructor
+ * @classdesc
+ *
+ * The `tabs` class handles tab menu groups used throughout the view area.
+ * It takes care of setting up tab groups, tracking their state and handling
+ * related events.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.tabs`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `tabs` property of the class instance value.
+ */
+ tabs: L.Class.singleton(/* @lends LuCI.ui.tabs.prototype */ {
+ /** @private */
+ init: function() {
+ var groups = [], prevGroup = null, currGroup = null;
+
+ document.querySelectorAll('[data-tab]').forEach(function(tab) {
+ var parent = tab.parentNode;
+
+ if (L.dom.matches(tab, 'li') &amp;&amp; L.dom.matches(parent, 'ul.cbi-tabmenu'))
+ return;
+
+ if (!parent.hasAttribute('data-tab-group'))
+ parent.setAttribute('data-tab-group', groups.length);
+
+ currGroup = +parent.getAttribute('data-tab-group');
+
+ if (currGroup !== prevGroup) {
+ prevGroup = currGroup;
+
+ if (!groups[currGroup])
+ groups[currGroup] = [];
+ }
+
+ groups[currGroup].push(tab);
+ });
+
+ for (var i = 0; i &lt; groups.length; i++)
+ this.initTabGroup(groups[i]);
+
+ document.addEventListener('dependency-update', this.updateTabs.bind(this));
+
+ this.updateTabs();
+ },
+
+ /**
+ * Initializes a new tab group from the given tab pane collection.
+ *
+ * This function cycles through the given tab pane DOM nodes, extracts
+ * their tab IDs, titles and active states, renders a corresponding
+ * tab menu and prepends it to the tab panes common parent DOM node.
+ *
+ * The tab menu labels will be set to the value of the `data-tab-title`
+ * attribute of each corresponding pane. The last pane with the
+ * `data-tab-active` attribute set to `true` will be selected by default.
+ *
+ * If no pane is marked as active, the first one will be preselected.
+ *
+ * @instance
+ * @memberof LuCI.ui.tabs
+ * @param {Array&lt;Node>|NodeList} panes
+ * A collection of tab panes to build a tab group menu for. May be a
+ * plain array of DOM nodes or a NodeList collection, such as the result
+ * of a `querySelectorAll()` call or the `.childNodes` property of a
+ * DOM node.
+ */
+ initTabGroup: function(panes) {
+ if (typeof(panes) != 'object' || !('length' in panes) || panes.length === 0)
+ return;
+
+ var menu = E('ul', { 'class': 'cbi-tabmenu' }),
+ group = panes[0].parentNode,
+ groupId = +group.getAttribute('data-tab-group'),
+ selected = null;
+
+ if (group.getAttribute('data-initialized') === 'true')
+ return;
+
+ for (var i = 0, pane; pane = panes[i]; i++) {
+ var name = pane.getAttribute('data-tab'),
+ title = pane.getAttribute('data-tab-title'),
+ active = pane.getAttribute('data-tab-active') === 'true';
+
+ menu.appendChild(E('li', {
+ 'style': this.isEmptyPane(pane) ? 'display:none' : null,
+ 'class': active ? 'cbi-tab' : 'cbi-tab-disabled',
+ 'data-tab': name
+ }, E('a', {
+ 'href': '#',
+ 'click': this.switchTab.bind(this)
+ }, title)));
+
+ if (active)
+ selected = i;
+ }
+
+ group.parentNode.insertBefore(menu, group);
+ group.setAttribute('data-initialized', true);
+
+ if (selected === null) {
+ selected = this.getActiveTabId(panes[0]);
+
+ if (selected &lt; 0 || selected >= panes.length || this.isEmptyPane(panes[selected])) {
+ for (var i = 0; i &lt; panes.length; i++) {
+ if (!this.isEmptyPane(panes[i])) {
+ selected = i;
+ break;
+ }
+ }
+ }
+
+ menu.childNodes[selected].classList.add('cbi-tab');
+ menu.childNodes[selected].classList.remove('cbi-tab-disabled');
+ panes[selected].setAttribute('data-tab-active', 'true');
+
+ this.setActiveTabId(panes[selected], selected);
+ }
+
+ panes[selected].dispatchEvent(new CustomEvent('cbi-tab-active', {
+ detail: { tab: panes[selected].getAttribute('data-tab') }
+ }));
+
+ this.updateTabs(group);
+ },
+
+ /**
+ * Checks whether the given tab pane node is empty.
+ *
+ * @instance
+ * @memberof LuCI.ui.tabs
+ * @param {Node} pane
+ * The tab pane to check.
+ *
+ * @returns {boolean}
+ * Returns `true` if the pane is empty, else `false`.
+ */
+ isEmptyPane: function(pane) {
+ return L.dom.isEmpty(pane, function(n) { return n.classList.contains('cbi-tab-descr') });
+ },
+
+ /** @private */
+ getPathForPane: function(pane) {
+ var path = [], node = null;
+
+ for (node = pane ? pane.parentNode : null;
+ node != null &amp;&amp; node.hasAttribute != null;
+ node = node.parentNode)
+ {
+ if (node.hasAttribute('data-tab'))
+ path.unshift(node.getAttribute('data-tab'));
+ else if (node.hasAttribute('data-section-id'))
+ path.unshift(node.getAttribute('data-section-id'));
+ }
+
+ return path.join('/');
+ },
+
+ /** @private */
+ getActiveTabState: function() {
+ var page = document.body.getAttribute('data-page');
+
+ try {
+ var val = JSON.parse(window.sessionStorage.getItem('tab'));
+ if (val.page === page &amp;&amp; L.isObject(val.paths))
+ return val;
+ }
+ catch(e) {}
+
+ window.sessionStorage.removeItem('tab');
+ return { page: page, paths: {} };
+ },
+
+ /** @private */
+ getActiveTabId: function(pane) {
+ var path = this.getPathForPane(pane);
+ return +this.getActiveTabState().paths[path] || 0;
+ },
+
+ /** @private */
+ setActiveTabId: function(pane, tabIndex) {
+ var path = this.getPathForPane(pane);
+
+ try {
+ var state = this.getActiveTabState();
+ state.paths[path] = tabIndex;
+
+ window.sessionStorage.setItem('tab', JSON.stringify(state));
+ }
+ catch (e) { return false; }
+
+ return true;
+ },
+
+ /** @private */
+ updateTabs: function(ev, root) {
+ (root || document).querySelectorAll('[data-tab-title]').forEach(L.bind(function(pane) {
+ var menu = pane.parentNode.previousElementSibling,
+ tab = menu ? menu.querySelector('[data-tab="%s"]'.format(pane.getAttribute('data-tab'))) : null,
+ n_errors = pane.querySelectorAll('.cbi-input-invalid').length;
+
+ if (!menu || !tab)
+ return;
+
+ if (this.isEmptyPane(pane)) {
+ tab.style.display = 'none';
+ tab.classList.remove('flash');
+ }
+ else if (tab.style.display === 'none') {
+ tab.style.display = '';
+ requestAnimationFrame(function() { tab.classList.add('flash') });
+ }
+
+ if (n_errors) {
+ tab.setAttribute('data-errors', n_errors);
+ tab.setAttribute('data-tooltip', _('%d invalid field(s)').format(n_errors));
+ tab.setAttribute('data-tooltip-style', 'error');
+ }
+ else {
+ tab.removeAttribute('data-errors');
+ tab.removeAttribute('data-tooltip');
+ }
+ }, this));
+ },
+
+ /** @private */
+ switchTab: function(ev) {
+ var tab = ev.target.parentNode,
+ name = tab.getAttribute('data-tab'),
+ menu = tab.parentNode,
+ group = menu.nextElementSibling,
+ groupId = +group.getAttribute('data-tab-group'),
+ index = 0;
+
+ ev.preventDefault();
+
+ if (!tab.classList.contains('cbi-tab-disabled'))
+ return;
+
+ menu.querySelectorAll('[data-tab]').forEach(function(tab) {
+ tab.classList.remove('cbi-tab');
+ tab.classList.remove('cbi-tab-disabled');
+ tab.classList.add(
+ tab.getAttribute('data-tab') === name ? 'cbi-tab' : 'cbi-tab-disabled');
+ });
+
+ group.childNodes.forEach(function(pane) {
+ if (L.dom.matches(pane, '[data-tab]')) {
+ if (pane.getAttribute('data-tab') === name) {
+ pane.setAttribute('data-tab-active', 'true');
+ pane.dispatchEvent(new CustomEvent('cbi-tab-active', { detail: { tab: name } }));
+ L.ui.tabs.setActiveTabId(pane, index);
+ }
+ else {
+ pane.setAttribute('data-tab-active', 'false');
+ }
+
+ index++;
+ }
+ });
+ }
+ }),
+
+ /**
+ * @typedef {Object} FileUploadReply
+ * @memberof LuCI.ui
+
+ * @property {string} name - Name of the uploaded file without directory components
+ * @property {number} size - Size of the uploaded file in bytes
+ * @property {string} checksum - The MD5 checksum of the received file data
+ * @property {string} sha256sum - The SHA256 checksum of the received file data
+ */
+
+ /**
+ * Display a modal file upload prompt.
+ *
+ * This function opens a modal dialog prompting the user to select and
+ * upload a file to a predefined remote destination path.
+ *
+ * @param {string} path
+ * The remote file path to upload the local file to.
+ *
+ * @param {Node} [progessStatusNode]
+ * An optional DOM text node whose content text is set to the progress
+ * percentage value during file upload.
+ *
+ * @returns {Promise&lt;LuCI.ui.FileUploadReply>}
+ * Returns a promise resolving to a file upload status object on success
+ * or rejecting with an error in case the upload failed or has been
+ * cancelled by the user.
+ */
+ uploadFile: function(path, progressStatusNode) {
+ return new Promise(function(resolveFn, rejectFn) {
+ L.ui.showModal(_('Uploading file…'), [
+ E('p', _('Please select the file to upload.')),
+ E('div', { 'style': 'display:flex' }, [
+ E('div', { 'class': 'left', 'style': 'flex:1' }, [
+ E('input', {
+ type: 'file',
+ style: 'display:none',
+ change: function(ev) {
+ var modal = L.dom.parent(ev.target, '.modal'),
+ body = modal.querySelector('p'),
+ upload = modal.querySelector('.cbi-button-action.important'),
+ file = ev.currentTarget.files[0];
+
+ if (file == null)
+ return;
+
+ L.dom.content(body, [
+ E('ul', {}, [
+ E('li', {}, [ '%s: %s'.format(_('Name'), file.name.replace(/^.*[\\\/]/, '')) ]),
+ E('li', {}, [ '%s: %1024mB'.format(_('Size'), file.size) ])
+ ])
+ ]);
+
+ upload.disabled = false;
+ upload.focus();
+ }
+ }),
+ E('button', {
+ 'class': 'btn',
+ 'click': function(ev) {
+ ev.target.previousElementSibling.click();
+ }
+ }, [ _('Browse…') ])
+ ]),
+ E('div', { 'class': 'right', 'style': 'flex:1' }, [
+ E('button', {
+ 'class': 'btn',
+ 'click': function() {
+ L.ui.hideModal();
+ rejectFn(new Error('Upload has been cancelled'));
+ }
+ }, [ _('Cancel') ]),
+ ' ',
+ E('button', {
+ 'class': 'btn cbi-button-action important',
+ 'disabled': true,
+ 'click': function(ev) {
+ var input = L.dom.parent(ev.target, '.modal').querySelector('input[type="file"]');
+
+ if (!input.files[0])
+ return;
+
+ var progress = E('div', { 'class': 'cbi-progressbar', 'title': '0%' }, E('div', { 'style': 'width:0' }));
+
+ L.ui.showModal(_('Uploading file…'), [ progress ]);
+
+ var data = new FormData();
+
+ data.append('sessionid', rpc.getSessionID());
+ data.append('filename', path);
+ data.append('filedata', input.files[0]);
+
+ var filename = input.files[0].name;
+
+ L.Request.post(L.env.cgi_base + '/cgi-upload', data, {
+ timeout: 0,
+ progress: function(pev) {
+ var percent = (pev.loaded / pev.total) * 100;
+
+ if (progressStatusNode)
+ progressStatusNode.data = '%.2f%%'.format(percent);
+
+ progress.setAttribute('title', '%.2f%%'.format(percent));
+ progress.firstElementChild.style.width = '%.2f%%'.format(percent);
+ }
+ }).then(function(res) {
+ var reply = res.json();
+
+ L.ui.hideModal();
+
+ if (L.isObject(reply) &amp;&amp; reply.failure) {
+ L.ui.addNotification(null, E('p', _('Upload request failed: %s').format(reply.message)));
+ rejectFn(new Error(reply.failure));
+ }
+ else {
+ reply.name = filename;
+ resolveFn(reply);
+ }
+ }, function(err) {
+ L.ui.hideModal();
+ rejectFn(err);
+ });
+ }
+ }, [ _('Upload') ])
+ ])
+ ])
+ ]);
+ });
+ },
+
+ /**
+ * Perform a device connectivity test.
+ *
+ * Attempt to fetch a well known ressource from the remote device via HTTP
+ * in order to test connectivity. This function is mainly useful to wait
+ * for the router to come back online after a reboot or reconfiguration.
+ *
+ * @param {string} [proto=http]
+ * The protocol to use for fetching the resource. May be either `http`
+ * (the default) or `https`.
+ *
+ * @param {string} [host=window.location.host]
+ * Override the host address to probe. By default the current host as seen
+ * in the address bar is probed.
+ *
+ * @returns {Promise&lt;Event>}
+ * Returns a promise resolving to a `load` event in case the device is
+ * reachable or rejecting with an `error` event in case it is not reachable
+ * or rejecting with `null` when the connectivity check timed out.
+ */
+ pingDevice: function(proto, ipaddr) {
+ var target = '%s://%s%s?%s'.format(proto || 'http', ipaddr || window.location.host, L.resource('icons/loading.gif'), Math.random());
+
+ return new Promise(function(resolveFn, rejectFn) {
+ var img = new Image();
+
+ img.onload = resolveFn;
+ img.onerror = rejectFn;
+
+ window.setTimeout(rejectFn, 1000);
+
+ img.src = target;
+ });
+ },
+
+ /**
+ * Wait for device to come back online and reconnect to it.
+ *
+ * Poll each given hostname or IP address and navigate to it as soon as
+ * one of the addresses becomes reachable.
+ *
+ * @param {...string} [hosts=[window.location.host]]
+ * The list of IP addresses and host names to check for reachability.
+ * If omitted, the current value of `window.location.host` is used by
+ * default.
+ */
+ awaitReconnect: function(/* ... */) {
+ var ipaddrs = arguments.length ? arguments : [ window.location.host ];
+
+ window.setTimeout(L.bind(function() {
+ L.Poll.add(L.bind(function() {
+ var tasks = [], reachable = false;
+
+ for (var i = 0; i &lt; 2; i++)
+ for (var j = 0; j &lt; ipaddrs.length; j++)
+ tasks.push(this.pingDevice(i ? 'https' : 'http', ipaddrs[j])
+ .then(function(ev) { reachable = ev.target.src.replace(/^(https?:\/\/[^\/]+).*$/, '$1/') }, function() {}));
+
+ return Promise.all(tasks).then(function() {
+ if (reachable) {
+ L.Poll.stop();
+ window.location = reachable;
+ }
+ });
+ }, this));
+ }, this), 5000);
+ },
+
+ /**
+ * @class
+ * @memberof LuCI.ui
+ * @hideconstructor
+ * @classdesc
+ *
+ * The `changes` class encapsulates logic for visualizing, applying,
+ * confirming and reverting staged UCI changesets.
+ *
+ * This class is automatically instantiated as part of `LuCI.ui`. To use it
+ * in views, use `'require ui'` and refer to `ui.changes`. To import it in
+ * external JavaScript, use `L.require("ui").then(...)` and access the
+ * `changes` property of the class instance value.
+ */
+ changes: L.Class.singleton(/* @lends LuCI.ui.changes.prototype */ {
+ init: function() {
+ if (!L.env.sessionid)
+ return;
+
+ return uci.changes().then(L.bind(this.renderChangeIndicator, this));
+ },
+
+ /**
+ * Set the change count indicator.
+ *
+ * This function updates or hides the UCI change count indicator,
+ * depending on the passed change count. When the count is greater
+ * than 0, the change indicator is displayed or updated, otherwise it
+ * is removed.
+ *
+ * @instance
+ * @memberof LuCI.ui.changes
+ * @param {number} numChanges
+ * The number of changes to indicate.
+ */
+ setIndicator: function(n) {
+ var i = document.querySelector('.uci_change_indicator');
+ if (i == null) {
+ var poll = document.getElementById('xhr_poll_status');
+ i = poll.parentNode.insertBefore(E('a', {
+ 'href': '#',
+ 'class': 'uci_change_indicator label notice',
+ 'click': L.bind(this.displayChanges, this)
+ }), poll);
+ }
+
+ if (n > 0) {
+ L.dom.content(i, [ _('Unsaved Changes'), ': ', n ]);
+ i.classList.add('flash');
+ i.style.display = '';
+ document.dispatchEvent(new CustomEvent('uci-new-changes'));
+ }
+ else {
+ i.classList.remove('flash');
+ i.style.display = 'none';
+ document.dispatchEvent(new CustomEvent('uci-clear-changes'));
+ }
+ },
+
+ /**
+ * Update the change count indicator.
+ *
+ * This function updates the UCI change count indicator from the given
+ * UCI changeset structure.
+ *
+ * @instance
+ * @memberof LuCI.ui.changes
+ * @param {Object&lt;string, Array&lt;LuCI.uci.ChangeRecord>>} changes
+ * The UCI changeset to count.
+ */
+ renderChangeIndicator: function(changes) {
+ var n_changes = 0;
+
+ for (var config in changes)
+ if (changes.hasOwnProperty(config))
+ n_changes += changes[config].length;
+
+ this.changes = changes;
+ this.setIndicator(n_changes);
+ },
+
+ /** @private */
+ changeTemplates: {
+ 'add-3': '&lt;ins>uci add %0 &lt;strong>%3&lt;/strong> # =%2&lt;/ins>',
+ 'set-3': '&lt;ins>uci set %0.&lt;strong>%2&lt;/strong>=%3&lt;/ins>',
+ 'set-4': '&lt;var>&lt;ins>uci set %0.%2.%3=&lt;strong>%4&lt;/strong>&lt;/ins>&lt;/var>',
+ 'remove-2': '&lt;del>uci del %0.&lt;strong>%2&lt;/strong>&lt;/del>',
+ 'remove-3': '&lt;var>&lt;del>uci del %0.%2.&lt;strong>%3&lt;/strong>&lt;/del>&lt;/var>',
+ 'order-3': '&lt;var>uci reorder %0.%2=&lt;strong>%3&lt;/strong>&lt;/var>',
+ 'list-add-4': '&lt;var>&lt;ins>uci add_list %0.%2.%3=&lt;strong>%4&lt;/strong>&lt;/ins>&lt;/var>',
+ 'list-del-4': '&lt;var>&lt;del>uci del_list %0.%2.%3=&lt;strong>%4&lt;/strong>&lt;/del>&lt;/var>',
+ 'rename-3': '&lt;var>uci rename %0.%2=&lt;strong>%3&lt;/strong>&lt;/var>',
+ 'rename-4': '&lt;var>uci rename %0.%2.%3=&lt;strong>%4&lt;/strong>&lt;/var>'
+ },
+
+ /**
+ * Display the current changelog.
+ *
+ * Open a modal dialog visualizing the currently staged UCI changes
+ * and offer options to revert or apply the shown changes.
+ *
+ * @instance
+ * @memberof LuCI.ui.changes
+ */
+ displayChanges: function() {
+ var list = E('div', { 'class': 'uci-change-list' }),
+ dlg = L.ui.showModal(_('Configuration') + ' / ' + _('Changes'), [
+ E('div', { 'class': 'cbi-section' }, [
+ E('strong', _('Legend:')),
+ E('div', { 'class': 'uci-change-legend' }, [
+ E('div', { 'class': 'uci-change-legend-label' }, [
+ E('ins', '&amp;#160;'), ' ', _('Section added') ]),
+ E('div', { 'class': 'uci-change-legend-label' }, [
+ E('del', '&amp;#160;'), ' ', _('Section removed') ]),
+ E('div', { 'class': 'uci-change-legend-label' }, [
+ E('var', {}, E('ins', '&amp;#160;')), ' ', _('Option changed') ]),
+ E('div', { 'class': 'uci-change-legend-label' }, [
+ E('var', {}, E('del', '&amp;#160;')), ' ', _('Option removed') ])]),
+ E('br'), list,
+ E('div', { 'class': 'right' }, [
+ E('button', {
+ 'class': 'btn',
+ 'click': L.ui.hideModal
+ }, [ _('Dismiss') ]), ' ',
+ E('button', {
+ 'class': 'cbi-button cbi-button-positive important',
+ 'click': L.bind(this.apply, this, true)
+ }, [ _('Save &amp; Apply') ]), ' ',
+ E('button', {
+ 'class': 'cbi-button cbi-button-reset',
+ 'click': L.bind(this.revert, this)
+ }, [ _('Revert') ])])])
+ ]);
+
+ for (var config in this.changes) {
+ if (!this.changes.hasOwnProperty(config))
+ continue;
+
+ list.appendChild(E('h5', '# /etc/config/%s'.format(config)));
+
+ for (var i = 0, added = null; i &lt; this.changes[config].length; i++) {
+ var chg = this.changes[config][i],
+ tpl = this.changeTemplates['%s-%d'.format(chg[0], chg.length)];
+
+ list.appendChild(E(tpl.replace(/%([01234])/g, function(m0, m1) {
+ switch (+m1) {
+ case 0:
+ return config;
+
+ case 2:
+ if (added != null &amp;&amp; chg[1] == added[0])
+ return '@' + added[1] + '[-1]';
+ else
+ return chg[1];
+
+ case 4:
+ return "'%h'".format(chg[3].replace(/'/g, "'\"'\"'"));
+
+ default:
+ return chg[m1-1];
+ }
+ })));
+
+ if (chg[0] == 'add')
+ added = [ chg[1], chg[2] ];
+ }
+ }
+
+ list.appendChild(E('br'));
+ dlg.classList.add('uci-dialog');
+ },
+
+ /** @private */
+ displayStatus: function(type, content) {
+ if (type) {
+ var message = L.ui.showModal('', '');
+
+ message.classList.add('alert-message');
+ DOMTokenList.prototype.add.apply(message.classList, type.split(/\s+/));
+
+ if (content)
+ L.dom.content(message, content);
+
+ if (!this.was_polling) {
+ this.was_polling = L.Request.poll.active();
+ L.Request.poll.stop();
+ }
+ }
+ else {
+ L.ui.hideModal();
+
+ if (this.was_polling)
+ L.Request.poll.start();
+ }
+ },
+
+ /** @private */
+ rollback: function(checked) {
+ if (checked) {
+ this.displayStatus('warning spinning',
+ E('p', _('Failed to confirm apply within %ds, waiting for rollback…')
+ .format(L.env.apply_rollback)));
+
+ var call = function(r, data, duration) {
+ if (r.status === 204) {
+ L.ui.changes.displayStatus('warning', [
+ E('h4', _('Configuration changes have been rolled back!')),
+ E('p', _('The device could not be reached within %d seconds after applying the pending changes, which caused the configuration to be rolled back for safety reasons. If you believe that the configuration changes are correct nonetheless, perform an unchecked configuration apply. Alternatively, you can dismiss this warning and edit changes before attempting to apply again, or revert all pending changes to keep the currently working configuration state.').format(L.env.apply_rollback)),
+ E('div', { 'class': 'right' }, [
+ E('button', {
+ 'class': 'btn',
+ 'click': L.bind(L.ui.changes.displayStatus, L.ui.changes, false)
+ }, [ _('Dismiss') ]), ' ',
+ E('button', {
+ 'class': 'btn cbi-button-action important',
+ 'click': L.bind(L.ui.changes.revert, L.ui.changes)
+ }, [ _('Revert changes') ]), ' ',
+ E('button', {
+ 'class': 'btn cbi-button-negative important',
+ 'click': L.bind(L.ui.changes.apply, L.ui.changes, false)
+ }, [ _('Apply unchecked') ])
+ ])
+ ]);
+
+ return;
+ }
+
+ var delay = isNaN(duration) ? 0 : Math.max(1000 - duration, 0);
+ window.setTimeout(function() {
+ L.Request.request(L.url('admin/uci/confirm'), {
+ method: 'post',
+ timeout: L.env.apply_timeout * 1000,
+ query: { sid: L.env.sessionid, token: L.env.token }
+ }).then(call);
+ }, delay);
+ };
+
+ call({ status: 0 });
+ }
+ else {
+ this.displayStatus('warning', [
+ E('h4', _('Device unreachable!')),
+ E('p', _('Could not regain access to the device after applying the configuration changes. You might need to reconnect if you modified network related settings such as the IP address or wireless security credentials.'))
+ ]);
+ }
+ },
+
+ /** @private */
+ confirm: function(checked, deadline, override_token) {
+ var tt;
+ var ts = Date.now();
+
+ this.displayStatus('notice');
+
+ if (override_token)
+ this.confirm_auth = { token: override_token };
+
+ var call = function(r, data, duration) {
+ if (Date.now() >= deadline) {
+ window.clearTimeout(tt);
+ L.ui.changes.rollback(checked);
+ return;
+ }
+ else if (r &amp;&amp; (r.status === 200 || r.status === 204)) {
+ document.dispatchEvent(new CustomEvent('uci-applied'));
+
+ L.ui.changes.setIndicator(0);
+ L.ui.changes.displayStatus('notice',
+ E('p', _('Configuration changes applied.')));
+
+ window.clearTimeout(tt);
+ window.setTimeout(function() {
+ //L.ui.changes.displayStatus(false);
+ window.location = window.location.href.split('#')[0];
+ }, L.env.apply_display * 1000);
+
+ return;
+ }
+
+ var delay = isNaN(duration) ? 0 : Math.max(1000 - duration, 0);
+ window.setTimeout(function() {
+ L.Request.request(L.url('admin/uci/confirm'), {
+ method: 'post',
+ timeout: L.env.apply_timeout * 1000,
+ query: L.ui.changes.confirm_auth
+ }).then(call, call);
+ }, delay);
+ };
+
+ var tick = function() {
+ var now = Date.now();
+
+ L.ui.changes.displayStatus('notice spinning',
+ E('p', _('Applying configuration changes… %ds')
+ .format(Math.max(Math.floor((deadline - Date.now()) / 1000), 0))));
+
+ if (now >= deadline)
+ return;
+
+ tt = window.setTimeout(tick, 1000 - (now - ts));
+ ts = now;
+ };
+
+ tick();
+
+ /* wait a few seconds for the settings to become effective */
+ window.setTimeout(call, Math.max(L.env.apply_holdoff * 1000 - ((ts + L.env.apply_rollback * 1000) - deadline), 1));
+ },
+
+ /**
+ * Apply the staged configuration changes.
+ *
+ * Start applying staged configuration changes and open a modal dialog
+ * with a progress indication to prevent interaction with the view
+ * during the apply process. The modal dialog will be automatically
+ * closed and the current view reloaded once the apply process is
+ * complete.
+ *
+ * @instance
+ * @memberof LuCI.ui.changes
+ * @param {boolean} [checked=false]
+ * Whether to perform a checked (`true`) configuration apply or an
+ * unchecked (`false`) one.
+
+ * In case of a checked apply, the configuration changes must be
+ * confirmed within a specific time interval, otherwise the device
+ * will begin to roll back the changes in order to restore the previous
+ * settings.
+ */
+ apply: function(checked) {
+ this.displayStatus('notice spinning',
+ E('p', _('Starting configuration apply…')));
+
+ L.Request.request(L.url('admin/uci', checked ? 'apply_rollback' : 'apply_unchecked'), {
+ method: 'post',
+ query: { sid: L.env.sessionid, token: L.env.token }
+ }).then(function(r) {
+ if (r.status === (checked ? 200 : 204)) {
+ var tok = null; try { tok = r.json(); } catch(e) {}
+ if (checked &amp;&amp; tok !== null &amp;&amp; typeof(tok) === 'object' &amp;&amp; typeof(tok.token) === 'string')
+ L.ui.changes.confirm_auth = tok;
+
+ L.ui.changes.confirm(checked, Date.now() + L.env.apply_rollback * 1000);
+ }
+ else if (checked &amp;&amp; r.status === 204) {
+ L.ui.changes.displayStatus('notice',
+ E('p', _('There are no changes to apply')));
+
+ window.setTimeout(function() {
+ L.ui.changes.displayStatus(false);
+ }, L.env.apply_display * 1000);
+ }
+ else {
+ L.ui.changes.displayStatus('warning',
+ E('p', _('Apply request failed with status &lt;code>%h&lt;/code>')
+ .format(r.responseText || r.statusText || r.status)));
+
+ window.setTimeout(function() {
+ L.ui.changes.displayStatus(false);
+ }, L.env.apply_display * 1000);
+ }
+ });
+ },
+
+ /**
+ * Revert the staged configuration changes.
+ *
+ * Start reverting staged configuration changes and open a modal dialog
+ * with a progress indication to prevent interaction with the view
+ * during the revert process. The modal dialog will be automatically
+ * closed and the current view reloaded once the revert process is
+ * complete.
+ *
+ * @instance
+ * @memberof LuCI.ui.changes
+ */
+ revert: function() {
+ this.displayStatus('notice spinning',
+ E('p', _('Reverting configuration…')));
+
+ L.Request.request(L.url('admin/uci/revert'), {
+ method: 'post',
+ query: { sid: L.env.sessionid, token: L.env.token }
+ }).then(function(r) {
+ if (r.status === 200) {
+ document.dispatchEvent(new CustomEvent('uci-reverted'));
+
+ L.ui.changes.setIndicator(0);
+ L.ui.changes.displayStatus('notice',
+ E('p', _('Changes have been reverted.')));
+
+ window.setTimeout(function() {
+ //L.ui.changes.displayStatus(false);
+ window.location = window.location.href.split('#')[0];
+ }, L.env.apply_display * 1000);
+ }
+ else {
+ L.ui.changes.displayStatus('warning',
+ E('p', _('Revert request failed with status &lt;code>%h&lt;/code>')
+ .format(r.statusText || r.status)));
+
+ window.setTimeout(function() {
+ L.ui.changes.displayStatus(false);
+ }, L.env.apply_display * 1000);
+ }
+ });
+ }
+ }),
+
+ /**
+ * Add validation constraints to an input element.
+ *
+ * Compile the given type expression and optional validator function into
+ * a validation function and bind it to the specified input element events.
+ *
+ * @param {Node} field
+ * The DOM input element node to bind the validation constraints to.
+ *
+ * @param {string} type
+ * The datatype specification to describe validation constraints.
+ * Refer to the `LuCI.validation` class documentation for details.
+ *
+ * @param {boolean} [optional=false]
+ * Specifies whether empty values are allowed (`true`) or not (`false`).
+ * If an input element is not marked optional it must not be empty,
+ * otherwise it will be marked as invalid.
+ *
+ * @param {function} [vfunc]
+ * Specifies a custom validation function which is invoked after the
+ * other validation constraints are applied. The validation must return
+ * `true` to accept the passed value. Any other return type is converted
+ * to a string and treated as validation error message.
+ *
+ * @param {...string} [events=blur, keyup]
+ * The list of events to bind. Each received event will trigger a field
+ * validation. If omitted, the `keyup` and `blur` events are bound by
+ * default.
+ *
+ * @returns {function}
+ * Returns the compiled validator function which can be used to manually
+ * trigger field validation or to bind it to further events.
+ *
+ * @see LuCI.validation
+ */
+ addValidator: function(field, type, optional, vfunc /*, ... */) {
+ if (type == null)
+ return;
+
+ var events = this.varargs(arguments, 3);
+ if (events.length == 0)
+ events.push('blur', 'keyup');
+
+ try {
+ var cbiValidator = L.validation.create(field, type, optional, vfunc),
+ validatorFn = cbiValidator.validate.bind(cbiValidator);
+
+ for (var i = 0; i &lt; events.length; i++)
+ field.addEventListener(events[i], validatorFn);
+
+ validatorFn();
+
+ return validatorFn;
+ }
+ catch (e) { }
+ },
+
+ /**
+ * Create a pre-bound event handler function.
+ *
+ * Generate and bind a function suitable for use in event handlers. The
+ * generated function automatically disables the event source element
+ * and adds an active indication to it by adding appropriate CSS classes.
+ *
+ * It will also await any promises returned by the wrapped function and
+ * re-enable the source element after the promises ran to completion.
+ *
+ * @param {*} ctx
+ * The `this` context to use for the wrapped function.
+ *
+ * @param {function|string} fn
+ * Specifies the function to wrap. In case of a function value, the
+ * function is used as-is. If a string is specified instead, it is looked
+ * up in `ctx` to obtain the function to wrap. In both cases the bound
+ * function will be invoked with `ctx` as `this` context
+ *
+ * @param {...*} extra_args
+ * Any further parameter as passed as-is to the bound event handler
+ * function in the same order as passed to `createHandlerFn()`.
+ *
+ * @returns {function|null}
+ * Returns the pre-bound handler function which is suitable to be passed
+ * to `addEventListener()`. Returns `null` if the given `fn` argument is
+ * a string which could not be found in `ctx` or if `ctx[fn]` is not a
+ * valid function value.
+ */
+ createHandlerFn: function(ctx, fn /*, ... */) {
+ if (typeof(fn) == 'string')
+ fn = ctx[fn];
+
+ if (typeof(fn) != 'function')
+ return null;
+
+ var arg_offset = arguments.length - 2;
+
+ return Function.prototype.bind.apply(function() {
+ var t = arguments[arg_offset].currentTarget;
+
+ t.classList.add('spinning');
+ t.disabled = true;
+
+ if (t.blur)
+ t.blur();
+
+ Promise.resolve(fn.apply(ctx, arguments)).finally(function() {
+ t.classList.remove('spinning');
+ t.disabled = false;
+ });
+ }, this.varargs(arguments, 2, ctx));
+ },
+
+ AbstractElement: UIElement,
+
+ /* Widgets */
+ Textfield: UITextfield,
+ Textarea: UITextarea,
+ Checkbox: UICheckbox,
+ Select: UISelect,
+ Dropdown: UIDropdown,
+ DynamicList: UIDynamicList,
+ Combobox: UICombobox,
+ ComboButton: UIComboButton,
+ Hiddenfield: UIHiddenfield,
+ FileUpload: UIFileUpload
+});
+</code></pre>
+ </article>
+ </section>
+
+
+
+
+
+
+
+
+ <footer>
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Mar 31 2020 21:30:33 GMT+0200 (Central European Summer Time)
+ </footer>
+ </div>
+</div>
+<script>prettyPrint();</script>
+<script src="scripts/jaguar.js"></script>
+</body>
+</html>